7.58.3 IF_STATUSの使用例
例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