华为MetaERP Oracle EBS R12 / Fusion SLA 子分类账会计一、核心后台物理表(EBS 与 Fusion 表名基本兼容,Fusion 增加分区、扩展列,前缀统一 XLA_
2026/9/5 12:42:42 网站建设 项目流程

Oracle EBS R12 / Fusion SLA 子分类账会计

一、核心后台物理表(EBS 与 Fusion 表名基本兼容,Fusion 增加分区、扩展列,前缀统一 XLA_)

说明:Fusion Cloud 不允许直接 DML 操作 XLA 底层表,仅支持查询;EBS 本地版可查询,严禁业务直接 Update/Insert XLA 表。

1. 运行时事务数据表(产生会计事件、分录)

1)XLA_EVENTS 会计事件主表(最核心追踪表)

sql

--关键字段 EVENT_ID NUMBER PK APPLICATION_ID NUMBER --模块ID(200 AP,222 AR,275 PA,70 INV) ENTITY_ID NUMBER --事件实体ID EVENT_CLASS_CODE VARCHAR2(30) EVENT_TYPE_CODE VARCHAR2(30) SOURCE_ID_INT_1 NUMBER --上游交易主键1(如INVOICE_ID) SOURCE_ID_INT_2 NUMBER --上游交易主键2 SOURCE_ID_CHAR_1 VARCHAR2(30) ACCOUNTING_DATE DATE --会计日期 EVENT_STATUS_CODE VARCHAR2(1) -- U:Unprocessed 未创建分录 -- I:In Progress 处理中 -- P:Processed 已生成分录 -- E:Error 报错 PROCESS_STATUS_CODE VARCHAR2(1) CREATION_DATE DATE

2)XLA_AE_HEADERS SLA 会计分录头

sql

AE_HEADER_ID NUMBER PK EVENT_ID NUMBER FK -> XLA_EVENTS LEDGER_ID NUMBER JE_CATEGORY_CODE VARCHAR2(30) ACCOUNTING_DATE DATE TRANSACTION_DATE DATE GL_TRANSFER_STATUS VARCHAR2(1) -- N:未传输GL / Y:已传输 / E:传输失败 TRANSFER_REQUEST_ID NUMBER

3)XLA_AE_LINES SLA 分录行(核算明细)

sql

AE_LINE_ID NUMBER PK AE_HEADER_ID NUMBER FK CODE_COMBINATION_ID NUMBER FK -> GL_CODE_COMBINATIONS DR_CR_FLAG VARCHAR2(1) -- D借 C贷 CURRENCY_CODE VARCHAR2(15) ENTERED_AMOUNT NUMBER --交易币种金额 ACCOUNTED_AMOUNT NUMBER --本位币金额 EXCHANGE_RATE NUMBER JOURNAL_LINE_TYPE_CODE VARCHAR2(30) BALANCE_TYPE_CODE VARCHAR2(1) --A实际/B预算 SOURCE_TABLE VARCHAR2(30) SOURCE_ID NUMBER

4)XLA_ACCOUNTING_ERRORS SLA 报错日志表

排查无法生成会计分录首要查询表

sql

ERROR_ID EVENT_ID AE_HEADER_ID MESSAGE_TEXT --错误文本 MESSAGE_TYPE_CODE CREATION_DATE

2. SLA 元数据配置表(所有前台 SLA 配置存储位置)

plaintext

XLA_ENTITIES 事件实体定义 XLA_EVENT_CLASSES 事件类 XLA_EVENT_TYPES 事件类型 XLA_ACCOUNTING_METHODS_B 会计方法 XLA_JOURNAL_HEADERS_B 分录标题定义 XLA_JOURNAL_LINES_B 分录行模板 XLA_ACCOUNT_DERIVATIONS_B ADR账户推导规则 XLA_MAPPING_SETS_B 映射集 XLA_RULE_CONDITIONS_B 规则条件 XLA_SOURCE_DEFINITIONS SLA数据源定义 XLA_EVENT_SETUP 事件实体+分录规则绑定关系

3. SLA→GL 传输相关表

plaintext

XLA_GL_TRANSFER_INTERFACE SLA推送GL中间临时表 GL_INTERFACE GL标准接口表 GL_JE_HEADERS / GL_JE_LINES GL正式日记账

4. 常用关联视图(查询标准追溯链路)

sql

--完整链路:业务交易 → SLA事件 → SLA分录头 → SLA分录行 → 科目组合 SELECT xe.event_id, xaah.ae_header_id, xaal.ae_line_id, gcc.code_combination_id, gcc.segment1, gcc.segment2, gcc.segment3, gcc.segment4, xaal.dr_cr_flag, xaal.entered_amount, xaal.accounted_amount, xe.source_id_int_1 trx_id, xe.event_status_code, xaah.gl_transfer_status FROM xla_events xe JOIN xla_ae_headers xaah ON xe.event_id = xaah.event_id JOIN xla_ae_lines xaal ON xaah.ae_header_id = xaal.ae_header_id JOIN gl_code_combinations gcc ON xaal.code_combination_id = gcc.code_combination_id WHERE xe.application_id = 200 --AP模块 AND xe.accounting_date >= TO_DATE('2026-01-01','YYYY-MM-DD');

