あるファイルにレコードを追加するファンクションを作成します。

処理対象ファイル

物理ファイル「CUSMST」(顧客マスター)

RDMLプログラム

     GROUP_BY   NAME(#CUSTOMER) FIELDS(#CUSTNO #NAME #ADDL1 
           #ADDL2 #ADDL3)
 
BEGIN_LOOP
CHANGE     FIELD(#CUSTOMER) TO(*DEFAULT)
REQUEST    FIELDS(#CUSTOMER) EXIT_KEY(*YES *EXIT)
           MENU_KEY(*YES *MENU)
INSERT     FIELDS(#CUSTOMER) TO_FILE(CUSMST)
           VAL_ERROR(*LASTDIS)
END_LOOP

着目点:

  • BEGIN_LOOP~END_LOOPのブロック内で、ファンクション・キーEXITまたはMENUが押されるまでの間、レコードの追加処理を繰り返します。

  • REQUEST画面ではファンクション・キーEXITとMENUが有効になっており、いずれかのキーを押すとファンクションは終了します。上のプログラム中に示されている、EXIT_KEY、MENU_KEYの各パラメータ値は省略値と同じであり、通常は記述する必要がありません。

  • 同様に、INSERTコマンドのVAL_ERRORパラメータの値は省略値と同じであり、通常は記述する必要がありません。INSERTコマンドで、(ファイル単位またはフィールド単位の)妥当性規則違反を検出した場合、修正を促すため、REQUESTコマンドによる表示画面にエラー内容を表示します。

  • No labels