トランスフォーメーション > ターゲットトランスフォーメーション > ファイルターゲット
  

ファイルターゲット

ファイルターゲットには、フラットファイルとFTP/SFTPファイルがあります。ファイルターゲットを設定する際には、接続、ターゲットタイプ、およびターゲットオブジェクトを指定します。
FTP/SFTPターゲットの場合は、既存のターゲットオブジェクトを選択できます。フラットファイルターゲットの場合は、既存のターゲットオブジェクトを選択するか、実行時に新しいターゲットを作成することができます。
実行時にフラットファイルターゲットを作成する場合は、静的または動的ファイル名を指定できます。

ファイルターゲットのプロパティ

[プロパティ]パネルの[ターゲット]タブでファイルターゲットのプロパティを設定します。
次の表に、ファイルターゲットの詳細を示します。
プロパティ
説明
接続
ターゲット接続の名前。
ターゲットタイプ
ターゲットの種類(単一のオブジェクトまたはパラメータ)。
オブジェクト
ターゲットオブジェクトの名前。
詳細モードでは、オブジェクト名にドル記号文字$を含めることはできません。ドル記号は、パラメータ用に予約された文字です。
形式オプション
フラットファイルの形式オプション。[形式オプション]ダイアログボックスを開き、ファイルの形式を定義します。
区切りファイルまたは固定長ファイルのいずれかのタイプを選択できます。デフォルトは区切りファイルです。
区切りフラットファイルタイプに書き込むには、次のファイル形式オプションを設定します。
  • - 区切り文字。区切り文字。カンマ、タブ文字、コロン、セミコロン、印刷不可能な制御文字、または指定したシングルバイト文字またはマルチバイト文字を使用することができます。
  • - 複数の文字を1つの区切り文字として扱う指定された区切り文字のセットを1つの区切り文字として扱います。例えば、ソースファイルには次のレコードが含まれます。abc~def|ghi~|~|jkl|~mno。区切り文字を( ~ | )として指定した場合、データ統合はこのレコードを2つの区切り文字で分けられた3カラムのデータとして読み込みます(abc~def|ghi, NULL, jkl|~mno)。このオプションを無効にすると、データ統合は、このレコードを8つの区切り文字で分けられた9カラムのデータとして読み込みます(abc, def, ghi, NULL, NULL, NULL, jkl, NULL, mno)。
  • - 連続した区切り文字を1文字として扱います。1つ以上の連続するカラム区切り文字を1つの文字として扱います。デフォルトでは、連続する区切り文字はNULL値として扱われます。
  • - 行区切り文字。Added missing "。".改行文字。リストから改行文字を選択します。デフォルトは、改行、\012 LFです。
  • 注: Linuxマシンでは、改行文字として「\n」が書き込まれます。Windowsマシンでは、改行文字として「\r\n」が書き込まれます。
  • - テキスト修飾子。テキストを修飾する文字。
  • - エスケープ文字。エスケープ文字。
  • - フィールドラベル。マッピングタスクでフィールドラベルを生成するか、ソースファイルからラベルをインポートするかを指定します。
  • - 最初のデータ行。データの最初の行。タスクは、入力した行番号で読み取りを開始します。
