コンテンツにスキップ

FBDI(ファイルベース・データ・インポート)の仕組みと手順

① テンプレート(.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 とも書かれています。

コンポーネント 役割 例(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 には ヘッダー行がありません。列の位置で項目が決まります。REST API ガイドにある importBulkData の例の zip を展開すると、ApInvoicesInterface.csv はヘッダー行がなく、各行の末尾が END になっています。
  • 列とインタフェース表の対応はコントロール・ファイルで決まっています。テンプレートの列を削除したり並べ替えたりするとロードが失敗します。使わない列は非表示にします。
  • zip の中のファイル名は、テンプレートが生成した名前のまま使います。
  • 既定値を入れたくない列に #NULL を指定できる取込があります(AP 請求書では支払グループなど一部の列)。
  1. FBDI ガイドを開きます(File-Based Data Import (FBDI) for Financials/Procurement/SCM など)。
  2. 業務の章から取込を選びます(例:Payables > Payables Standard Invoice Import)。
  3. File Links からテンプレート(.xlsm)を、必要ならコントロール・ファイルも取得します。

テンプレートは環境のリリースに合ったものを使います。テンプレートは Windows 版 Excel 用で、Mac 版はありません。

2. データを入力して CSV を生成する

Section titled “2. データを入力して CSV を生成する”
  1. 各シートに入力します。列見出しのツールチップに入力方法が書かれています。
  2. 列の順序を変えず、列も削除しません。
  3. Instructions and CSV Generation シートの Generate CSV File をクリックし、zip を保存します。
  1. ナビゲータ > ツール > File Import and Export を開きます。
  2. Upload アイコンをクリックし、zip を選びます。
  3. 取込に対応するアカウント(例: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 を実行する”
  1. ナビゲータ > ツール > スケジュール済プロセス(Scheduled Processes)で Schedule New Process をクリックします。
  2. インポート用インタフェース・ファイルのロード(Load Interface File for Import)を選びます。
  3. Import Process に取込(例:Import Payables Invoices)、Data File にアップロードした zip を指定して投入します。
  4. 状態が 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 結果レポートの監査部分を要約する
  1. インポート・プロセスの出力(レポート)で、作成件数とリジェクトされたレコードを確認します。
  2. 業務の画面で作成されたデータを確認します。AP なら請求書を検索し、検証(Validate)まで進めます。

必要な権限は、取込を実行する業務ロール(AP なら請求書を扱うジョブロール)と UCM アカウントへのアクセスです。スケジュール済プロセスの作業領域には Manage Scheduled Processes(FND_MANAGE_SCHEDULED_PROCESSES_PRIV)が必要です。正確なロールは各製品のセキュリティ・リファレンスで確認します。

段階 主な原因 確認する場所 対処
アップロード アカウントの選び間違い File Import and Export、Data File の選択肢 正しいアカウントに上げ直す
ロード 列の削除・並べ替え、型・桁、zip 内のファイル名 Load Interface File for Import のログ・出力 テンプレートから CSV を作り直して再ロード
インポート マスタがない、勘定が無効、番号の重複、期間がクローズ インポート・プロセスの出力、インタフェース表 修正スプレッドシートで直して再インポート、またはパージして再ロード

インポート・プロセスが正常終了していても、一部の行がリジェクトされていることがあります。出力レポートは毎回確認します。

インタフェース表の状態は、BI Publisher のデータモデルなどで SQL を実行して確認できます。GL の例です(列の詳細は Tables and Views で確認します)。

GL_INTERFACE の状態別件数(BI Publisher のデータモデル)
SELECT gi.status,
gi.user_je_source_name,
gi.group_id,
COUNT(*) AS row_count
FROM gl_interface gi
WHERE gi.ledger_id = :P_LEDGER_ID
GROUP BY gi.status, gi.user_je_source_name, gi.group_id
ORDER BY gi.status

GL では、Import Journals のログと出力でエラー行を確認します。エラーコードの意味は公式の Error Codes for Journal Import にまとまっています。

  • 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 の中身を確かめる”
zip のファイル名と行数を確認する
python3 -m zipfile -l ApInvoices_20261015_01.zip
unzip -p ApInvoices_20261015_01.zip ApInvoicesInterface.csv | wc -l

テンプレートで作った CSV でも、元データの改行やカンマで列がずれることがあります。アップロード前に列数がそろっているかを確かめると、ロードのエラーを減らせます。

check_csv_columns.py
import csv
import sys
from collections import Counter
# 使い方: python3 check_csv_columns.py ApInvoicesInterface.csv
path = 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 回の呼び出しにします。
  • 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

本サイトは学習目的で個人が作成した非公式の教材であり、Oracle Corporation およびその関連会社とは関係ありません。内容の正確性は保証しません。最新の仕様・試験範囲は必ず公式ドキュメントと Oracle University の情報で確認してください。

模擬テストの問題は公開されている出題範囲(Exam Topics)と公式ドキュメントをもとに独自に作成したもので、実際の試験問題ではありません。

Oracle、Java、MySQL は Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。その他の製品名・会社名は各社の商標です。

© 2026 Fusion ERP 実装ラボ