PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

callプロセス概要

サービス内から他のサービスを呼び出すためのプロセスです。

使用する場面としては、例えばプロセスの分岐が発生するような処理を実行する際に、 条件判定と振り分けのみを行うサービスを作成してその中でcallプロセスを使用し、 実際に処理を行うサービスに処理を委譲するといった場合に使用します。


callフォーマットタイプ書式
(プロセス名
    format_type  call
    (call
        service宣言部(1)
        session_keysセクション(0|1)
        return_keysセクション(0|1)
    )
)

記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)
service宣言部

概要
呼び出したいサービス名を指定します。


session_keysセクション

例:キー名を置き換えずにそのまま渡す場合

(CALL_Service
    format_type	call
    (call
        session_keys    S1,S2
        service         AA_SERVICE
        return_keys     R1,R2
    )
)
例:キー名を置き換えて渡す場合
(CALL_Service
    format_type	call
    (call
        (session_keys
            S1    @MyKey1  ;;ここでのS1,S2はAA_SERVICEに渡すセッションキーを表し、
            S2    @MyKey2  ;;@MyKey1,@MyKey2は呼び出し元のセッション値を表す。
        )
        service         AA_SERVICE
        return_keys     R1,R2
    )
)
概要
呼び出すサービスに渡すセッション値を指定することができます。
このsession_keysセクションで指定したセッション値を渡して他のサービスを呼び出します。

前者の例では、呼び出し時点で持っているセッション値を同じキー名でそのまま渡しています。
後者の例では、別のキー名に置き換えて渡しています。

なお、この記述を省略すると、呼び出し元がもっているセッション値がすべてそのまま渡されてしまいます。
極力session_keysセクションで渡すべき物だけを指定するようにして下さい。


return_keysセクション

例:キー名を置き換えずにそのまま受け取る場合

(CALL_Service
    format_type	call
    (call
    	session_keys	S1,S2
    	service			AA_SERVICE
    	return_keys		R1,R2
    )
)
例:キー名を置き換えて受け取る場合
(CALL_Service
    format_type	call
    (call
    	session_keys	S1,S2
    	service			AA_SERVICE
        (return_keys
            MyKey1    @R1  ;;ここでの@R1,@R2はAA_SERVICEが返したセッション値であり、
            MyKey2    @R2  ;;それらを呼び出し元側のMeyKey1,MeyKey2というキーで受け取る
        )
    )
)
概要
呼び出したサービスから呼び出し元が受け取るセッション値を指定します。

前者の例では、AA_SERVICEが返したセッション値R1,R2を同じキー名で呼び出し元のサービスが受け取ります。
後者の例では、AA_SERVICEが返したセッション値R1,R2を自分用のキー名に置き換えて値を受け取ります。

AA_SERVICE内で作成されたR1,R2以外のセッション値は破棄されます。
よって、呼び出し元のサービスで作成されたセッションキーで同名のセッションキーをAA_SERVICEで使用していてもreturn_keysで指定されていない限り書き換わる事はありません。 但し、session_keysで指定されたセッションキーの内容を変更される可能性はあります。

なお、この記述を省略すると、呼び出したサービスから返されたセッションは破棄されます。



記述例

;;-------------------------------------
;;入力情報
;; @WKFL_ワークフロー申請データ(Updatable)
;;-------------------------------------
(service
    service_name    各種支払申請書を取込する
    service_location    server
    {process
        (受取がまだだったら受け取りする
            (before_condition
                filter  "@WKFL_ワークフロー申請データ/ワークフロー状態種別 != 受取済"
                error   &Skip
            )
            format_type call
            (call
                service "各種申請書を受取する"
            )
        )
        (出金申請書の場合
            (before_condition
                filter  "@WKFL_ワークフロー申請データ/ワークフロー申請種別 = 出金申請書"
                error   &Skip
            )
            format_type call
            (call
                service "出金申請書を取込する"
            )
        )
        (仮払申請書の場合
            (before_condition
                filter  "@WKFL_ワークフロー申請データ/ワークフロー申請種別 = 仮払申請書"
                error   &Skip
            )
            format_type call
            (call
                service "仮払申請書を取込する"
            )
        )
    }
)


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2010-03-19 22:48:07 #$
  • バージョン : $Revision: 4891 $



Copyright © 2006, Atrris Corporation