ページの先頭行へ戻る
Interstage Data Effector V9.3.x リファレンス集
FUJITSU Software

1.6 deex

名前

deex -- 統合コマンド


形式

deex

-p {処理名|シナリオ名}
-f 統合定義ファイル名
[-a 可変項目指定ファイル名]
[-n 可変項目の無効文字列]


機能説明

Data Effectorのデータ変換処理(抽出機能、連結機能、集計機能およびソート機能)を統括的に実行します。
実行するデータ変換処理の順番をスケジュールすることもできます。


オプション


-p {処理名|シナリオ名} (必須)

統合定義ファイルに記述した処理名またはシナリオ名を指定します。
本パラメタは、省略できません。

特定の1処理を実行したい場合は、処理条件定義部の@Name属性に指定した処理名を指定します。
複数の処理を実行したい場合は、シナリオ定義部の@Name属性に指定したシナリオ名を指定します。


-f 統合定義ファイル名(必須)

統合定義ファイルの絶対パスまたはカレントディレクトリからの相対パスを指定します。
統合定義ファイルは、UTF-8で記述してください。
統合定義ファイルに記述できるシナリオの数は1つです。

統合定義ファイルの詳細については、“第5章 統合定義ファイル”を参照してください。本パラメタは省略できません。


-a 可変項目指定ファイル名

可変項目指定ファイルの絶対パスまたはカレントディレクトリからの相対パスを指定します。
可変項目指定ファイルには、可変項目を指定します。統合定義ファイルの要素のテキストまたは属性値に記述された可変項目名を、指定した定義値で置き換えて処理します。統合定義ファイルでは、置き換える可変項目をアットマーク(@)で囲って記述します。
可変項目指定ファイルは、システムロケールの文字コードで記載してください。
可変項目指定ファイル内の可変項目の定義方法は、「可変項目名=定義値」です。
例えば、ログファイル名を実行のたびに変更したい場合、本機能を利用することで、統合定義ファイルを変更せずに実行できます。
以下に、可変項目指定ファイルの例を示します。

図1.41 可変項目指定ファイルの例

  • 可変項目指定ファイルでは、1行に複数の可変項目の定義を記載することはできません。複数行で記載して改行で区切ってください。

  • ファイルの行頭にタブが記載された場合、前の行からの継続とみなします。前の行の改行コードと行頭のタブを削除して結合します。


  • 同一の可変項目名を指定することはできません。

  • 可変項目名は、半角英数字(大文字または小文字)を使用してください。先頭文字は英字を使用してください。

  • 定義値に空文字を指定する場合は、「可変項目名=」だけで記載してください。

    COMMON_LOGFILE=        

  • タグの要素や属性の値に「@文字列@」のような文字を利用したい場合は、本オプションで指定する可変項目名と重ならないように指定してください。

  • 可変項目が指定された要素のテキストまたは属性値を無効にしたい場合は、定義値に無効文字列“NULL”を指定してください。

抽出機能の入力ファイル(DataFile)を可変項目に設定して、スキーマファイルを指定したくない(SchemaFile属性を無効にしたい)場合

統合定義ファイル
<Select>
  <DataFile SchemaFile="/data/@SCHEMA@">
    <File>/data/@INFILENAME_1@</File>
    <File>/data/@INFILENAME_2@</File>
  </DataFile>
  :
可変項目指定ファイル
SCHEMA=NULL
INFILENAME_1=input1.csv
INFILENAME_2=input2.csv 

  • 可変項目指定ファイル1行の長さは、最大132,095バイトです(改行を含みません)。

  • 可変項目名の長さは、最大128文字です(@を含みません)。

  • 定義値に二重引用符(")や空白などが含まれる場合には、そのまま記載します。エスケープ文字の利用や二重引用符で括る必要はありません。


-n 可変項目の無効文字列

“NULL”を項目名またはパス名などの値として使用する場合、可変項目が指定されているタグまたは属性を無効にしたいときに指定する、文字列を指定します。
指定できる文字列は、半角英数字(大文字または小文字)を使用してください。先頭文字は英字で、最大10文字です。
本パラメタを省略した場合は、可変項目の無効文字列はNULLとみなされます。
例を以下に示します。

処理の結果をNULLというファイル名に出力して、ログファイルを出力しない(LogFileタグを無効にしたい)場合、無効文字列として“LOGNULL”を設定します。

統合定義ファイル
(deconfig3null.xml)
<?xml version="1.0" encoding="utf-8"?>
<DataEffector>
<!-- 共通定義部 -->
<CommonCfg>
 <Data CharacterCode ="SHIFT-JIS" />
 <LogFile>@COMMON_LOGFILE@</LogFile>
</CommonCfg>
<!-- 処理条件定義部:Analyze -->
<Analyze Name="Analyze">
 <BaseDirectory>D:/Shunsaku/Sample3/Sample3</BaseDirectory>
 <InFile>
  <File>data/@INFILE@</File>
 </InFile>
 <OutCondition>
 <GCondition Total="true">
  <Item Subtotal="true" Label="NMTENPO">$NMTENPO</Item>
  <Item Subtotal="true" Label="GOODSTYPE">substr($GTYPE,0,40)</Item>
 </GCondition>
 <RCondition>
  <Item Label="TOTALNUMBER">sum($NUMBER)</Item>
  <Item Label="TOTALSALCES">sum($SALEPRICE)</Item>
 </RCondition>
 <GString>** 計 **</GString>
  <OutFile>result/@OUTFILE@</OutFile>
 </OutCondition>
</Analyze>
<!-- シナリオ定義部 -->
<Scenario Name="Scenario3">
 <Step>Analyze</Step>
 </Scenario>
</DataEffector>
可変項目指定ファイル
(dekahen.csv)
INFILE=Sales.csv
OUTFILE=NULL
COMMON_LOGFILE=LOGNULL
コマンド実行
deex -p Scenario3  -f cfg\deconfig3null.xml  -a cfg\dekahen_null.csv -n LOGNULL

使用例


WindowsWindowsの場合

注意

ディレクトリ名に空白を含む場合には、必ず二重引用符(")で囲んでください。

SolarisLinuxLinux/Solarisの場合


終了ステータス

以下の終了ステータスが返されます。

0:正常終了
2:警告
0,2以外:異常終了


表1.12 統合コマンドの設定内容と終了ステータス

統合コマンドの設定(注)

各コマンドの実行結果

正常

警告

異常

警告を無視して続行

正常終了

警告

異常終了

警告により処理中断

正常終了

異常終了

異常終了

注) 統合定義ファイルのScenarioタグのIgnoreWarning属性で設定します。


ポイント

シナリオを実行した場合、途中経過として以下のメッセージを表示します。

連結処理→抽出処理の順でシナリオを実行した場合

> deex -p Scenario1 -f C:\temp\config.xml
shnde: INFO: 06011: Sub processing has been completed.Process name = replace1. (deex)
shnde: INFO: 06011: Sub processing has been completed.Process name = select1. (deex)
shnde: INFO: 01000: Processing has been completed.(deex)

エラーが発生した場合

> deex -p Scenario1 -f C:\temp\config.xml
shnde: ERROR: 06053: The same processing name or scenario name has been specified more than once in the deex definition file. Parameter = /DataEffector/Select/OutCondition/Query; Line Number = 162.(deex)