FBI BLOG

ブログ記事

最終更新日: 2024.03.05

FFRPGの仕様を解説!

執筆者プロフィール

皆さまこんにちは!
株式会社福岡情報ビジネスセンターの江口です。
今回からFREE FORM RPG(以降、FFRPG)について、あれこれ書かせて頂きます。
簡単な経歴ですが、入社(1987)から1年間はCOBOLプログラムの開発、その後2年ほどバロースBASIC、PROGRESS/2を経てS/36での開発に携わりました。RPG2です。後はS/38(RPG3)、AS/400(RPG3・ILERPG)と順当にアップデートして現在のIBMiへと続いているので、30年ほどRPG関係の開発を行っています。

<前回の記事>
RPG言語徹底比較

 

仕様書はどこへ行った?

フリーフォームRPGはソースコードの1行目に”**free”と記述することでソースコード全体が自由記述形式としてコンパイラに認識されます。それでは演算仕様書以外の記述はどのようになるのでしょうか。


制御仕様書(H)

制御仕様書は制御ステートメントで記述します。

例では日付を年月日形式と区切り文字に”/”を記述しているので、6桁日付はyy/mm/dd形式で
定義されます。複数のキーワードを指定する場合はキーワードの間にスペースを挿入します。キーワードの
種類、記述方法は「ILERPG解説書」を参照してください。


定義仕様書(D)

定義仕様書は変数定義、定数定義、データ構造定義の3種類に分かれます。

①変数定義

例では4つの変数を定義しています。

変数名 タイプ 桁数
W#CHAR 文字 20バイト
W#DEC ゾーン数字 15桁の整数
W#PACK パック数字 15桁の整数
W#CHAR1 文字 20バイト(W#CHARと同じ属性で定義される)

 

②定数定義

例では2つの定数を定義しています

定数名 タイプ 定数値
C#DEC 数値 100
C#CHAR 文字 ‘FBI’

定数定義の場合、タイプ指定はありません。セットされる定数値の内容で決まります。

 

③データ構造定義

例では3つのサブフィールドを持ったデータ構造DS#AREAを定義しています。

定数名 タイプ 桁数
SF#CODE パック数値 5桁整数
SF#NAME 文字 10桁
SF#TELNO 文字 15桁

 

まとめ

長くなりましたので今回はここで一区切りです。次回は
・プロシジャー・インターフェイス定義
・プロシジャー定義
・プロトタイプ定義
について調べていきます。(江口)

 

▼次の記事を読む

FFRPGでのプログラムの呼び出し方

そんなご質問・ご相談でも大歓迎です!

ITの力で企業の未来を支える

お気軽にお問い合わせください。
お客様のご要望に合わせて、最適なシステムをご提案いたします。

お問い合わせ