コンテンツにスキップ

テーブル命名規則・Who 列・多言語・マルチ組織

Fusion Cloud では SQL*Plus や JDBC で DB に接続できません。テーブルを見る経路は次の 3 つです。

経路 使い方 向いている用途
BI Publisher(BIP) データモデルに SQL を書く 帳票、明細レポート、データ確認、照合
OTBI サブジェクト領域を選んで分析を作る(テーブルは直接書かない) 業務ユーザーの定型分析・ダッシュボード
BICC PVO(ビュー・オブジェクト)単位で CSV を一括抽出 DWH・データレイク連携、大量データ

テーブル名・列名を直接書くのは主に BIP の SQL です。BICC はテーブルではなく PVO を単位に抽出します(BICC)。本サイトの SQL 例は、BIP のデータモデル(SQL 問合せ)で実行する前提で書いています。

テーブル名は <接頭辞>_<名前>_<接尾辞> の形です。Tables and Views の各ページには「Schema:FUSION」「Object owner:GL/AP/PO/HZ など」が表示され、接頭辞がほぼ所有製品を表します。

接頭辞 製品・領域 表の例
GL_ 一般会計 GL_JE_LINES、GL_LEDGERS
AP_ 買掛管理 AP_INVOICES_ALL、AP_CHECKS_ALL
AR_ 売掛管理・回収 AR_AGING_BUCKETS、AR_COLLECTORS
IBY_ 支払(Payments) IBY_PAYMENT_METHODS_B
POZ_ 仕入先モデル POZ_SUPPLIERS、POZ_SUPPLIER_SITES_ALL_M
PO_ / POR_ 購買/セルフサービス調達(購買依頼) PO_HEADERS_ALL、POR_REQUISITION_HEADERS_ALL
HZ_ 取引先(TCA:パーティ・顧客) HZ_PARTIES、HZ_PARTY_SITES
EGP_ 品目(Product Model) EGP_SYSTEM_ITEMS_B、EGP_CATEGORIES_B
RCV_ 受入 RCV_TRANSACTIONS
XLE_ 法的エンティティ XLE_ENTITY_PROFILES
ZX_ / FA_ 税/固定資産 ZX_WITHHOLDING_LINES、FA_MASS_ADDITIONS
FND_ アプリケーション共通基盤 FND_CURRENCIES_B

このほか、補助元帳会計(SLA)の XLA_、受注管理の DOO_、在庫の INV_ などがあります。モジュール別の一覧は 主要テーブルマップ にまとめています。

接尾辞 意味 例 使い方のポイント
_ALL BU(組織)別のデータを 1 表に格納 AP_INVOICES_ALL BU 列(ORG_ID など)で絞る
_B 言語に依存しない基本表 AP_TERMS_B、IBY_PAYMENT_METHODS_B ID・コード・フラグを持つ
_TL 翻訳表(言語ごとに 1 行) AR_AGING_BUCKET_LINES_TL 必ず 1 言語に絞って結合
_VL _B と _TL を結合したビュー AR_AGING_BUCKET_LINES_VL 名称を取るときの第一候補
_V ビュー POZ_SUPPLIERS_V、GL_LEDGERS_ALL_V 元の SQL をドキュメントで確認
_F / _M 日付有効(履歴を持つ)表 POZ_SUPPLIER_SITES_ALL_M 基準日の条件が要るか確認
_INTERFACE / _INT インタフェース表(FBDI などの取込口) AP_INVOICES_INTERFACE、POZ_SUPPLIER_SITES_INT 取込エラーの調査に使う
_GT グローバル一時表 AP_INVOICE_DISTRIBUTIONS_GT 処理中のセッションだけが見えるため、レポートには使わない

_ALL 表は全 BU のデータを 1 つの表に持ち、行ごとに組織の ID を持ちます。Payables・Receivables では ORG_ID が BU の ID です(AP_INVOICES_ALL.ORG_ID は必須列で、コメントは「行に関連付けられた BU の識別子」)。一方、組織を表す列名は製品ごとに異なります。

