目次

Search

  1. はじめに
  2. パイプラインのパーティション化について
  3. パーティションポイント
  4. パーティションタイプ
  5. プッシュダウンの最適化
  6. プッシュダウンの最適化およびトランスフォーメーション
  7. リアルタイム処理
  8. コミットポイント
  9. 行エラーのロギング
  10. ワークフローリカバリ
  11. 停止と強制終了
  12. コンカレントワークフロー
  13. グリッド処理
  14. ロードバランサ
  15. ワークフロー変数
  16. セッションのパラメータおよび変数
  17. パラメータファイル
  18. FastExport
  19. 外部データのロード
  20. FTP
  21. セッションのキャッシュ
  22. 差分集計
  23. セッションログインタフェース
  24. バッファメモリについて
  25. 高精度データ

詳細ワークフローガイド

詳細ワークフローガイド

ワークフロー変数の初期値とカレント値

ワークフロー変数の初期値とカレント値

理論的には、Integration Serviceは、ワークフローの実行中にワークフロー変数に関して以下の2つの異なる値を保持します。
  • ワークフロー変数の初期値
  • ワークフロー変数のカレント値
初期値とは、ワークフローの開始時に変数が持つ値です。初期値には、変数のパラメータファイルに定義されている値、ワークフローの前回の実行によってリポジトリに保存されている値、変数に対してユーザーが定義した初期値、変数のデータ型に基づくデフォルト値などが使用されます。
Integration Serviceは、以下の順に変数の初期値を探します。
  1. パラメータファイルに定義されている値
  2. リポジトリに保存されている値(変数が持続型の場合)
  3. ユーザーによって指定されたデフォルト値
  4. データ型に基づくデフォルト値
例えば、ワークフロー内にワークフロー変数を作成してデフォルト値を入力した一方で、その変数の値をパラメータファイルに定義していないとします。このワークフローを初めて実行する場合、Integration Serviceは変数の初期値をユーザー定義のデフォルト値として評価します。
変数を
持続型
として宣言した場合、Integration Serviceは、ワークフローの実行が終了したときにこの変数の値をリポジトリに保存します。次回同じワークフローを実行するときは、リポジトリに保存されている値が変数の初期値として評価されます。
変数が
非持続型
の場合、Integration Serviceは変数の値を保存しません。次回同じワークフローを実行するときは、ユーザーによって指定されたデフォルト値が変数の初期値として評価されます。
リポジトリに保存されている値をワークフローの実行前に上書きしたい場合は、パラメータファイルにその変数の値を定義する必要があります。パラメータファイルにワークフロー変数の値が定義されている場合、Integration Serviceは、リポジトリに保存されている値や、変数に設定されている初期値ではなく、この値を使用します。
カレント値とは、ワークフローの進行にともなって変数に保持される値です。ワークフローの開始時の変数のカレント値は初期値と等しくなります。変数の値を更新する[Assignment]タスクを作成している場合は、ワークフローの進行に合わせて変数の値が変化します。
変数が持続型の場合、Integration Serviceは、ワークフローの実行が正常終了したときに変数のカレント値をリポジトリに保存します。ワークフローが完了できなかった場合、Integration Serviceは、リポジトリ内の変数の値を更新しません。
Integration Serviceは、ワークフロー変数ごとに、リポジトリに保存された値をワークフローログに記録します。