例1:IF_STATUSコマンドを使用して、「見つからない」状態のレコードをトラップし、ファンクションを異常終了してエラーを発行します。
FETCH FIELDS(#NAMEINFO) FROM_FILE(NAMES) WITH_KEY(#CUSTNO) IF_STATUS IS_NOT(*OKAY) ABORT MSGTXT('Customer name details not found') ENDIF
これは以下の例と同じです。
FETCH FIELDS(#NAMEINFO) FROM_FILE(NAMES) WITH_KEY(#CUSTNO) IF COND('#IO$STS *NE OK') ABORT MSGTXT('Customer name details not found') ENDIF
例2:上記の例を、(レコードが見つかった場合は)詳細を表示し、それ以外の場合はファンクションを異常終了するよう変更します。
FETCH FIELDS(#NAMEINFO) FROM_FILE(NAMES) WITH_KEY(#CUSTNO) IF_STATUS IS(*OKAY) DISPLAY FIELDS(#NAMEINFO) ELSE ABORT MSGTXT('Customer name details not found') ENDIF
これは以下の例と同じです。
FETCH FIELDS(#NAMEINFO) FROM_FILE(NAMES) WITH_KEY(#CUSTNO) IF COND('#IO$STS = OK') DISPLAY FIELDS(#NAMEINFO) ELSE ABORT MSGTXT('Customer name details not found') ENDIF