変数について

オーケストレーションでは、アクティビティーの入力データと出力データを格納するための一時ストレージの場所として変数を使用できます。

これについて示したのが以下の図のサンプル・オーケストレーションです。
変数のフロー
このオーケストレーションは、実行時に以下のような流れで変数からデータを抽出し、そのデータを変数に格納します。
  1. FTP ディレクトリーのポーリング (FTP Poll Directory)」アクティビティーがポーリングによって FTP サーバーでフラット・ファイルを検出し、そのフラット・ファイルの内容を data 出力パラメーターに配置します。 その data 出力パラメーターは、flatFileRawContent というストリング変数に対応付けられています。
  2. FTP ディレクトリーのポーリング (FTP Poll Directory)」アクティビティーから返されるフラット・ファイル・データは、その flatFileRawContent 変数にストリングとして格納されます。
  3. その flatFileRawContent 変数は、「フラット・ファイルの読み取り」アクティビティーの Data 入力パラメーターに対応付けられています。 フラット・ファイル・データは、「フラット・ファイルの読み取り」アクティビティーによって解析され、そのアクティビティーから XML 出力パラメーターに返されます。
  4. その XML 出力パラメーターは、batchOrderXML フラット・ファイル・スキーマ変数に対応付けられています。 オーケストレーションでは、その batchOrderXML フラット・ファイル・スキーマ変数からデータを利用できるようになります。 例えば、オーケストレーションの「フラット・ファイルの読み取り」アクティビティーの右側にアクティビティーを追加すれば、そのアクティビティーは、そのデータを入力として使用できます。
オーケストレーションが有効と見なされるためには、オーケストレーションで使用する変数を初期化する必要があります。 その中には、「If.. Then」アクティビティーのブランチで初期化する変数も含まれます。 変数は、すべてのブランチで初期化する必要があります。 詳細については、『オーケストレーションの妥当性検査』を参照してください。

変数スコープ

「グループ」、「トライ/キャッチ (Try/Catch)」、「If Then」、「While ループ」、または「For Each」アクティビティー内で定義された変数は、ローカル変数と見なされます。 このような変数が、「グループ」、「トライ/キャッチ (Try/Catch)」、「If Then」、「While ループ」、または「For Each」アクティビティーの外部にある後続の「入力のマップ」タスク・アクティビティーまたは「変数のマップ」アクティビティーの入力として使用される場合、この変数はそれが宣言されたアクティビティーのスコープの外部にあるため、初期化されていないと見なされます。 そのため、これらの変数は、デフォルト値で初期化する必要があります。

デフォルト値の指定について詳しくは、『デフォルト値の指定』セクションを参照してください。

「変数」タブ

変数」タブには、以下のペインがあります。
  • 変数」: マッピング・エディターで使用できる定義済みの変数が表示されます。 「変数」タブの「変数」ペインには、デフォルトで JobInfo という事前定義変数が組み込まれています。
  • <variable> のスキーマ」: 選択した変数のスキーマが表示されます。
  • <variable> を使用するアクティビティー」: オーケストレーションでこの変数を使用しているすべてのアクティビティーが表示されます。
  • <variable> のプロパティー」: ここでは変数のプロパティーを定義または編集したり、デフォルト値を指定したりします。

JobInfo 変数

Studio には、デフォルトで JobInfo という変数が用意されています。 JobInfo ノードの値は、実行時に統合アプライアンスから提供されます。 JobInfo 変数に含まれているノードの定義を以下の表にまとめます。
JobInfo ノード名 データ型 説明
jobId String オーケストレーションのインスタンスに割り当てられているジョブ ID 番号を含みます。 オーケストレーションに含まれているアクティビティーの処理が始まると、オーケストレーションのそのインスタンスにジョブ ID 番号が割り当てられます。 そのジョブ ID 番号は、Web 管理コンソール (WMC) でも確認できます。
jobStartTime XML スキーマ・データ型 xsd:dateTime オーケストレーションのインスタンスが処理を開始した日時を含みます。
注: jobStartTime は、オーケストレーションがメッセージやイベントの処理を開始し、オーケストレーションにジョブ ID 番号が割り当てられた日時です。 jobStartTime は、オーケストレーションが統合アプライアンスにデプロイされて、アクティブになった (メッセージやイベントの処理を開始する準備が整った) 日時ではありません。 例えば、統合アプライアンスにデプロイされている「FTP ディレクトリーのポーリング (FTP Poll Directory)」アクティビティー (スターター・アクティビティー) がオーケストレーションに含まれているとします。 そのオーケストレーションは、アクティブになって、FTP サーバーの特定のディレクトリーにファイルが配置されるのを待ちます。 FTP サーバーの特定のディレクトリーにファイルが配置されたことをオーケストレーションが検出すると、「FTP ディレクトリーのポーリング (FTP Poll Directory)」アクティビティーの処理を開始します。 オーケストレーションが処理を開始すると、その時点の現在日付と時刻が jobStartTime ノードに格納されます。
projectName String 現在のオーケストレーションが含まれているプロジェクトの名前。
configurationName String オーケストレーションの現在のインスタンスに関連付けられている構成の名前。 Web 管理コンソール (WMC) を使用して、プロジェクトのさまざまな構成を作成できます。
orchestrationName String 現在処理中のオーケストレーションの名前。
routerHostName String オーケストレーションの現在のインスタンスを実行している統合アプライアンスのホスト名。
注: JobInfo 変数または JobInfo 変数の各ノードを削除することはできません。