タブ、スペース、または任意の印刷出力可能な特殊文字を区切り文字として使用できます。区切り文字には最大10文字を使用できます。区切り文字はエスケープ文字およびテキスト修飾子以外にする必要があります。
固定長フラットファイルタイプに書き込むには、使用する固定長ファイル形式を選択します。リストに同じ名前の複数の固定長ファイル形式が含まれている場合は、名前に追加されたプロジェクトとフォルダの場所を使用して、使用する適切なファイル形式を指定します。固定長ファイル形式がない場合、[新規] > [コンポーネント] > [固定長ファイル形式]をクリックして作成します。
操作
ファイルターゲットの場合、操作は常に挿入です。
次の表に、フラットファイルターゲットの詳細プロパティを示します。
プロパティ
説明
拒否された行の転送
マッピングタスクが拒否された行を拒否ファイルに転送するかどうかを示します。
行エラー処理を有効にした場合、マッピングタスクは拒否ファイルを生成する代わりに、拒否された行と削除された行を行エラーのログに書き込みます。削除された行を、行エラーログだけでなくセッションログにも書き出したい場合は、Verbose Dataトレースを有効にします。
却下された行を転送しない場合、マッピングタスクは却下された行がない状態でセッションログに書き込みを行います。
1000ごとの区切り文字
1000ごとの区切り文字。なし、カンマ、またはピリオドにすることができます。小数点記号または区切り文字と同じにすることはできません。
フィールドタイプは数値である必要があります。また、場合によってはフィールドの精度とスケールを更新する必要があります。
デフォルトは[なし]です。
小数点記号
小数点文字。カンマまたはピリオドにすることができます。1000ごとの区切り文字、または区切り文字と同じにすることはできません。
フィールドタイプは数値である必要があります。また、場合によってはフィールドの精度とスケールを更新する必要があります。
デフォルトはピリオドです。
日時形式
オプション。フラットファイル接続で指定された日時形式をオーバーライドします。
オーバーライドするdatetimeformatを入力します。
例: YYYYMMDD。
存在する場合は追加
各パーティションのターゲットファイルおよび拒否ファイルに出力データを追加します。FTP/SFTPターゲットファイルの場合、このオプションは使用できません。
このオプションを選択しないと、マッピングタスクは出力データをターゲットファイルに書き込む前に、各ターゲットファイルを切り詰めます。ファイルが存在しない場合、マッピングタスクはファイルを作成します。
ターゲットディレクトリの作成
[出力ファイルディレクトリ]フィールドで指定されたターゲットディレクトリが存在しない場合は、ターゲットディレクトリを作成します。
ヘッダーのオプション
ファイルターゲットにヘッダ行を作成します。以下のオプションを選択することができます。
  • - No Header。フラットファイルターゲットにヘッダ行を作成しません。
  • - Output Field Names。出力フィールド名が指定されたファイルターゲットにヘッダー行を作成します。
  • - Use header command output。ヘッダ行を生成するには、[Header Command]フィールドでこのコマンドを使用します。例えば、ファイルターゲットのヘッダー行にデータを追加するコマンドを使用できます。
