RPG

12. サブファイルの表示ページを制御するには?

RPG でサブファイルを使用する場合のテクニックをいくつか紹介する。

  • DDS原始では SFLPAG数より SFLSIZ数を +1大きくしておく。

    こうすれば サブファイルは サブファイル・レコードの追加(WRITE) によって

    いくつでも自動拡張される。

  • DDSの SFLCLRとはサブファイルを CLRPFM のようにクリアーする命令である。

    それに対して SFLBLK とはサブファイルをブランク・レコードで埋め尽くす。

    DDSでは エラー標識で SFLNXTCHG を記述しておいて、RPGではユーザーが

    入力/変更した行を READC (Read Change) で読取るようにする。

    READC であれば ユーザーが実際に何かを入力/変更した行だけを読取るので効率が良くなる。

    READCで読取った行がエラーであれば、エラー標識をON にしてからそのサブファイル・レコードを

    UPDATしておく。

    エラー標識で SFLNXTCHG が指定されているので、ユーザーが何も変更せずに実行キーを

    押した場合でももう一度 READC で読取ることができる。

  • REDAC で取得したサブファイル・レコードのRRN は INFDSで取得できる。

    (INFDS の B 376 377,0 BRRN)

  • DDS の SFLRCDNBR (CURSOR) で指定した RRNに RPG で値を入れてサブファイルを表示すると、

    そのサブファイルレコードを含むページが表示される。

    この方法によって複数ページのサブファイルの表示を制御できる。

  • PANEL-WORKER または PANEL-WORKER Chicago のユーザーであればライブラリー QTRSRC の

    QDSPSRC/ANS004FM と QRPGSRC/ANS004 にサブファイル入力の適切に例を参照することができる。