あるファイルにレコードを追加するファンクションを作成します。
処理対象ファイル
物理ファイル「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コマンドによる表示画面にエラー内容を表示します。