7.73.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