Home > リファレンスガイド > フロー > 変数 > コンテキスト変数

コンテキスト変数

コンテキスト変数は、新しいコンテキスト(スレッド)が起動した時に作成されます。この変数はコンテキストが生きている間は、終了までに複数のフローをまたがった場合でも有効です。コンテキスト変数の定義は、プロジェクト内の全てのフローに引き継がれます。この変数はプロジェクト内の全てのフローのために一回定義されます。コンテキスト変数はフローロジックを管理するため、そしてプロジェクト内の全てのフローのコンポーネント間でデータをやり取りするために使用されます。

成功事例

データマッパーを使用して、送り先のフロー呼出を使用して前のフローから呼び出されたデータを操作します。

 

サブプロセスを使用して、メインプロセスで受け取ったデータの確認を行います。

コンテキスト変数を定義するときは、各フローに自動的に生成されます。Flow Dataユーティリティまたは、データマッパを使用してコンテキスト変数に値を割り当てることができます。これらの値に変更を加えた場合、その特定のリニアなプロセスに対してのみ、その変更は反映されます。これはプロジェクト内にパラレルなフローがあった場合も同様です。コンテキスト変数はそれぞれが定義されたリニアプロセスごとに固有の値を持ちます。

定義済みのコンテキスト変数は以下の通りです。

変数

説明

タイプ

長さ

C.sys.ErrorCode

現在のエラーコードです。ステップに入る段階でこの変数はクリアされ、ステップ動作でエラーが発生した場合に値が設定されます。この変数は次のステップ条件でしか使用できません。エラーコードはC.sys.LastErrorCodeにも保存され、こちらはクリアされません。この変数と.NETの詳細は、ここをクリックしてください。

数値

12

C.sys.ErrorDescription

エラーの説明。ステップに入る段階でこの変数はクリアされ、ステップ動作でエラーが発生した場合に値が設定されます。この変数は次のステップ条件でしか使用できません。エラーコードはC.sys.LastErrorDescription にも保存され、こちらはクリアされません。この変数と.NETの詳細は、ここをクリックしてください。

文字

1000

C.sys.RemoteUser

この変数は外部コールからのユーザ名を保持します。これはHTTPトリガで使用されます。

文字

30

C.sys.LastErrorFlowName

最後のエラーが発生したフローの名前。

文字

30

C.sys.LastErrorStepName

最後のエラーが発生したステップの名前。

文字

30

C.sys.LastErrorInfo

エラーについての詳細情報。送り元または送り先のタイプがデータベースの場合、データベースに送られたSQL文がエラー情報に含まれています。送り元または送り先のタイプがXMLの場合、検証エラーがエラー情報に含まれます。

BLOB

 

C.sys.LastErrorCode

最後のエラーコード。新しいエラーが発生するとこの変数が設定されます。新しいエラーコードによって上書きされるまで、エラーコードは変数内に保持されます。

数値

12

C.sys.LastStepID

最後に実行されたステップのID。この変数は各コンポーネントの実行の後に設定されます。

数値

12

C.sys.LastFlowID

最後に実行されたステップのフローID。この変数は各コンポーネントの実行の後に設定されます。

数値

12

C.sys.LastErrorDescription

最後のエラーの説明

文字

1000

C.sys.LastErrorComponentType

最後のエラーが発生したコンポーネントのタイプ。

エラーを見つけるには、どのコンポーネントタイプでエラーが発生したか、そしてエラーコード(C.sys.ErrorCode)の情報を知る必要があるので、この変数は有益です。もし両方の変数が更新されていれば、モニタにマッチしたエラーが表示され、エラー動作が行なわれます。

数値

12

C.sys.LastTriggerName

この変数はフローを起動したコンポーネント名を保持します。この変数はトリガ呼び出しごとに更新されるので、トリガがあったかどうかをフローから確認するのに使用することができます。

文字

30

C.sys.ContextLogging

動的にコンポーネントロギングをコントロールするフローレベル(コンテキスト)変数。True(デフォルト値)に設定されると、ロギングは、[コンポーネント]プロパティの[のロギング]セクションで定義され内容に基づいて動作します。G.sys.ComponentLogging 変数の設定によって上書きされます。

論理

1

C.sys.InvokingBPName

最後にエラーが発生したり、起動フローが呼びだされたビジネスプロセス。

文字

30

C.UserString

この変数はフロー内のコンポーネント間の文字-数値情報の受け渡しに使用されます。

文字

1000

C.UserCode

この変数はフロー内のコンポーネント間の数値情報の受け渡しに使用されます。

数値

12

C.UserBlob

この変数はフロー内のコンポーネント間の不確定な形式の情報の受け渡しに使用されます。

BLOB

 

C.UserXML

XMLインタフェースが使用される場合に、設定用のXMLをコンポーネントに渡す内部の処理で使用されます。

BLOB

 

C.HTTP_Body

HTTPリクエストのBody。

 <Magic xpi>\scripts\config\mgreq.ini ファイルのHttpVarsが有効で、MG_POST_BODYを含んでいることをを確認してください。

BLOB

 

C.sys.InvokingFlowName

最後のエラーが発生したり、起動フローが呼びだされたフロー名。

文字

30

C.sys.InvokingComponentName

最後のエラーが発生したり、起動フローが呼びだされたコンポーネントの名前。

文字

30

C.UserString, C.UserBlob そして C.UserXMLの各変数はコンポーネントで定義されているデフォルト変数で、同じ形式のユーザ定義変数に変更することができます。

ただし二つの例外があります。

  • コンポーネントXMLインタフェースは、常に C.UserXML変数をもとにしています。

  • 全てのメッセージトリガは、メッセージ内容としてC.UserBlob変数を使用します。

コンテキスト変数を作成するには:

  1. ソリューションエクスプローラの[リポジトリ]フォルダの下で、[コンテキスト変数]をダブルクリックするとコンテキスト変数リポジトリが開きます。または、SHIFT+F4を押下することでも開きます。

  2. [追加]をクリックしリストに一行作成。

  3. 変数のプロパティを定義してください。これらのプロパティの説明は、ここをクリックして参照してください。

  4. 関連したプロパティを入力したら、メニューバーの[コンテキスト変数 の保存]をクリックしてください。

  5. 関連行の上でパークし、[削除]と[保存]をクリックすることで変数を削除することができます。エントリを削除する前に、プロジェクトの別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

重複した名前をコンテキスト変数リポジトリには追加できません。また、[名前]フィールドは空白のままにはできません。

関連トピック