4.2 WEBROUTINEのCALLステートメント
別のWEBROUTINEに実行処理をリダイレクトするために、CALLステートメントを使用することもできます。CALLステートメントはTRANSFERステートメントと基本的に同じですが、CALLの場合は、呼び出し先のWEBROUTINEが呼び出し元のWEBROUTINEに制御を戻し、その時点から実行処理が継続されていく点が異なります。
CALLステートメントには、以下のプロパティがあります。
プロパティ |
説明 |
WEBROUTINE |
転送先のWEBROUTINEの名前を指定します。別のWAMを指定することも可能です。その場合は、WAM名の後にWEBROUTINE名を指定し、その間をピリオドで区切ります(例えば、#PSLSYS.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(#PSLSYS.Browser)
CALL WEBROUTINE(*SERVICE EmployeeBrowse)
CALL WEBROUTINE(*EVALUATE #WEBRTN)