Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../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)