Page History
[ |../../index.htm#lansa/if_mode_e.htm]
現在地:
...
7.72.2 IF_MODE の使用例
...
以下は、IF_MODEコマンドの例です。
MODEコマンドの例です。 NAMESというファイルに対して単純な照会/追加/更新/削除を行うファンクションを作成します。IF_MODEコマンドを使用して、\[OK\]キーが押されたときの画面のモードを検査します。 GROUP_BY NAME]キーが押されたときの画面のモードを検査します。
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)