列 指す組織 例
ORG_ID BU AP_INVOICES_ALL、AP_CHECKS_ALL
SET_OF_BOOKS_ID / LEDGER_ID 元帳 AP_INVOICES_ALL / GL_JE_LINES
LEGAL_ENTITY_ID 法的エンティティ AP_INVOICES_ALL
PRC_BU_ID 調達 BU PO_HEADERS_ALL、POZ_SUPPLIER_SITES_ALL_M
REQ_BU_ID / BILLTO_BU_ID 購買依頼 BU/請求先 BU PO_HEADERS_ALL
SHIP_TO_ORGANIZATION_ID など 在庫組織 PO_LINE_LOCATIONS_ALL

押さえておきたい点は次の 3 つです。

  1. SET_OF_BOOKS_ID は EBS 時代の名前ですが、Fusion では元帳 IDです(GL_LEDGERS への外部キー)。
  2. 購買は ORG_ID ではなく PRC_BU_ID が中心です。PO_LINES_ALL には ORG_ID 列がありません(26A のドキュメント)。BILLTO_BU_ID は「その発注の仕入先請求書を処理する BU」です。
  3. 支払条件などの参照データは BU ではなく参照データセットに紐づくものがあります。考え方は エンタープライズ構造 を参照してください。

名称や説明のように言語で変わる値は _TL 表に、言語に依存しない ID・コードは _B 表に分けて持ちます。_TL 表はインストール言語ごとに 1 行あるため、言語の条件を付けずに結合すると行が言語数だけ増えます。

  • 名称がほしいときは、まず _VL ビューを探します。_VL はセッション言語の行だけを返すように作られています。
  • _TL を直接使う場合は、言語の列(多くの表で LANGUAGE)で 1 言語に絞ります。言語コードは日本語が JA、英語(米国)が US です。
  • 帳票を常に同じ言語で出したい場合は、USERENV('LANG') ではなく言語コードを明示します。

_F や _M で終わる表は、同じキーの行を有効期間ごとに持つ「日付有効」表です。有効期間は EFFECTIVE_START_DATE/EFFECTIVE_END_DATE で表し、基準日を指定して 1 行に絞ります。

POZ_SUPPLIER_SITES_ALL_M(仕入先サイト)は、有効期間に加えて EFFECTIVE_SEQUENCE(同じ日の変更の順序)と EFFECTIVE_LATEST_CHANGE(その日の最新変更なら Y)を持ちます。一方で、ドキュメント上の主キーは VENDOR_SITE_ID だけです。このように「列はあるが実際に複数行を持つか」は表によって違うため、主キーと実データの行の持ち方を確認してから日付条件を付けるかどうかを決めます。

  • _INTERFACE/_INT は FBDI やインポート処理の取込口です。取込ジョブがここから本表へ登録します。エラー行はインタフェース表に残るため、移行時の調査に使います(FBDI)。
  • _GT はグローバル一時表です。処理を実行したセッションの中でしか行が見えないため、BIP から参照しても通常は 0 件です。

ほぼすべての表が、誰がいつ作成・更新したかを示す Who 列を持ちます(GL_JE_LINES、HZ_PARTIES の 26A/最新版の定義で確認)。

列 型 意味
CREATED_BY VARCHAR2(64) 作成したユーザー(ユーザー名)
CREATION_DATE TIMESTAMP 作成日時
LAST_UPDATED_BY VARCHAR2(64) 最終更新ユーザー(ユーザー名)
LAST_UPDATE_DATE TIMESTAMP 最終更新日時
LAST_UPDATE_LOGIN VARCHAR2(32) 最終更新時のセッションのログイン識別子
OBJECT_VERSION_NUMBER NUMBER(9) 更新のたびに増える版番号(楽観ロック)

