7.72.2 IF_MODE の使用例
以下は、IF_MODEコマンドの例です。
NAMESというファイルに対して単純な照会/追加/更新/削除を行うファンクションを作成します。IF_MODEコマンドを使用して、[OK]キーが押されたときの画面のモードを検査します。
GROUP_BY NAME(#NAMEINFO) FIELDS(#CUSTNO #NAME #ADD1 #ADD2 #POSTCD) L10: CHANGE FIELD(#CUSTNO) TO(DEFAULT) MESSAGE MSGTXT('Specify customer to review or use ADD key to add one') L15: SET_MODE TO(*DISPLAY) REQUEST FIELDS(#CUSTNO) ADD_KEY(*YES) Add a new customer to the file ...... IF_MODE IS(ADD) REQUEST FIELDS(#NAMEINFO) INSERT FIELDS(#NAMEINFO) TO_FILE(NAMES) Else review / change / delete an existing customer ELSE FETCH FIELDS(#NAMEINFO) FROM_FILE(NAMES) WITH_KEY(CUSTNO) NOT_FOUND(L15) ISSUE_MSG(YES) DISPLAY FIELDS(#NAMEINFO) CHANGE_KEY(*YES) DELETE_KEY(*YES) IF_MODE IS(*CHANGE) UPDATE FIELDS(#NAMEINFO) IN_FILE(NAMES) ENDIF IF_MODE IS(*DELETE) DELETE FROM_FILE(NAMES) ENDIF ENDIF Go back and request next customer GOTO LABEL(L10)