別の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)