SELECT命令を一括実行するツールを作成してみた(RPG,OS/400)

わたしは今は、レガシーシステムの保守運用の仕事をしている。それは80年代の終わりに登場したIBM AS/400シリーズの流れのeSever iSeriesマシン構成上に、2000年頃に本番稼動したシステムだ。OSはi5/OS (OS/400)。


開発言語はRPG(※)。くわしくいうと、システムの元々のパッケージソフトウェアはRPG/400で製作されており、そのためもあって慣行的にILE RPGの使用は禁止されている。また、 DB2リレーショナルデータベースがOSの中核部分に元々組み込まれているのだが、SQLはこれまでは慣行的に利用しておらず、PF(物理ファイル)とLF(論理ファイル)の世界だった。データ内容確認やテスト確認局面ではSQLを使ったほうが便利だと思うが、これまでの担当者は「Query/400」(「DB2 Web Query」ではないよ)という元々のツール一本で仕事していたそうだ。なお、開発のための他の便利そうなツール等は利用不可。(チームに入った当初はテキストエディタもなく、「メモ帳」だった。)



自分は、Queryは昔から苦手で、SQLのほうが使い慣れているし、SQLを使うのは(環境としては使えるので)システ本体に機能を組み込んで使うのでなければ構わないという言質をとっておいて、状況確認やテスト結果確認の局面で利用している。

でも、SELECT命令を一度に順番に大量に実行させる方法がなかった。(私には方法がみつけられなかった)(CREATE PROCEDUREは利用禁止。RUNSQLSTMコマンドではSELECT命令は実行できない。)




というわけでこの日記は、利用可能の手持ちの道具を組み合わせて、SELECT命令を一括実行するツールを作成してみた、という内容の備忘録。


(※)RPG (プログラム言語)


(プロラミング例は、引き続き別の日記で。使用方法は…そのうち追記する)

[プログラミング] SELECT命令一括実行ツールのプログラム例(1/3)
http://d.hatena.ne.jp/saul/20101125/p2
[プログラミング] SELECT命令一括実行ツールのプログラム例(2/3)
http://d.hatena.ne.jp/saul/20101125/p3
[プログラミング] SELECT命令一括実行ツールのプログラム例(3/3)
http://d.hatena.ne.jp/saul/20101125/p4