2.3.どのように定義するのか |
DDSの定義サブファイルの定義方法は簡単で、
の2つに別れます。
RPGの定義サブファイルは、プログラム内部では、言ってみれば、相対レコード処理の物理ファイルに対するファイル処理の一つに近いものです。 但し、サブファイルは通常のデータファイルではないので、ディスク上のデータをやり取りするわけではありません。あくまで、サブファイルのデータの格納先は、メモリ内です。よって、サブファイル内のデータをDSPPFMで照会できないし、CLRPFMやINZPFMの対象ともなりません。つまり、表示された画面以外で、レコードの内容を照会したいならば、デバッグによるしかありません。 また、消去や初期化はサブファイル用のコマンド(DDSキーワード)が準備されています。これらは、RPG内でそのキーワードに定義付けされた標識のオン、オフでその機能を実行します。 上記のように、サブファイルは、一種の「相対レコード処理のファイル」ですので、F仕様書で、サブファイル一つに付き、一個の相対レコード番号を格納するフィールドを定義します。このフィールドは、通常のフィールドとは違い、極めて特殊です。ここに、数字をセットして、サブファイルにWRITEすれば、その値が行番号として書き出されます。また、READCやCHAIN命令でサブファイルレコードをゲットすれば、取り出した行番号は、このフィールドの中に入ってきます。つまり、サブファイルのレコード番号(行番号)とRPGプログラムを結び付ける橋渡しをしているわけです。 その他の考慮事項OSはサブファイルのODPを作成します。つまり、サブファイルの情報をINFORMATION DSで取り出せます。 サブファイルサイズ(全体のレコード数)をページサイズ(一ページのレコード数)と同じにする場合と、サブファイルサイズをページサイズより大きくする場合では、RPGの処理方法が異なります。注意してください。 以前のバージョンでは、WINDOWキーワードがなく、どうしてもウィンドウ表示をしたい場合は、KEEP,ASSUME,PUTOVRなどで、ウィンドウ表示をしていましたが、これらでは、サブファイルとともに使用できませんでした。ところが、バージョン2(?覚えていない)以降ではWINDOWキーワードができて、サブファイルも簡単にウィンドウ表示できるようになりました。とても便利です。 |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||