Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

付録B コマンドリファレンス> B.2 shunreplace

B.2.2 連結条件ファイル

文字コード、ファイル形式または編集条件などを定義した連結条件を記述します。

■実行パラメタの種類と意

以下に、連結条件ファイルの実行パラメタを示します。

連結条件ファイルの内容は、CharacterCodeパラメタで指定したデータの文字コードで記述してください。

パラメタ

省略

説明

CharacterCode

検索対象となる文字列の文字コードを指定します。
本パラメタを省略した場合、UTF-8が指定されたとみなします。

InFileType

入力ファイルタイプを指定します。
本パラメタを省略した場合、CSVが指定されたとみなします。

ListDef

不可

入力とする項目を定義します。
本パラメタは複数行にまたがって定義できます。

OutFileType

本パラメタにはCSVを指定してください。

OutputDef

不可

出力する項目を指定します。
本パラメタは複数行にまたがって定義できます。

Jnode

出力単位ノードを指定します。
入力ファイルタイプがXML形式の場合のみ有効です。
本パラメタを省略した場合、入力ジャーナルファイルの1XML文書に対して1レコードを出力します。

Jcondition

入力ジャーナルファイルと入力マスタファイルの連結条件を指定します。
入力マスタファイルを定義しない場合は、本パラメタを省略します。
本パラメタは複数行にまたがって定義できます。

SubstituteZeroForEmpty

OutputDefパラメタに指定する数値演算式における空の扱いを指定します。
本パラメタを省略した場合、NOが指定されたとみなします。

CharacterCode

設定

意味

UTF-8

UTF-8の場合

SHIFT-JIS

Shift-JISの場合

EUC

EUC-JPの場合

InFileType

設定

意味

CSV

CSVの場合

XML

XMLの場合

ListDef

抽出する項目の定義を行います。

[図:入力ファイルタイプがCSVの場合]

[図:入力ファイルタイプがXMLの場合]

K略称

K略称の指定に何らかの誤りがある場合、指定されたK略称を含むメッセージが標準エラー出力に出力されます。K略称にマルチバイト文字を指定し、かつデータの文字コードとシステムロケールの文字コードが異なる場合、メッセージ中のK略称が正しく表示されない場合があります。

項目名

テキスト式

[図:テキスト式の定義]

OutputDef

ListDefパラメタで定義したK略称を使用して、出力ファイルへの項目の出力順番を定義します。

[図:出力項目定義]

[図:数値演算式]

数値演算式を指定した場合の空の扱いについては、“A.3.2 数値演算式における空の扱い”を参照してください。

ラベル

出力データにおいて項目名またはタグ名として使用される文字列を指定します。

定数

プログラム実行中に変化しない数値のことです。
整数部、および、小数部は、18桁まで有効です。18桁を超えるとエラーとなります。
除算演算子(/)のあとに定数の0は指定できません。

小数部桁

切り捨てる前の値
123456789012345678.1234567890123456789

切り捨てた後の値

小数部桁数

切り捨てた後の値

省略時

123456789012345678.123456789012345678

0

123456789012345678

1

123456789012345678.1

-1

123456789012345670

18

123456789012345678.123456789012345678

-18

0

rlen関数

項目名で示す文字列の1文字目から、指定した文字数の文字列を返却します。

val関数

項目名で示す文字列から数値のみを抜き出します。

sum関数

項目が示す文字列から数値のみを抜き出し、その数値の合計を求めます。

max関数

項目が示す文字列から数値のみを抜き出し、その数値の最大を求めます。

min関数

項目が示す文字列から数値のみを抜き出し、その数値の最小を求めます。

avg関数

項目が示す文字列から数値のみを抜き出し、その数値の平均値を求めます。

Jnode

InFileTypeがXMLで、1文書中の特定の繰り返しノード数分のレコードを出力したい場合に指定します。
出力単位ノードをパス式で指定します。

使用例については、“4.3.2.3 繰返し項目のあるXML文書を連結する場合”を参照してください。