デフォルトは[No Header]です。
ヘッダーコマンド
ファイルターゲットにヘッダー行を生成するために使用するコマンド。例えば、ファイルターゲットのヘッダー行にデータを追加するコマンドを使用できます。
フッタコマンド
ファイルターゲットにフッタ行を生成するために使用するコマンド。
出力タイプ
タスクのターゲットのタイプ。ターゲットデータをファイルターゲットに書き込むには、[ファイル]を選択します。コマンドにデータを出力するには、[コマンド]を選択します。FTP/SFTPターゲット接続に対して、[コマンド]を選択することはできません。
出力ファイル名
出力ファイルのファイル名、またはファイル名とパス。デフォルトでは、マッピングタスクによって、ターゲットオブジェクトの後に出力ファイルの名前が設定されます。
ターゲットオブジェクトには、次のいずれかのファイル拡張子を使用する必要があります: csv、dat、txt
出力ファイルディレクトリ
フラットファイルターゲットの出力ディレクトリの名前。デフォルトでは、マッピングタスクは出力ファイルをターゲット接続ディレクトリに書き込みます。
また、入力パラメータを使用してターゲットファイルディレクトリを指定することもできます。
サービスプロセス変数ディレクトリ$PMTargetFileDirを使用した場合、タスクはシステム変数への設定済みのパスにターゲットファイルを書き込みます。システム変数の設定済みパスを見つけるには、次のディレクトリにあるpmrdtm.cfgファイルを参照してください。
<Secure Agent installation directory>\apps\Data_Integration_Server\<Data Integration Server version>\ICS\main\bin\rdtm
また、$PMTargetFileDir変数への設定済みのパスは、Administratorのデータ統合サーバーシステム設定の詳細にあります。
拒否ファイルディレクトリ
拒否ファイルを書き込むディレクトリパス。デフォルトでは、マッピングタスクはすべての拒否ファイルを次のサービスプロセス変数ディレクトリに書き込みます:
$PMBadFileDir/<federated task ID>
[拒否ファイル名]フィールドでディレクトリとファイル名の両方を指定する場合は、このフィールドをクリアします。マッピングタスクはタスクの実行時に、このフィールドと[拒否ファイル名]フィールドを連結します。
拒否ファイル名
拒否ファイルのファイル名、またはファイル名とパス。デフォルトでは、マッピングタスクはターゲットオブジェクト名に従って、「<ターゲット名>.bad」のように拒否ファイルに名前を付けます。
マッピングタスクはタスクの実行時に、このフィールドと[拒否ファイルディレクトリ]フィールドを連結します。例えば、[拒否ファイルディレクトリ]フィールドに「C:\reject_file\」を指定し、[拒否ファイル名]フィールドに「filename.bad」と入力した場合、マッピングタスクにより「C:\reject_file\filename.bad」に拒否された行が書き込まれます。
次の表では、ファイルターゲットにメッセージを書き込む場合の詳細プロパティについて説明します。
プロパティ
説明
入力タイプ
ターゲットに書き込む入力のタイプ。次のいずれかのオプションを選択します。
  • - バッファ
  • - ファイル
使用可能なオプションは、アップストリームトランスフォーメーションからの受信データによって異なります。デフォルト値は[バッファ]です。
確認応答オプション
確認応答を保存するオプション。次のいずれかのオプションを選択します。
  • - [セッションログに保存]: 確認応答をセッションログに書き込みます。
  • - [ファイルに保存]: 確認応答をファイルに保存します。
  • - [破棄]: 確認応答を破棄します。
確認応答ファイルのパス
確認応答をファイルに保存する場合に、確認応答を書き込むファイルのパス。
ファイルが存在する場合の動作
確認応答ファイルがすでに存在する場合に実行する操作。次のいずれかの操作を選択します。
  • - [名前の変更]: 確認応答ファイルの名前を変更します。
  • - [追加]: ファイルに確認応答を追加します。
  • - [上書き]: 確認応答ファイルを上書きします。
確認応答がAA/CAではない場合、ジョブは失敗します。
確認応答コードがAAまたはCAでない場合、ジョブが失敗します。
確認応答がAR/CRである場合はジョブを再試行します
確認応答コードがARまたはCRの場合、ジョブの実行を再試行します。
メッセージ再試行の回数
メッセージの書き込みを試行する回数。
メッセージ再試行の間隔
メッセージの書き込みを再試行する時間間隔(秒単位)。
メッセージの検証
データ統合がメッセージを検証するかどうかを示します。
拒否された行の転送
マッピングタスクが拒否された行を拒否ファイルに転送するかどうかを示します。
行エラー処理を有効にした場合、マッピングタスクは拒否ファイルを生成する代わりに、拒否された行と削除された行を行エラーのログに書き込みます。削除された行を、行エラーログだけでなくセッションログにも書き出したい場合は、Verbose Dataトレースを有効にします。
却下された行を転送しない場合、マッピングタスクは却下された行がない状態でセッションログに書き込みを行います。

実行時に作成されるフラットファイルターゲット

