外部データベースに対してクエリを実行し、その結果をUDAの値として割り当てることができます。
前提条件は以下です。
外部データベースがデータソースとして登録済みである。詳細については、「12.6.1 データベースアクション用のInterstage BPMの設定」を参照してください。
外部データベースのデータモデルが既知であり、SQL文の記述方法を理解している必要があります。
クエリ結果の割り当て先となるユーザ定義属性(UDA)がプロセス定義に1つ以上存在する必要があります。
外部データベースからデータを取得するには、以下の手順に従います。
[プロパティー]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノードを選択します。
[アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
[アクションタイプ一覧]ダイアログが表示されたら、[データベースアクション]を展開します。
[Select SQL]をダブルクリックします。
[データソースの選択]ドロップダウンリストから、DataSourceDefinition.xmlで定義したデータソースを選択します。
注意
定義したデータソースがこのリストに表示されない場合は、DataSourceDefinition.xmlでの設定を確認してください。
SQLのSELECT文を入力します。
このSQL文では、入力変数を疑問符として記述できます。後でそれぞれの入力変数をUDAに関連付けます。
以下の例では、従業員番号で従業員の名前を検索します。クエリ対象のデータベーステーブルはempです。
select empname from emp where empnum=?
図12.38 データソースとSQL SELECT文の指定
[データマッピング]タブを選択します。SQLクエリを変更すると、[データマッピング]タブの情報がクリアされるので注意してください。
SQLクエリに入力変数が含まれている場合は、[UDAから入力へのマップ]領域で、変数をUDAにマップします。
[出力からUDAへのマップ]領域で、SQLクエリの結果に使用するUDAを選択します。
下の例では、EmployeeNumberというUDAがSQLクエリで使用され、EmployeeNameというUDAに結果が格納されます。
図12.39 クエリにUDAを指定して、クエリの結果をUDAにマッピング
注意
SQLクエリが複数の結果を返す場合は、そのうちの1つだけがUDAに割り当てられます。
オプション: [詳細]タブで、[アクション名]にJava Actionのわかりやすい名前と[ノート]にメモを入力します。
[OK]をクリックします。