SQLについて

RPGで扱うファイルはF仕様書で定義し、READ/CHAIN/WRITE命令で読み書きすることが続いていたと思います。RPGサイクルを使って読み書き命令を書かないこともありました。まぁ、それはそれで短時間で作れるし、コード行数が少ないので品質の良いプログラムが作れたと思います。

しかし、今の各種プログラミング言語を考えれば、RPG特有の機能を駆使した開発で良いのか疑問に思います。AS400は(抽象的表現ですが)ビジネス環境で使用する最適なマシンだと思います。これからも使い続けていくためには、若い方に興味を持って貰えることが必要です。そのためには「変化」が必要です。

・FF(フリーフォーマット)の採用

・SQL文によるファイル操作

・使いやすい開発支援ツール

ASSGではFFを前提としています。一部にはFFは[MOVEA]や[LOOKUP]が使えないから云々、といった記事もあります。確かに便利な命令ではありますが、FFのメリットの方がはるかに大きいし、いつまでもRPGの特殊命令にしがみつくことは避けた方が良いと思います。20年数年間RPGに携わり、他言語もいくつか憶えた経験から得た私の思いです。

 

 少々前振りが長くなりましたが、今回はSQL文です。SQL文を使い始めた頃の一番の苦労は、デバックです。カーソル処理を行うためSQL文を文字列で作成するのですが、どこかでエラーになると大変です。デバックでSQL文を見ようとしても、1024桁を超えると見えません。デバック用にファイルに書き出してエラー原因を特定していました。そこに手間暇がかかるので、SQL文を作るための補助ツールを作りました。機能的には限定されますが、開発効率や品質アップには貢献できると思います。

 

動画では、2つのファイルをJOINする設定を作り、SQL文の簡易テストとRPG組み込み用の文字列を作成する手順を行っています。

 

youtu.be