マッピングにフラットファイルターゲットが含まれる場合は、既存のターゲットファイルを選択するか、実行時にターゲットを作成することができます。実行時にターゲットを作成すると、データ統合では、データ型、精度、およびスケールのターゲットオブジェクトメタデータがデータソースに基づいて自動的に検出されます。
ターゲットオブジェクトメタデータを編集する必要がある場合は、ソーストランスフォーメーションで編集できます。
ターゲットフィールドはアップストリームトランスフォーメーションにリンクできません。ターゲットの使用されていないフィールド数を削減する場合は、ターゲットトランスフォーメーションまたはアップストリームトランスフォーメーションのフィールドルールを設定します。
実行時にフラットファイルターゲットを作成すると、マッピングタスクは、マッピングの初回実行時にアップストリームトランスフォーメーションのフィールドに基づいて物理ターゲットを作成します。後続の実行でターゲットファイル名が変更されない場合、マッピングタスクはターゲットファイルを上書きします。マッピングの実行間でファイル名が変わった場合、マッピングタスクによって新しいターゲットが作成されます。データ統合は、デフォルトの接続ディレクトリにターゲットを作成します。
ターゲットファイルの静的または動的ファイル名を設定できます。静的ファイル名にはタイムスタンプを含めることができます。動的ファイル名では、マッピングタスクの実行時にファイル名を生成するための式が使用されます。
データ統合は、区切りファイルまたは固定長ターゲットファイルに書き込みを行います。デフォルトでは、データ統合は、固定長ファイル形式を使用して実行時にターゲットを作成する際、10進型または倍精度浮動小数点数型のデータ型を使用するデータを四捨五入します。10進型および倍精度浮動小数点数型のデータ型のデータの四捨五入をスキップすることもできます。デフォルトでは、データ統合は区切りデータの四捨五入は行いません。

静的ファイル名を持つフラットファイルターゲット

実行時にフラットファイルターゲットを作成する場合は、静的ファイル名を指定できます。ファイル名には、ファイルが作成された時間を示すタイムスタンプを含めることができます。
静的ファイル名を指定するには、[ターゲットオブジェクト]ダイアログボックスの[静的ファイル名]フィールドにファイル名を入力します。タイムスタンプを含めるには、[特殊文字の処理]を有効にして、ファイル名にタイムスタンプ文字を追加します。例えば、ファイル名MyTarget_%d-%m.csvには、マッピングが実行された日と月が含まれます。
次の画像は、[ターゲットオブジェクト]ダイアログボックスを示しています。
この画像はフラットファイルターゲットの[ターゲットオブジェクト]ダイアログボックスを示しています。[実行時に新規作成]オプションが選択され、[動的ファイル名を使用]チェックボックスがオフになっています。動的ファイル名が選択されていないため、ダイアログボックスの下部に[静的ファイル名]フィールドが表示されています。[静的ファイル名]フィールドには名前「MyTarget.csv」が入力されています。
タイムスタンプを含めない場合、マッピングタスクはタスクの初回実行時にターゲットファイルを作成し、後続の実行時にファイルを上書きします。
ターゲットファイル名にタイムスタンプを追加する場合、マッピングタスクはタイムスタンプの変更時にデータを新しいファイルに書き込みます。例えば、特殊文字の処理を有効にして静的ファイル名MyTarget_%d-%m.csvを入力し、マッピングタスクを1月15日と1月16日に実行するとします。マッピングタスクはターゲットファイルMyTarget_15-01.csvとMyTarget_16-01.csvを作成します。

フラットファイルターゲットのタイムスタンプ

実行時にフラットファイルターゲットを作成する場合、タイムスタンプ情報をファイル名に追加して、ファイルがいつ作成されたのかを示すことができます。
ターゲットファイルのファイル名を指定する場合、タイムスタンプ情報をファイル名に追加するためにマッピングタスクが使用するLinux STRFTIME関数の形式に基づいて、特殊文字を含めます。タイムスタンプは、組織のタイムゾーンに基づいています。
次の表に、使用する可能性のある一般的なSTRFTIME関数の形式を示します。
特殊文字
説明
%d
2桁の10進数で表される日(01~31)。
%m
2桁の10進数で表される月(01~12)。
%y
2桁の10進数で表される、世紀を含まない年(00~99)。
%Y
世紀を含む年(2015など)。
%T
24時間表記の時刻(%H:%:M:%Sに相当)。
%H
24時間表記の時間(00~24)。
%l
12時間表記の時間(01~12)。
%M
10進数で表される分(00~59)。
%S
10進数で表される秒(00~60)。
%p
AMまたはPM。

