インポートファイルローダー
インポートファイルローダーを使用すると、ウィンドウから簡単にデータをインポートする事ができます。ここでは、インポートファイルローダーについて調査及び研究し、その成果をまとめています。
インポートファイルローダー概要
インポートファイルローダーを使用すると、ウィンドウでデータをインポートする事ができます。インポートするファイルの形式はCSVのみです。ファイルのフォーマット(書式)は、ファイルのエクスポート処理により自動作成する事ができ、それを必要に応じて修正しカスタマイズして使うと手間なく簡単です。
ファイルフォーマット
インポートファイルローダーを使用すると、ウィンドウに直接データをインポートする事ができます。インポートするファイルの形式はCSVのみです。ファイルのフォーマット(書式)は、ファイルのエクスポート処理により自動作成する事ができ、それを必要に応じて修正しカスタマイズして使うと手間なく簡単です。
ファイルフォーマットのルール
◆1行目はヘッダー項目とすること
1行目はヘッダー情報として、CSVデータをiDempiereのウィンドウの各フィールドにマッピングするために必要となります。
◆ヘッダー項目の項目名のルール
1行目のヘッダー項目には、その項目名の付け方に次のようなルールがあります。
- ヘッダー項目名は、その列のCSVデータをマッピングさせるフィールドのカラム名にする。例:伝票番号→DocumentNo
- 外部参照しているフィールドについては、カラム名の後ろに[]で、CSVデータに入力している値が対応しているカラム名を入力する。例:伝票タイプ→C_DocType_ID[Name]
- 子タブのデータについては、対応するカラム名の前に"子タブのテーブル名>"を付加する。例:受注伝票明細の品目フィールド→C_OrderLine>M_Product_ID[Value]
- レコードの識別情報となる項目には、ヘッダー項目名の最後に"/K"もしくは"/KT"を指定します。"/KT"を指定した場合は、インポート処理全体を1つのトランザクションとして処理し、エラーがあればすべてロールバックされます。"/KT"と指定しなかった場合は、レコード毎にコミットされます。
- インポートの後に伝票ステータス更新処理を実行したい場合は…
◆データ作成のルール
インポートファイルローダーのインポート処理では、ウィンドウでデータを登録するように、デフォルト値の設定やコールアウトが実行されます。その事を前提にデータを作成する必要があります。
- デフォルト設定などで初期設定されている値を空欄にしたい場合は、値に"(null)"と設定します。
ファイルフォーマットの自動作成
ファイルフォーマットは、ウィンドウのツールバーのアイコンのエクスポートを実行しCSV形式でダウンロードすると簡単に作成できます。
●ファイルの種類にCSVを選択して下さい。
●選択行のみエクスポートをONにして下さい。
●選択しているタブのデータの他に一緒にエクスポートする子タブを選択して下さい。
以上で、選択した行のデータがCSV形式でエクスポートされます。それを開くと、ヘッダー部分がインポートフォーマットのルールにそって作成されていますので、必要に応じて修正し、インポートフォーマットとして活用できます。
【補足説明】CSV形式でエクスポートできる子タブについて
CSV形式で一緒にダウンロードできる子タブには次のような制限があります。
- 非表示の子タブはダウンロードできません。
- タブレベルが1より大きい子タブのダウンロードはできません。
- 読取専用の子タブはダウンロードできません。
- 会計情報のタブはダウンロードできません。
- ソートタブはダウンロードできません。
【補足説明】CSV形式でダウンロードできるフィールドについて
CSV形式でダウンロードされるフィールドは画面に表示されている全てのフィールドがダウンロードされるわけではありません。次のようなルールがあります。
- 一覧表示されているフィールドがダウンロード対象となります。
- バーチャルカラムのフィールドはダウンロード対象外です。
- 暗号表示されているフィールドはダウンロード対象外です。
- 読取専用のフィールドはダウンロード対象外です。
- ボタンのフィールドはダウンロード対象外です。
- AD_Client_IDのフィールドはダウンロード対象外です。
インポート
インポートファイルローダーを使用すると、ウィンドウでデータをインポートする事ができます。インポートするファイルの形式はCSVのみです。インポート方法には、次の3種類があります。
- インサート…インポートするCSVデータをすべて新規レコードとして登録します。
- アップデート…インポートするCSVデータを既存データの更新として処理します。既存データを識別するキーカラムにはインポートデータのヘッダー行に"/K"もしくは"/KT"を付けます。
- マージ…既存データがある場合には、"アップデート"され、既存データがない場合には"インサート"されます。
インポートファイルローダーアイコンからのインポート
ツールバーのインポートファイルローダーのアイコンよりインポートを実行します。
文字コードはCSVを、Excelで編集している場合には、Windows-31jを選択すると文字化けに悩まされなくて済むと思います。
◆サンプルデータ1
例えば受注伝票をインポートしたい場合、ヘッダーの伝票番号のカラムにレコード識別のキー情報になる印として"/K"をつけます。そして、明細にはC_Order_IDとLineに明細の識別キー情報の印として"/K"をつけます。
◆サンプルデータ2:伝票ステータス更新処理を実施する
例えば受注伝票をインポートしたい場合、インポート後に伝票ステータス更新処理を実施する場合は"DocAction"カラムを追加して、行う伝票ステータス更新処理をセットします。伝票ステータス更新処理が実行できるかどうかは、伝票ステータスに依存するので注意して下さい。
伝票ステータス更新処理を入力する際には、入力する値はログイン言語に依存するので気を付けて下さい。
例えば、"Complete"の伝票ステータス更新処理を実施した場合、日本語でログインしているのであれば、"完成にする"と入力します。
CSVインポートファイルローダーアイコンからのインポート
ツールバーのCSVインポートファイルローダーのアイコンよりインポートを実行します。CSVインポートファイルローダーを使用するためには、インポートテンプレートの設定が必要になります。
インポートテンプレートを使用すると、ヘッダー項目にエイリアスを設定できますので、業務担当者に理解しやすい文字に置き換える事ができます。
◆インポートテンプレート
ヘッダーエイリアスを使用すると、業務担当者にとってわかりやす項目名でCSVデータを作成する事ができます。
CSVインポートプロセスからのインポート
CSVインポートプロセスによりインポートする事で、インポートプロセスをスケジュー化して定期的に自動実行させる事ができます。