GeneXus は、ビジネス プロセス ダイアグラムのアイコンに関連付けられた GeneXus オブジェクトに対して、項目属性または変数の自動マッピングを行います。
たとえば、あるトランザクションを対話型タスクに関連付けることで、GeneXus はトランザクションの識別子項目属性と同じ名前の関連データを自動的に作成します。
この関連データには、そのトランザクションの主キーと同じ名前およびタイプが設定されます。
主キーに複数の項目属性が含まれている場合、主キーに含まれている各項目属性に対して関連データが作成されます。
Business Process Diagram オブジェクトの [ Relevant Data ] エレメントでは、定義されている関連データを確認できます。
このデータは、変数で構成されていることを示すため、アンパサンド記号の下に表示されています。
関連データ ReservationId を参照する場合は、GeneXus オブジェクトの変数と同様に、ReservationId 項目属性と区別するため、必ず接頭辞としてアンパサンド記号を使用する必要があります。
トランザクションが主キーをパラメーターによってトランザクションで受け取る場合、またはその主キーに基づく項目属性/変数で直接受け取る場合も、関連データとの自動マッピングが行われます。変数は、主キー項目属性と同じ名前である必要があります。
たとえば、Transaction オブジェクトをダイアグラムにドラッグする場合、主キーの値を変数で受け取る
Parm ルールが定義されているかどうかに注意する必要があります。
トランザクションをダイアグラムにドラッグすると、その関連データが作成されます。ただし、Parm ルール内の変数の名前が主キーに含まれている項目属性の名前と一致する場合は、
そのトランザクションが実行されると、変数はその時点の関連データに格納されている値を取得するため、関連データと変数の間でマッピングが行われます。
マッピングは、オブジェクト実行の入力および出力で行われます。つまり、次のようになります:
- Transaction オブジェクトに関連付けられているタスクが実行されると、関連データに格納されている値が、トランザクションの Parm ルール内の変数にコピーされます。トランザクションが実行されると、主キーはその値でインスタンス化されます。
- トランザクション実行中に値が変更された場合は、トランザクションの実行が終了してフローがダイアグラムに戻るとき、その値は対応する関連データを更新します。
Web Panel オブジェクトに関連付けられているタスクのケースでは、Web パネルに Parm ルールがあり、Parm ルール内の変数または項目属性にダイアグラムの関連データと同じ名前がある場合、関連データの自動マッピングが行われます。
変数の場合は、変数の値が自動的に割り当てられます。
このマッピングは、Web パネルのエントリーポイントの値にのみ適用されます。Web パネルの実行終了時、フローがダイアグラムに戻るとき、値は更新されません。
変数の値が変更された場合、次の例のように、
Workflow API メソッドを使用して関連データの更新を手動で行う必要があります。
Procedure オブジェクトに関連付けられているタスクのケースでは、Parm ルール内の変数または項目属性が関連データのマッピングに一致する場合、変数の値が自動的に割り当てられます。
プロシージャーのエントリーポイントとプロシージャーの実行終了時の両方でマッピングされます。プロシージャーが呼び出されると、関連データに格納されている値が Parm ルール内の変数にコピーされます。そしてフローがダイアグラムに戻ると、プロシージャー実行中に値が変更された場合は、その値が対応する関連データを更新します。