FBDI(ファイルベース・データ・インポート)の仕組みと手順
データの流れ
Section titled “データの流れ”① テンプレート(.xlsm)にデータを入力する ↓ Instructions and CSV Generation シートの Generate CSV File② CSV をまとめた zip ができる(例:ApInvoicesInterface.csv ほか) ↓ ナビゲータ > ツール > File Import and Export でアップロード③ UCM のアカウントに格納される(例:fin/payables/import) ↓ インポート用インタフェース・ファイルのロード(Load Interface File for Import)④ インタフェース表に行が入る(例:AP_INVOICES_INTERFACE、AP_INVOICE_LINES_INTERFACE) ↓ インポート・プロセス(例:Import Payables Invoices)⑤ 本表に登録される(請求書として画面・REST で参照できる)UCM は Oracle WebCenter Content のことで、Fusion のファイル置き場です。公式ガイドでは Oracle Universal Content Management とも書かれています。
登場するコンポーネント
Section titled “登場するコンポーネント”| コンポーネント | 役割 | 例(AP 請求書) |
|---|---|---|
| テンプレート(.xlsm) | 入力シートと CSV 生成マクロ。シートがインタフェース表に対応する | PayablesStandardInvoiceImportTemplate.xlsm |
| コントロール・ファイル(.ctl) | CSV の列とインタフェース表の列の対応を定義する | ApInvoicesInterface.ctl、ApInvoiceLinesInterface.ctl |
| UCM アカウント | アップロード先の区画。取込の種類ごとに決まっている | fin/payables/import |
| Load Interface File for Import | zip を取り出し、CSV をインタフェース表へロードする | 子ジョブ Transfer File、Load File to Interface |
| インタフェース表 | 取込待ちのデータとエラーを保持する | AP_INVOICES_INTERFACE |
| インポート・プロセス | 業務ルールで検証して本表へ登録し、結果を出力する | Import Payables Invoices |
CSV の特徴
Section titled “CSV の特徴”- テンプレートが生成する CSV には ヘッダー行がありません。列の位置で項目が決まります。REST API ガイドにある importBulkData の例の zip を展開すると、
ApInvoicesInterface.csvはヘッダー行がなく、各行の末尾がENDになっています。 - 列とインタフェース表の対応はコントロール・ファイルで決まっています。テンプレートの列を削除したり並べ替えたりするとロードが失敗します。使わない列は非表示にします。
- zip の中のファイル名は、テンプレートが生成した名前のまま使います。
- 既定値を入れたくない列に
#NULLを指定できる取込があります(AP 請求書では支払グループなど一部の列)。
設定・実装の手順
Section titled “設定・実装の手順”1. テンプレートを入手する
Section titled “1. テンプレートを入手する”- FBDI ガイドを開きます(File-Based Data Import (FBDI) for Financials/Procurement/SCM など)。
- 業務の章から取込を選びます(例:Payables > Payables Standard Invoice Import)。
- File Links からテンプレート(.xlsm)を、必要ならコントロール・ファイルも取得します。
テンプレートは環境のリリースに合ったものを使います。テンプレートは Windows 版 Excel 用で、Mac 版はありません。
2. データを入力して CSV を生成する
Section titled “2. データを入力して CSV を生成する”- 各シートに入力します。列見出しのツールチップに入力方法が書かれています。
- 列の順序を変えず、列も削除しません。
- Instructions and CSV Generation シートの Generate CSV File をクリックし、zip を保存します。
3. UCM にアップロードする
Section titled “3. UCM にアップロードする”- ナビゲータ > ツール > File Import and Export を開きます。
- Upload アイコンをクリックし、zip を選びます。
- 取込に対応するアカウント(例:fin/payables/import)を選び、Save and Close をクリックします。
Web サービスで同じことをするときは、DocumentAccount を公式例どおり fin$/payables$/import$ の形式で指定します(erpintegrations)。
4. Load Interface File for Import を実行する
Section titled “4. Load Interface File for Import を実行する”- ナビゲータ > ツール > スケジュール済プロセス(Scheduled Processes)で Schedule New Process をクリックします。
- インポート用インタフェース・ファイルのロード(Load Interface File for Import)を選びます。
- Import Process に取込(例:Import Payables Invoices)、Data File にアップロードした zip を指定して投入します。
- 状態が Succeeded になったことを確認します。
5. インポート・プロセスを実行する
Section titled “5. インポート・プロセスを実行する”スケジュール済プロセスから業務のインポート・プロセスを投入します。GL の Import Journals のように、業務の作業領域(Journals)から実行するものもあります。AP の Import Payables Invoices の主なパラメータは次のとおりです。
| パラメータ | 内容 |
|---|---|
| Business unit/Ledger | 対象の BU・元帳 |
| Source | 請求書ソース。テンプレートで取り込むときは External を選ぶ |
| Import Set | 指定した Import Set の請求書だけを取り込む。同じ Source のデータでも、要求ごとに一意にすると処理時間が短くなる |
| Accounting Date | 明細・ヘッダーに会計日がない請求書に使う |
| Purge | 取込に成功したレコードをインタフェース表から削除する |
| Summarize Report | 結果レポートの監査部分を要約する |
6. 結果を確認する
Section titled “6. 結果を確認する”- インポート・プロセスの出力(レポート)で、作成件数とリジェクトされたレコードを確認します。
- 業務の画面で作成されたデータを確認します。AP なら請求書を検索し、検証(Validate)まで進めます。
必要な権限は、取込を実行する業務ロール(AP なら請求書を扱うジョブロール)と UCM アカウントへのアクセスです。スケジュール済プロセスの作業領域には Manage Scheduled Processes(FND_MANAGE_SCHEDULED_PROCESSES_PRIV)が必要です。正確なロールは各製品のセキュリティ・リファレンスで確認します。
エラーが起きる段階
Section titled “エラーが起きる段階”| 段階 | 主な原因 | 確認する場所 | 対処 |
|---|---|---|---|
| アップロード | アカウントの選び間違い | File Import and Export、Data File の選択肢 | 正しいアカウントに上げ直す |
| ロード | 列の削除・並べ替え、型・桁、zip 内のファイル名 | Load Interface File for Import のログ・出力 | テンプレートから CSV を作り直して再ロード |
| インポート | マスタがない、勘定が無効、番号の重複、期間がクローズ | インポート・プロセスの出力、インタフェース表 | 修正スプレッドシートで直して再インポート、またはパージして再ロード |
インポート・プロセスが正常終了していても、一部の行がリジェクトされていることがあります。出力レポートは毎回確認します。
インタフェース表を確認する
Section titled “インタフェース表を確認する”インタフェース表の状態は、BI Publisher のデータモデルなどで SQL を実行して確認できます。GL の例です(列の詳細は Tables and Views で確認します)。
SELECT gi.status, gi.user_je_source_name, gi.group_id, COUNT(*) AS row_countFROM gl_interface giWHERE gi.ledger_id = :P_LEDGER_IDGROUP BY gi.status, gi.user_je_source_name, gi.group_idORDER BY gi.statusGL では、Import Journals のログと出力でエラー行を確認します。エラーコードの意味は公式の Error Codes for Journal Import にまとまっています。
修正して再投入する
Section titled “修正して再投入する”- AP 請求書:Correct Import Errors(タスクまたはスプレッドシート)でリジェクトされた行を直し、アップロードして Import Payables Invoices を再実行します。税の設定に起因するエラーなど、スプレッドシートに出ないエラーもあるため、ログも確認します。
- GL 仕訳:Journals 作業領域の Correct Import Errors で訂正用ワークシートを取得し、Source と Group ID でエラー行を検索して直し、Upload します。不要なエラー行は Delete Import Data に Import Journals のプロセス ID を指定して削除します。
- 修正の仕組みがない取込:インタフェース表のデータをパージし、元データを直して再ロードします。
修正スプレッドシートの使い方は ADFdi で扱います。
- 各 FBDI の取込には自動パージがあり、30 日より古い インタフェース表のデータが削除されます。
- 手動で消すときは Purge Interface Tables を実行します。GL の手順では、Purge Process Intent を既定の File-based data import のまま、Import Process に取込(Import Journals)、Load Request ID に Load Interface File for Import のプロセス ID を指定します。GL では、インポート前のデータ(インタフェース行の状態が NEW)だけをこの方法で消せます。
- 取込固有のパージもあります。Import Payables Invoices の Purge は、BU・ソース・Import Set が一致する取込済みのレコードを削除します。この 3 つが一致すれば、前の実行で処理されたレコードも今回の実行で削除されます。請求書になっていない行は残ります(Payables のガイド、26C)。
主要テンプレートとインポート・プロセス
Section titled “主要テンプレートとインポート・プロセス”26C の FBDI ガイドで確認した値です。リリースで変わることがあるため、使う前に対象リリースのガイドで確認します。
| 取込(ガイドの項目名) | テンプレート | 主なインタフェース表 | インポート・プロセス | UCM アカウント |
|---|---|---|---|---|
| Journal Import | JournalImportTemplate.xlsm | GL_INTERFACE | Import Journals | fin/generalLedger/import |
| Payables Standard Invoice Import | PayablesStandardInvoiceImportTemplate.xlsm | AP_INVOICES_INTERFACE、AP_INVOICE_LINES_INTERFACE | Import Payables Invoices | fin/payables/import |
| Supplier Bank Account Import | SupplierBankAccountImportTemplate.xlsm | IBY_TEMP_EXT_PAYEES、IBY_TEMP_EXT_BANK_ACCTS ほか | Import Supplier Bank Accounts | fin/payables/import |
| AutoInvoice Import | AutoInvoiceImportTemplate.xlsm | RA_INTERFACE_LINES_ALL、RA_INTERFACE_DISTRIBUTIONS_ALL ほか | Import AutoInvoice | fin/autoInvoice/import |
| Receivables Standard Receipt Import | ReceivablesStandardReceiptImportTemplate.xlsm | AR_PAYMENTS_INTERFACE_ALL | Process Receipts Through Lockbox | fin/receivablesStandardReceipt/import |
| Customer Import | CustomerImportTemplate.xlsm | HZ_IMP_PARTIES_T ほか(19 表) | Import Trading Community Data in Bulk | fin/receivables/import |
| Fixed Asset Mass Additions Import | FixedAssetMassAdditionsImportTemplate.xlsm | FA_MASS_ADDITIONS、FA_MASSADD_DISTRIBUTIONS ほか | Post Mass Additions | fin/fixedAsset/import |
| Import Suppliers | SupplierImportTemplate.xlsm | POZ_SUPPLIERS_INT | Import Suppliers | prc/supplier/import |
| Import Supplier Sites | SupplierSiteImportTemplate.xlsm | POZ_SUPPLIER_SITES_INT ほか | Import Supplier Sites | prc/supplier/import |
| Purchase Orders Import | POPurchaseOrderImportTemplate.xlsm | PO_HEADERS_INTERFACE、PO_LINES_INTERFACE ほか | Import Orders | prc/purchaseOrder/import |
| Item | ItemImportTemplate.xlsm | EGP_SYSTEM_ITEMS_INTERFACE ほか | Item Import | scm/item/import |
| Inventory Transaction Import | InventoryTransactionImportTemplate.xlsm | INV_TRANSACTIONS_INTERFACE ほか | Create Inventory Transactions | scm/inventoryTransaction/import |
このほか、GL には Import Segment Values and Hierarchies、Import and Calculate Daily Rates、Import General Ledger Budget Balances、Import Account Combinations などがあります。仕入先には住所・連絡先・サイト割当の取込もあります。一覧は各 FBDI ガイドの目次で確認できます。
アップロード前に zip の中身を確かめる
Section titled “アップロード前に zip の中身を確かめる”python3 -m zipfile -l ApInvoices_20261015_01.zipunzip -p ApInvoices_20261015_01.zip ApInvoicesInterface.csv | wc -lCSV の列数のずれを検出する
Section titled “CSV の列数のずれを検出する”テンプレートで作った CSV でも、元データの改行やカンマで列がずれることがあります。アップロード前に列数がそろっているかを確かめると、ロードのエラーを減らせます。
import csvimport sysfrom collections import Counter
# 使い方: python3 check_csv_columns.py ApInvoicesInterface.csvpath = sys.argv[1]with open(path, newline="", encoding="utf-8") as f: rows = list(csv.reader(f))
counts = Counter(len(row) for row in rows)print(f"{path}: {len(rows)} 行、列数の分布 {dict(counts)}")if len(counts) > 1: expected = counts.most_common(1)[0][0] for no, row in enumerate(rows, start=1): if len(row) != expected: print(f" {no} 行目の列数が {len(row)}(多数派は {expected}): {row[:3]}") sys.exit(1)落とし穴とベストプラクティス
Section titled “落とし穴とベストプラクティス”ベストプラクティスは次のとおりです。
- バッチを識別する値を毎回変える:AP の Import Set、GL の Group ID のように、取込のまとまりを識別する値を要求ごとに一意にします。再処理の範囲を絞れ、AP では処理も速くなります。
- ファイル名に日付と連番を入れる:例
ApInvoices_20261015_01.zip。ログやジョブの追跡が楽になります。 - リハーサルで件数・時間・エラー率を測る:本番の時間計画の根拠にします(移行設計)。
- 繰り返すなら自動化する:erpintegrations の importBulkData で、アップロードから取込までを 1 回の呼び出しにします。
試験対策ポイント
Section titled “試験対策ポイント”- GL 模擬テスト:Journal Import のテンプレートと GL_INTERFACE、Import Journals、Correct Import Errors、Purge Interface Tables
- AP 模擬テスト:Payables Standard Invoice Import、Import Payables Invoices のパラメータ(Source・Import Set・Purge)、Correct Import Errors
- AR 模擬テスト:AutoInvoice Import の 4 つのインタフェース表、Customer Import
- OIC 模擬テスト:FBDI の zip を ERP Cloud アダプタで取り込む流れ
覚えておくことです。
- 2 段階:Load Interface File for Import(インタフェース表へ)→ 業務のインポート・プロセス(本表へ)
- アップロード先は UCM。取込ごとにアカウントが決まっている
- インタフェース表のデータは 30 日で自動パージ。手動は Purge Interface Tables
公式ドキュメント
Section titled “公式ドキュメント”- Load Data into Tables(FBDI for Financials)
- External Data Integration Services for Importing Data
- Financials File-Based Data Imports
- Payables Standard Invoice Import
- Journal Import
- How Payables Standard Invoice Import Data Is Processed
- How Journal Import Data Is Processed
- File-Based Data Import (FBDI) for Procurement
- File-Based Data Import (FBDI) for SCM
本サイトは学習目的で個人が作成した非公式の教材であり、Oracle Corporation およびその関連会社とは関係ありません。内容の正確性は保証しません。最新の仕様・試験範囲は必ず公式ドキュメントと Oracle University の情報で確認してください。
模擬テストの問題は公開されている出題範囲(Exam Topics)と公式ドキュメントをもとに独自に作成したもので、実際の試験問題ではありません。
Oracle、Java、MySQL は Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。その他の製品名・会社名は各社の商標です。
© 2026 Fusion ERP 実装ラボ