shunreplaceコマンドの実行例を以下に示します。
連結コマンドが動作するための環境ファイル(例:Replace.cfg)を定義します。並列数を指定して、同時に3つの入力ファイルを処理します。
Windowsの場合
# 入力ファイル(入力ジャーナルファイル) JnlFile Journal "D:¥Shunsaku¥data¥FactFile1.xml; D:¥Shunsaku¥data¥FactFile2.xml; D:¥Shunsaku¥data¥FactFile3.xml" # 入力ファイル(入力マスタファイル) MstFile { Master1 "D:¥Shunsaku¥data¥NameFile.xml", Master2 "D:¥Shunsaku¥data¥KbnFile.xml" } # 出力ファイル OutFile "D:¥Shunsaku¥out¥RepOutput.csv" # ログファイル LogFile "D:¥Shunsaku¥log¥Replace.log" # 並列数 ParallelNum 3 |
Linux/Solarisの場合
# 入力ファイル(入力ジャーナルファイル) JnlFile Journal "/home/shunsaku/data/FactFile1.xml; /home/shunsaku/data/FactFile2.xml; /home/shunsaku/data/FactFile3.xml" # 入力ファイル(入力マスタファイル) MstFile { Master1 "/home/shunsaku/data/NameFile.xml", Master2 "/home/shunsaku/data/KbnFile.xml" } # 出力ファイル OutFile /home/shunsaku/out/RepOutput.csv # ログファイル LogFile /home/shunsaku/log/Replace.log # 並列数 ParallelNum 3 |
参考
JnlFileパラメタで物理ファイル名を省略した場合には、標準入力より読み込みます。
OutFileパラメタを省略した場合には、標準出力に結果を出力します。
入出力結果を別処理と連携させる場合、入出力ファイルに名前付きパイプを使用すると便利です。名前付きパイプの指定例については、“5.6.3 名前付きパイプの指定例”を参照してください。
入力ジャーナルファイルと入力マスタファイルを連結させるための条件を連結条件ファイル(例:JoinCond.cfg)に定義します。
Windowsの場合
# 文字コード 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 {join (Journal, Master1, $Kbn == $Kcode, "LEFT"), join (Journal, Master2, $Number == $Ncode, "LEFT") } # 数値演算式における空の扱い SubstituteZeroForEmpty NO |
Linux/Solarisの場合
# 文字コード 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 {join (Journal, Master1, $Kbn == $Kcode, "LEFT"), join (Journal, Master2, $Number == $Ncode, "LEFT") } # 数値演算式における空の扱い SubstituteZeroForEmpty NO |
以下に、shunreplaceコマンドの指定例を示します。
Windowsの場合
shunreplace -s D:¥Shunsaku¥cfg¥Replace.cfg -j D:¥Shunsaku¥cfg¥JoinCond.cfg |
または
shunreplace -s "D:¥Shunsaku¥cfg¥Replace.cfg" -j "D:¥Shunsaku¥cfg¥JoinCond.cfg" |
Linux/Solarisの場合
shunreplace -s /home/shunsaku/cfg/Replace.cfg -j /home/shunsaku/cfg/JoinCond.cfg |