条件分岐の処理に必要なプロパティを設定する方法について説明します。
操作手順は、以下のとおりです。
ISIナビゲータービューで編集するシーケンスを選択し、ダブルクリックします。
⇒シーケンスエディタに、選択したシーケンスが表示されます。
シーケンスエディタでプロパティを設定する条件(ひし形)をクリックします。
⇒プロパティビューに、条件に関する情報が表示されます。
条件判断の情報を設定します。
図4.26 条件判断の情報の画面例(プロパティビュー)
項目 | 説明 | 備考 |
---|---|---|
説明 | 分岐条件の説明を入力します。 | |
条件 | 後述の規則に従って条件式を直接入力します。 | 必須 |
「条件」の項目では、シーケンスを流れるデータ上の位置(ポジション)を使用して、条件式を記述します。ポジションの定義操作については4.4.3.1 ポジションを定義するを参照してください。
条件式の入力規則は以下のとおりです。その他の注意事項は4.4.3.2 条件式を記述する際の注意事項を参照してください。
ポジション名、演算子、値の組み合わせで1つの式を表します。
ポジション名は前後を?(クエスチョンマーク)で囲んで入力してください。
値を"(ダブルクォーテーション)で囲んだ場合、文字列の比較として扱います。そうでない場合は数値の比較として扱います。
「演算子」は、数値として比較する場合は、=、!=、>、<、>=、<= から指定できます。文字列として比較する場合は=、!=のどちらかのみ指定できます。
例
ポジション名p1の値が100以上の場合
?p1? >= 100
“AND”, “OR”と小括弧で式を結合し、複数の条件を組み合わせることができます。
“AND”と“OR”の前後は必ず半角空白を入れて区切ります。
例
ポジション名p1の値が100以上200以下、かつ、p2の値が"富士通"またはp3の値が"FUJITSU"の場合
?p1?>=100 AND ?p1?<=200 AND (?p2?="富士通" OR ?p3?="FUJITSU")
条件分岐ブロックの一番上の分岐経路のプロパティで、シーケンスを流れるデータのどの位置を条件として用いるかという「ポジション」の定義を行います。このプロパティ画面で設定したポジションの定義は、条件分岐ブロック内の分岐経路すべてに適用されます。
図4.27 一番上の分岐経路のプロパティの画面例
項目 | 説明 | 備考 |
---|---|---|
データタイプ | 分岐の判断条件とするデータの種類をXML, FLAT, CSV, ヘッダから選択します。 | 必須 |
「追加」ボタン | ポジションを追加します。何も入力されていないポジションの入力欄が末尾に1つ追加されます。 | |
「削除」ボタン | カーソルで選択されているポジションが削除されます。 |
データタイプがXMLの場合
XMLデータを条件の判断に用いる場合のポジション定義例は、以下のとおりです。
図4.28 ポジションを定義する画面例(データタイプがXMLの場合)
項目 | 説明 | 備考 |
---|---|---|
ポジション名 | ポジションの名前を指定します。 | 必須 ポジション名は最大64バイトで以下の半角文字列を指定できます。ただし、先頭は、英数字を指定してください。
予約語“AND”“OR”は指定できません。 |
XPath | 条件の判断に用いるデータの位置をXPath形式で指定します。 | 指定例) |
データタイプがFLATの場合
FLATデータを条件の判断に用いる場合のポジション定義例は、以下のとおりです。
図4.29 ポジションを定義する画面例(データタイプがFLATの場合)
項目 | 説明 | 備考 |
---|---|---|
ポジション名 | ポジションの名前を指定します。 | 必須 ポジション名は最大64バイトで以下の半角文字列を指定できます。ただし、先頭は、英数字を指定してください。
予約語“AND”“OR”は指定できません。 |
開始位置 | 条件の判断に用いるデータの開始位置をバイト単位で指定します。 FLATデータの先頭から取得する場合は、“0”を指定します。 | 指定例) |
桁数 | 条件の判断に用いるデータの桁数をバイト単位で指定します。 | 指定例) |
文字コード | 文字コードを指定します。以下から選択します。
上記以外の文字コードを使用する場合は、直接入力してください。 | 指定例) |
データタイプがCSVの場合
CSVデータを条件の判断に用いる場合のポジション指定例は、以下のとおりです。
図4.30 ポジションを定義する画面例(データタイプがCSVの場合)
項目 | 説明 | 備考 |
---|---|---|
ポジション名 | ポジションの名前を指定します。 | 必須 ポジション名は最大64バイトで以下の半角文字列を指定できます。ただし、先頭は、英数字を指定してください。
予約語“AND”“OR”は指定できません。 |
行番号 | 条件の判断に用いるデータの位置の行番号を指定します。 先頭行のカラムを指定する場合は、“1”を指定します。 | 指定例) |
カラム番号 | 条件の判断に用いるデータの位置のカラム番号を指定します。 行の先頭のカラムを指定する場合は、“1”を指定します。 | 指定例) |
文字コード | 文字コードを指定します。以下から選択します。
上記以外の文字コードを使用する場合は、直接入力してください。 | 指定例) |
データタイプがヘッダの場合
ISI共通メッセージのヘッダを条件の判断に用いる場合のポジション指定例は、以下のとおりです。
図4.31 ポジションを定義する画面例(データタイプがヘッダの場合)
項目 | 説明 | 備考 |
---|---|---|
ポジション名 | ポジションの名前を指定します。 | 必須 ポジション名は最大64バイトで以下の半角文字列を指定できます。ただし、先頭は、英数字を指定してください。
予約語“AND”“OR”は指定できません。 |
ヘッダキー | 条件の判断に用いるデータとして、ISI共通メッセージのヘッダキーを指定します。 | 指定例) |
条件分岐ブロック内の上から2番目以降の分岐経路のプロパティでは、ポジションの定義は参照できますが、編集できません。条件判断の情報(条件)の項目については、一番上の分岐経路に対して設定する場合と同じ操作で設定します。“4.4.3 条件判断の情報を設定する”を参照し、設定してください。
図4.32 上から2番目以降の分岐経路のプロパティの画面例
条件式の予約語
以下の予約語は、条件式中で特別な意味を持ちます。予約語はすべて大文字で書いてください。大文字・小文字の区別があります。
AND
OR
予約語をポジション名に使用することはできません。ただし、ポジション名の一部に予約語を含むものを使用することはできます。
条件式に使用できる数値
比較対象の数値として指定できる範囲は、IEEE 754規約で定められた倍精度浮動小数点数の範囲です。
数値の指定形式として整数形式または浮動小数点形式を使用できます。浮動小数点形式では、小数点付きまたは指数形式で指定できます。
条件式での文字の表記
比較対象の文字列に以下の文字を利用する場合は、先頭に\(円マーク)をつけてください。
文字 | 表記 |
---|---|
"(ダブルクォーテーション) | \" |
\(円マーク) | \\ |
条件式中の演算子の優先順位
条件式中の演算子の優先順序は、以下のとおりです。「( )」が最優先となります。
()
< <= >= > = !=
AND
OR