Versions Compared

Key

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

[ Image Removed |../../index.htm#lansa/continue_e.htm]
現在地:

...

7.18.3 CONTINUE の使用例

BEGIN_LOOP ループ内で CONTINUE を使用する

SELECT 内で CONTINUE を使用する

Anchor
CONTINUE_EX1
CONTINUE_EX1
BEGIN_LOOP ループ内で CONTINUE を使用する

この例は、BEGIN_LOOP ループ内で CONTINUE コマンドを使用する方法を示しています。

Code Block
DEF_

...

LIST   NAME(#EMPBROSWE)

...

 FIELDS(#EMPNO #SURNAME #GIVENAME #DEPTMENT)

BEGIN_LOOP
REQUEST    FIELDS(#EMPNO)

...

 BROWSELIST(#EMPBROSWE)

...


FETCH      FIELDS(#EMPNO #SURNAME #GIVENAME #DEPTMENT) FROM_FILE(PSLMST)

...

 WITH_KEY(#EMPNO)

...



IF_

...

STATUS  IS_NOT(*OKAY)

...


MESSAGE    MSGTXT('

...

That employee could not be found!')

...


CONTINUE  
ENDIF    

ADD_

...

ENTRY  TO_LIST(#EMPBROSWE)
END_LOOP

...

 

要求された社員番号が見つからない場合、メッセージが発行され、CONTINUE コマンドによってプログラム制御が ADD_ENTRY コマンドにスキップし、REQUEST コマンドでループの先頭に戻ります。

Anchor
CONTINUE_EX2
CONTINUE_EX2
SELECT 内で CONTINUE を使用する

この例は、SELECT ループ内で CONTINUE コマンドを使用する方法を示しています。この例では、追加のユーザー・ファンクション・キーを使用して、選択したレコードを表示したり、必要に応じて削除したりできます。

Code Block
DEF_

...

COND   NAME(*DROPPED)

...

 COND('

...

#IO$KEY =

...

 ''09''')
DEF_

...

LIST   NAME(#EMPBROWSE)

...

 FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME)
DEF_LIST   NAME(#EMPSELECT)

...

 FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME)

SELECT     FIELDS(#EMPBROWSE)

...

 FROM_FILE(PSLMST)

...


DISPLAY    FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME) BROWSELIST(#EMPBROWSE)

...

 USER_KEYS((

...

09 'Drop'))

...


CONTINUE   IF(*DROPPED)
ADD_

...

ENTRY  TO_LIST(#EMPBROWSE)
ADD_

...

ENTRY  TO_LIST(#EMPSELECT)

...


ENDSELECT 
DISPLAY BROWSELIST(#EMPSELECT)

...