二、EBS SLA 核心标准包 & 程序示例

Fusion Cloud 不再开放并发请求底层 PLSQL 直接调用,改用 REST API;下面 PLSQL 仅适用于 EBS R12

包清单

  1. XLA_ACCOUNTING_PUB_PKG【最重要】公共 API:创建会计分录
  2. XLA_ACCOUNTING_MAIN_PKG SLA 内部核心引擎包(私有,不建议直接调用)
  3. XLA_EVENTS_PUB_PKG 会计事件新建 / 更新公共 API
  4. XLA_GL_TRANSFER_PUB_PKG SLA 分录传输至 GL 接口

示例 1:XLA_ACCOUNTING_PUB_PKG 创建会计分录(标准模板)

plsql

DECLARE l_appl_id NUMBER := 200; --AP Application ID l_ledger_id NUMBER := 1001; --替换为本帐簿ID l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(4000); BEGIN XLA_ACCOUNTING_PUB_PKG.Create_Accounting( p_application_id => l_appl_id, p_ledger_id => l_ledger_id, p_accounting_mode => 'F', --F Final正式 / D Draft草稿 p_transfer_to_gl => 'Y', --是否传输GL p_gl_post => 'N', --是否自动过账GL p_validation_level => 1, p_entity_id => NULL, p_event_id => NULL, --指定单个event_id可只处理单笔交易 p_source_application_id => NULL, p_return_status => l_return_status, p_msg_count => l_msg_count, p_msg_data => l_msg_data ); IF l_return_status = 'S' THEN DBMS_OUTPUT.PUT_LINE('创建会计分录成功'); ELSE DBMS_OUTPUT.PUT_LINE('异常:'||l_msg_data); END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM); END; /

定向单笔交易生成分录(指定 EVENT_ID)

只需传入p_event_id => xxx,适合问题单据单独重跑。

示例 2:查询 SLA 错误单据 SQL(运维高频)

sql

SELECT xe.event_id, xe.source_id_int_1 invoice_id, xe.event_status_code, xe.accounting_date, xaerr.message_text FROM xla_events xe JOIN xla_accounting_errors xaerr ON xe.event_id = xaerr.event_id WHERE xe.event_status_code = 'E' AND xe.application_id = 200 ORDER BY xe.creation_date DESC;

示例 3:新建会计事件 API 模板(模块开发生成自定义事件)

plsql

DECLARE l_event_id NUMBER; BEGIN XLA_EVENTS_PUB_PKG.Create_Event( p_application_id => 200, p_entity_id => 101, p_event_class_code => 'INVOICE', p_event_type_code => 'INVOICE_VALIDATION', p_source_id_int_1 => 12345, --AP_INVOICE_ID p_accounting_date => SYSDATE, p_event_status_code => 'U', x_event_id => l_event_id ); DBMS_OUTPUT.PUT_LINE('新建事件ID:'||l_event_id); END; /

示例 4:SLA 分录传输 GL 独立 API

plsql

DECLARE l_ret_status VARCHAR2(1); l_msg_cnt NUMBER; l_msg_dat VARCHAR2(4000); BEGIN XLA_GL_TRANSFER_PUB_PKG.Transfer_To_GL( p_application_id => 200, p_ledger_id => 1001, p_transfer_mode => 'B', p_return_status => l_ret_status, p_msg_count => l_msg_cnt, p_msg_data => l_msg_dat ); END; /

三、Fusion SLA 程序调用说明(无本地 PLSQL,使用 REST API)

Fusion 不能直接调用数据库 PLSQL,采用标准 SLA REST 资源

  1. Create Accounting:/fscmRestApi/resources/latest/subledgerAccounting/createAccounting
  2. 查询子分类账分录:/fscmRestApi/resources/latest/subledgerJournalEntries
  3. 查询会计事件:/fscmRestApi/resources/latest/subledgerAccountingEvents

Fusion API 简易 Payload 示例(创建会计分录)

json

{ "LedgerId": 1001, "ApplicationId": 200, "AccountingMode": "FINAL", "TransferToGLFlag": "Y", "GLPostFlag": "N", "AccountingDateFrom": "2026-08-01", "AccountingDateTo": "2026-08-31" }

四、实施 & 开发重要约束

  1. ❌ EBS 禁止直接 Insert/Update XLA_EVENTS、XLA_AE_HEADERS;必须使用官方 PUBLIC API;
  2. ❌ Fusion Cloud 禁止访问底层 XLA 物理表,只能通过 REST 视图查询;
  3. SLA 自定义科目逻辑优先使用【映射集、ADR 规则】,尽量少自定义 PLSQL 函数;
  4. 所有 XLA 表建立索引重点:EVENT_ID、AE_HEADER_ID、APPLICATION_ID+ACCOUNTING_DATE;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询