Page History
[ |../../index.htm#lansa/if_status_e.htm]
現在地:
...
7.75.3 IF_STATUS の使用例
例1:IF例1:IF_STATUSコマンドを使用して、「見つからない」状態のレコードをトラップし、ファンクションを異常終了してエラーを発行します。 FETCH FIELDS
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