省略時は、1XML文書から1レコード出力します。また、出力項目に指定された項目が1文書中に繰り返し出現した場合には先頭の項目のみが出力されます。

[図:出力単位ノード]

◆Jcondition

入力ジャーナルファイルと入力マスタファイルの連結条件を指定します。この連結条件によって参照特定された入力マスタファイルの項目を連結結果として出力します。
連結条件は、1つの入力マスタ(M略称)につき1つ指定します。
連結にかかわる詳細については、“4.3.3 連結機能の注意事項”を参照してください。

[図:連結条件]

文字

下記に示す文字を指定する場合は、エスケープ文字を付加して文字を表現してください。エスケープ文字は“\”です。

文字

記述方法

半角空白

\s

改行

\n

水平タブ

\t

二重引用符

\"

\マーク

\\

substr関数


substr関数は、$K略称項目で示す文字列の、指定した位置の文字から指定した文字長の文字列を返却します。

substr($CODE,0,5)

SubstituteZeroForEmpty

OutputDefパラメタに指定する数値演算式における空の扱いを指定します。

指定できる値は以下のいずれかです。

設定

意味

YES

数値演算式における算術演算において、空を0とみなして演算を行います。
また、数値演算式の結果が空となった場合、0を出力します。

NO

数値演算式における算術演算において、演算対象に空が含まれる場合、演算結果はすべて空を返します。
また、数値演算式の結果が空となった場合、何も出力しません。

数値演算式における空の扱いについては、“A.3.2 数値演算式における空の扱い”を参照してください。

複数行にまたがるパラメタの定

ListDefパラメタ、OutputDefパラメタおよびJconditionパラメタは、複数行にまたがった定義を行うことができます。
パラメタを複数行にまたがって定義した場合、改行および次の行の先頭の連続する空白文字は半角空白1文字に置き換えられます。

■連結条件ファイル指定

以下に、連結条件ファイルの実行パラメタを示します。

# 文字コード

CharacterCode     SHIFT-JIS

# 入力ファイルタイプ

InFileType   XML

# 出力ファイルタイプ

OutFileType  CSV

# 入力項目定義

ListDef {document(Journal){$Kbn   /Jnl/Kbn/text(),

                              $Number /Jnl/Number/text(),

                              $Code   /Jnl/Code/text(),

                              $Name   /Jnl/Name/text(),

                              $Val   /Jnl/Value/text()

             },

             document(Master1){

                              $Kcode /Mst1/code/text(),

                              $Kname /Mst1/name/text()

             },

             document(Master2){

                              $Ncode /Mst2/code/text(),

                              $Nname /Mst2/name/text()

             }

}

# 出力項目定義

OutputDef  {$Kbn,$Kname,$Number,$Nname,$Code,$Name,$Val}

# 連結条件定義

Jcondition  {$Kbn == $Kcode,

             $Number == $Ncode 

}

# 数値演算式における空の扱い

SubstituteZeroForEmpty        NO
# 文字コード

CharacterCode  EUC

# 入力ファイルタイプ

InFileType    XML

# 出力ファイルタイプ

OutFileType   CSV

# 入力項目定義

ListDef {document(Journal){$Kbn   /Jnl/Kbn/text(),

                              $Number /Jnl/Number/text(),

                              $Code   /Jnl/Code/text(),

                              $Name   /Jnl/Name/text(),

                              $Val   /Jnl/Value/text()

             },

             document(Master1){

                              $Kcode /Mst1/code/text(),

                              $Kname /Mst1/name/text()

             },

             document(Master2){

                              $Ncode /Mst2/code/text(),

                              $Nname /Mst2/name/text()

             }

}

# 出力項目定義

OutputDef  {$Kbn,$Kname,$Number,$Nname,$Code,$Name,$Val}

# 連結条件定義

Jcondition  {$Kbn == $Kcode,

             $Number == $Ncode 

}

# 数値演算式における空の扱い

SubstituteZeroForEmpty        NO

目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED