最終更新日: 2024.11.26
FFRPG言語徹底解説~RPG開発においてSQLを使用するメリット~
<前回の記事>
FFRPGでのプログラムの呼び出し方
組み込みSQL

SQLはリレーショナルデータベース管理システム(RDBMS)のデータ操作を行う言語です。データの操作を行う言語なので他の言語と組み合わせて使用されます。RPGⅢでもSQLの組み込みが可能ですが、演算項目1、演算項目2にコーディングできる文字数に制限がありSQL文をコーディングするのは大変めんどうでした。FFRPGでは複数行のコーディングが可能なので、コーディングが簡単になりました。今回はFFRPG+組み込みSQLを解説します。
その前に、SQLを使用するメリットを考えてみます。
<RPG開発においてSQLを使用するメリット>
1.「IT系開発者でSQLを知らない人はいない」と言っていいほどメジャーである。
2.RPGでのネイティヴなファイル操作を覚える必要がない。→ 開発者を集めやすい。
3. SQLでのファイルアクセスが早い。
4.結合論理ファイルが不要になる。
5. SQL向けのツールが豊富に存在する。
FFRPG+SQLはRPG開発者不足を打開する手段になりえると言えそうです。
コーディングサンプル

①:受取りパラメータです。
②:ファイルMSYAのフィールド構造をプログラム内に定義します。
③:SQL文です。受け取ったパラメータの範囲の社員コードでレコードを検索します。
④:③で提起したカーソルをオープンします。
⑤:検索したレコードを1件ずつ抽出します。データは②で定義した変数へ保管されます。
⑥:SQLの戻り値先頭2桁が00以外の場合は、正常なのでdsply命令で画面へ表示します。
⑦:カーソルをクローズします。
【実行】

【結果】

まとめ

FFRPGではSQL文の作成が簡単になりました。SQLは並べ替え、グループ、ファイル結合が簡単に定義できます。また対象レコードの条件をSQLに任せることでバグを減らし、RPGはビジネスロジックに専念できます。FFRPG+組み込みSQLでの開発をぜひご検討ください。(江口)
▼次の記事を読む
FFRPG言語徹底解説~ILERPGへのコンバート方法~
執筆者プロフィール

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