動的ファイル名を持つフラットファイルターゲット

実行時にフラットファイルターゲットを作成する場合は、動的ファイル名を指定できます。動的ファイル名では、ファイル名を生成するための式が使用されます。
動的ファイル名を使用すると、マッピングタスクが実行されるたびに新しいターゲットファイルを作成できます。例えば、次の式は、マッピングタスクが実行されるたびに「OrdersOut_<system_timestamp_with_second_precision>.csv」というファイルを作成します。
'OrdersOut_'||To_Char(SYSDATE, 'YYYYMMDDHH24MISS')||'.csv'
また、トランザクション制御トランスフォーメーションを含むマッピングで動的ファイル名を使用して、トランザクション境界が変わるたびにデータを異なるターゲットファイルに書き込むこともできます。例えば、トランザクション制御トランスフォーメーションのダウンストリームであるターゲットで次の式を使用すると、DEPT_IDフィールドが変わるたびにデータを異なるターゲットファイルにコミットできます。
'Results_Dept_'||To_Char(DEPT_ID)||'.dat'
動的ファイル名を指定するには、[ターゲットオブジェクト]ダイアログボックスで[動的ファイル名を使用]を選択し、式エディタでファイル名の式を入力します。
次の画像は、[動的ファイル名を使用]オプションが有効になっている[ターゲットオブジェクト]ダイアログボックスを示しています。
この画像はフラットファイルターゲットの[ターゲットオブジェクト]ダイアログボックスを示しています。[実行時に新規作成]オプションが選択され、[動的ファイル名を使用]チェックボックスがオンになっています。動的ファイル名が選択されているため、ダイアログボックスに式エディタが表示されています。式エディタには式'Results_Dept_'||To_Char(DEPT_ID)||'.dat'が入力されています。
ターゲットファイル名の式には、受信フィールド名、定数、演算子、組み込み関数、およびユーザー定義関数を含めることができます。
ファイル名の式で入力フィールド名を使用する場合は、そのフィールドをターゲットから除外することを選択できます。[動的ファイル名フィールドを除外]オプションを有効にすると、データ統合は、式で使用される受信フィールドをターゲットに書き込みません。式に受信フィールドを1つだけ含めます。複数の受信フィールドを含めると、式は無効になります。
複数の受信フィールドを使用するには、ターゲットトランスフォーメーションの直前に式トランスフォーメーションを追加します。式トランスフォーメーションで、ファイル名として使用する式を保持するフィールドを設定します。ターゲットトランスフォーメーションでは、このフィールドを動的ファイル名の式として使用します。
式の作成の詳細については、関数リファレンスの説明を参照してください。

実行時におけるフラットファイルターゲットの作成

実行時にフラットファイルターゲットを作成するには、[ターゲットオブジェクト]ダイアログボックスで[実行時に新規作成]を選択します。次に、ターゲットファイルの静的または動的ファイル名を設定します。
    1ターゲットトランスフォーメーションの[ターゲット]タブで、フラットファイル接続を選択します。
    2ターゲットタイプを[単一オブジェクト]に設定します。
    3[選択]をクリックして、ターゲットオブジェクトを選択します。
    4[ターゲットオブジェクト]ダイアログボックスで、[実行時に新規作成]を選択します。
    5 ターゲットファイル名を設定します。
    6必要に応じて、10進型または倍精度浮動小数点数型のデータ型を使用する固定長フラットファイル形式を使用しており、データ統合でデータを四捨五入しないようにする場合は、[10進型および倍精度浮動小数点数型の四捨五入をスキップ]を選択します。
    7[OK]をクリックします。