4.2 WEBROUTINEのCALLステートメント

別のWEBROUTINEに実行処理をリダイレクトするために、CALLステートメントを使用することもできます。CALLステートメントはTRANSFERステートメントと基本的に同じですが、CALLの場合は、呼び出し先のWEBROUTINEが呼び出し元のWEBROUTINEに制御を戻し、その時点から実行処理が継続されていく点が異なります。

CALLステートメントには、以下のプロパティがあります。

プロパティ

説明

WEBROUTINE

転送先のWEBROUTINEの名前を指定します。別のWAMを指定することも可能です。その場合は、WAM名の後にWEBROUTINE名を指定し、その間をピリオドで区切ります(例えば、#MYWAM.Browseのように入力します)。

サービス名も指定できます。その場合は、*SERVICE修飾子を接頭辞として使用します。

フィールドから値を取り込むことも可能です。その場合は、*EVALUATE修飾子を接頭辞として使用します。

OnEntry

このプロパティは、ターゲットWEBROUTINEに受信用のフィールドやリストをマップするために使用します。以下のいずれかの値になります。

*MAP_NONE (フィールドやリストのマッピングを行わない)

*MAP_ALL (すべての必要なフィールドやリストのマッピングを行う)

*MAP_LOCAL (WEBROUTINEのWEB_MAPに指定されているフィールドやリストのマッピングだけを行う)

*MAP_SHARED (WEBROUTINEレベルではなく、WAMレベルでWEB_MAPに指定されているフィールドやリストのマッピングだけを行う)

デフォルトは、*MAP_ALLです。

OnExit

このプロパティは、ターゲットWEBROUTINEに送信用のフィールドやリストをマッピングする際に使用します。以下のいずれかの値になります。

*MAP_NONE (フィールドやリストのマッピングを行わない)

*MAP_ALL (すべての必要なフィールドやリストのマッピングを行う)

*MAP_LOCAL (WEBROUTINEのWEB_MAPに指定されているフィールドやリストのマッピングだけを行う)

*MAP_SHARED (WEBROUTINEレベルではなく、WAMレベルでWEB_MAPに指定されているフィールドやリストのマッピングだけを行う)

デフォルトは、*MAP_ALLです。

 

CALLステートメントの例を以下に示します。

CALL WEBROUTINE(Browser)
CALL WEBROUTINE(#MYWAM.Browser)
CALL WEBROUTINE(*SERVICE EmployeeBrowse)
CALL WEBROUTINE(*EVALUATE #WEBRTN)