使いどころは次のとおりです。

  • 監査・調査:誰がいつ変えたかを確認する。ユーザー名がそのまま入っているので、ユーザー表と結合しなくても表示できます。
  • 差分抽出:LAST_UPDATE_DATE で前回以降の変更行を取る。ただし子表だけが更新された場合、親表の更新日時は変わらないことがあるため、表ごとに判定します。
  • 楽観ロック:OBJECT_VERSION_NUMBER は読み込んだ時点と更新時点で値が違えば「他の人が先に更新した」と判断するための番号です。REST API で更新するときの競合の理解にも役立ちます。

Fusion の主キーは INVOICE_ID、VENDOR_ID、PO_HEADER_ID のような数値の内部 ID(多くは NUMBER(18))です。画面に出る番号や名称は別の列や別の表にあります。

ID 列 参照先 表示に使うもの
VENDOR_ID POZ_SUPPLIERS → HZ_PARTIES SEGMENT1(仕入先番号)、PARTY_NAME(仕入先名)
PARTY_ID HZ_PARTIES PARTY_NUMBER、PARTY_NAME
SET_OF_BOOKS_ID / LEDGER_ID GL_LEDGERS 元帳名(GL_LEDGERS_ALL_V でも取得できる)
~_CODE_COMBINATION_ID GL_CODE_COMBINATIONS 各セグメント値
LEGAL_ENTITY_ID XLE_ENTITY_PROFILES 法的エンティティ名
~_LOOKUP_CODE 参照タイプのビュー(例:AP_LOOKUP_CODES) コードの表示名
ITEM_ID / INVENTORY_ITEM_ID EGP_SYSTEM_ITEMS_B 品目番号・品目名

注意点が 3 つあります。

  1. 仕入先名は POZ_SUPPLIERS にありません。名称は HZ_PARTIES.PARTY_NAME にあり、POZ_SUPPLIERS_V を使うと VENDOR_NAME(仕入先名)と VENDOR_NAME_ALT(フリガナなどの音声読み名)をまとめて取れます。
  2. 番号は一意とは限りません。発注番号 PO_HEADERS_ALL.SEGMENT1 は文書タイプが違えば同じ番号になり得ます。一意に特定するには PO_HEADER_ID、または PRC_BU_ID+SEGMENT1+TYPE_LOOKUP_CODE を使います。
  3. トランザクションに名称のコピーを持つ表もあります。AP_CHECKS_ALL.VENDOR_NAME は監査用に支払時点の仕入先名を保持します。「現在の名称」と「当時の名称」のどちらを出すかを要件で決めます。

Tables and Views の読み方(設定・実装の手順)

Section titled “Tables and Views の読み方(設定・実装の手順)”
  1. 対象製品のドキュメントを開きます。Financials は「Tables and Views for Financials」、調達は「Tables and Views for Procurement」、SCM は「Tables and Views for SCM」です。HZ_ 系(TCA)は「Tables and Views for Sales, Fusion Service, and Field Service」に載っています。
  2. URL のリリース(例:/26a/)を自分の環境に合わせます。表や列はリリースで追加・変更されます。
  3. Details で Object type(TABLE か VIEW か)と Object owner を確認します。
  4. Primary Key で「1 行が何を表すか」をつかみます。例:AP_INVOICE_LINES_ALL は(INVOICE_ID, LINE_NUMBER)、AP_PAYMENT_SCHEDULES_ALL は(INVOICE_ID, PAYMENT_NUM)です。
  5. Columns で型・必須(Not-null)・コメントを見ます。コメントに「OBSOLETE」とある列(例:POZ_SUPPLIERS.ENABLED_FLAG)は使いません。
  6. Foreign Keys で結合先を確認します。「Table/Foreign Table/Foreign Key Column」の形で、この表から他表への参照と、他表からこの表への参照の両方が載っています。
  7. Indexes で絞り込みに効く列を確認します。例:GL_JE_LINES_N1(CODE_COMBINATION_ID, PERIOD_NAME)、AP_INVOICE_DISTRIBUTIONS_N18(ACCOUNTING_EVENT_ID)。
  8. ビューは SQL 定義が載っています。POZ_SUPPLIERS_V の定義を読むと、POZ_SUPPLIERS と HZ_PARTIES を PARTY_ID で結合していることが分かります。
Who 列と版番号を確認する(取引先)
SELECT hp.party_number,
hp.party_name,
hp.party_type, -- PERSON / ORGANIZATION / GROUP など
hp.created_by, -- ユーザー名(文字列)
hp.creation_date,
hp.last_updated_by,
hp.last_update_date,
hp.object_version_number
FROM hz_parties hp
WHERE hp.last_update_date >= :P_FROM_DATE
ORDER BY hp.last_update_date DESC
BU で絞り、仕入先番号・仕入先名を付ける(AP 請求書)
SELECT aia.org_id,
aia.invoice_num,
aia.invoice_date,
aia.invoice_amount,
aia.invoice_currency_code,
ps.segment1 AS supplier_number,
hp.party_name AS supplier_name
FROM ap_invoices_all aia
JOIN poz_suppliers ps ON ps.vendor_id = aia.vendor_id
JOIN hz_parties hp ON hp.party_id = ps.party_id
WHERE aia.org_id = :P_BU_ID
AND aia.gl_date BETWEEN :P_FROM_DATE AND :P_TO_DATE
同じことをビューで書く(フリガナ名も取得)
SELECT aia.invoice_num,
psv.segment1,
psv.vendor_name,
psv.vendor_name_alt
FROM ap_invoices_all aia
JOIN poz_suppliers_v psv ON psv.vendor_id = aia.vendor_id
WHERE aia.org_id = :P_BU_ID
多言語表の結合パターン(<…> は表に合わせて置き換え)
SELECT b.<コード列>,
t.<名称列>
FROM <名前>_B b
JOIN <名前>_TL t
ON t.<ID列> = b.<ID列>
AND t.language = 'JA' -- 1 言語に絞らないと行が言語数だけ増える
日付有効の列を使うパターン(仕入先サイト)
SELECT pssam.vendor_site_id,
pssam.vendor_site_code,
pssam.prc_bu_id,
pssam.effective_start_date,
pssam.effective_end_date
FROM poz_supplier_sites_all_m pssam
WHERE pssam.vendor_id = :P_VENDOR_ID
AND :P_AS_OF_DATE BETWEEN pssam.effective_start_date AND pssam.effective_end_date
-- 主キーは VENDOR_SITE_ID のみ。実データで複数行あるかを確認してから条件を決める

落とし穴とベストプラクティス

Section titled “落とし穴とベストプラクティス”

ベストプラクティスは次のとおりです。

  • SQL には表の別名(aia=AP_INVOICES_ALL など)を付け、SELECT * は使わずに必要な列だけを書きます。
  • 期間・BU・元帳などの条件はバインド変数(:P_BU_ID など)にして、レポートのパラメータから渡します。
  • BIP の SQL では、画面のデータ・アクセス・セットや BU 単位のデータ・セキュリティが自動では効かないことがあります。誰がどの範囲を見てよいかを、パラメータ・カタログの権限で設計します(セキュリティ設計)。
  • 四半期アップデートの前後で、使っている表・列が Tables and Views から消えていないかを確認します。
  • 表名そのものより、表が分かれている理由(BU・元帳・法的エンティティ・参照データセット)の理解が試験と実務の両方で効きます。組織構造は GL 模擬テスト、BU と請求書・支払の関係は AP 模擬テスト、調達 BU・請求先 BU は 調達 模擬テスト で確認しましょう。
  • 覚えるべき用語:営業単位(BU)、調達 BU、請求先 BU(Bill-to BU)、元帳、法的エンティティ、参照データセット、取引先(パーティ)と仕入先の関係。

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

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

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

© 2026 Fusion ERP 実装ラボ