十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

华为MetaERP Oracle EBS SLA 与 Fusion SLA(Subledger Accounting 子分类账会计)完整深度解析适用范围:EBS R12.x SLA、Oracle F

华为MetaERP Oracle EBS SLA 与 Fusion SLA(Subledger Accounting 子分类账会计)完整深度解析适用范围:EBS R12.x SLA、Oracle F Oracle EBS SLA 与 Fusion SLASubledger Accounting 子分类账会计完整深度解析适用范围EBS R12.x SLA、Oracle Fusion Cloud Financials SLA聚焦交易核算核心覆盖设计哲学、底层原理、业务对象、逻辑实体、物理表、关键程序、对比差异、实操示例。 SLA 定位子分类账统一会计引擎所有业务模块AP/AR/PA/INV/FA/PO 等交易→SLA 生成会计分录→推送 GL是 EBS 向 Fusion 演进最重要的架构底座。一、SLA 顶层设计哲学1.1 核心设计思想EBS R12 首创Fusion 继承并云化增强交易与会计彻底解耦业务交易应付发票、收款、项目支出、库存移动只记录业务事实不固化会计科目会计规则统一外置在 SLA业务模块不再硬编码会计分录。R11i 时代痛点AP/AR/INV 各自内置分录逻辑改会计规则必须改代码R12 引入 SLA 实现规则配置化。单一会计数据源多会计表示同一笔业务交易可以生成多套会计分录主帐簿、二级帐簿、报告帐簿、外币帐簿、税法帐簿支持多会计准则IFRS / 本地 GAAP并行核算。会计分录可追溯、可审计GL 日记账 ← SLA 会计分录 ← SLA 事件 ← 业务原始交易完整链路追踪满足内控、SOX 审计。规则驱动无代码配置优先使用「会计方法、分录规则、账户推导、条件」配置生成科目尽量避免客户化开发Fusion 进一步强化规则框架弱化 Form 客户化。统一的子分类账标准所有业务模块共用同一套 SLA 引擎统一分录结构、统一追溯模型、统一过账 GL 接口。1.2 EBS SLA vs Fusion SLA 哲学细微差异维度EBS R12 SLAOracle Fusion SLA部署形态本地应用基于 Forms/OAF云原生PAASREST API 为主规则存储主要存数据库少量 PLSQL 扩展规则元数据纳入云元数据管理支持版本化、部署集扩展方式PLSQL 函数、客户化触发器PLSQL 受限主推规则集、条件、BI Publisher、ADF 扩展多账簿主账簿 辅助账簿转换规则有限多账簿、多分类帐、多报告币种、多会计标准原生强化事件模型基于事务对象 事件类型事件模型重构更细粒度支持异步事件队列核算并发并发请求Submit Concurrent云异步 Job、事件驱动架构二、SLA 底层核心原理事件驱动会计模型2.1 标准数据流整条交易核算链路plaintext业务模块原始交易AP发票/AR收款/PA支出/INV物料事务处理 ↓ 业务模块产生**事务对象Transaction Object** ↓ 【SLA事件生成】Create Accounting Event ↓ SLA引擎加载会计方法定义、分录规则、账户推导规则 ↓ 应用规则生成**SLA会计分录SLAs** ↓ 验证分录、外币换算、摊销、冲销处理 ↓ 【过账】Transfer to GL → GL_INTERFACE → GL_JE_HEADERS/LINES2.2 三大核心概念原理会计事件 Accounting Event业务上具备会计影响的动作发票创建、发票验证、付款、收款、库存发货、项目成本归集。一条业务交易可以产生多条会计事件例AP 发票验证事件、AP 付款事件为两个独立事件。事件实体 Event Entity代表一类业务对象AP 发票、AR 事务、PA 支出、INV 物料交易每一类实体对应一套数据源视图。会计方法 Accounting Method规则集合容器分配给分类帐系统根据账簿绑定的会计方法决定采用哪一套分录规则生成分录。三、SLA 完整对象模型业务对象 → 逻辑实体 → 物理表3.1 层级划分业务对象Business Object→逻辑实体Logical Entity→SLA 运行时对象→数据库物理表Physical Table3.2 第一层业务对象上游各模块交易列举常用上游业务对象AP应付发票 AP_INVOICES_ALL、付款 AP_CHECKS_ALLAR应收事务 AR_TRANSACTIONS_ALL、收款 AR_CASH_RECEIPTS_ALLPA项目支出 PA_EXPENDITURE_ITEMS_ALL、项目分配INV物料事务 MTL_MATERIAL_TRANSACTIONSFA资产增加、折旧 FA_ADDITIONS、FA_DEPRECIATIONPO接收事务 RCV_TRANSACTIONS重点业务表不存会计科目只存业务关键字段供应商、客户、项目、物料、成本类型等。3.3 第二层SLA 逻辑实体Logical EntitySLA 元数据定义层逻辑实体 SLA 配置层定义的元数据对象所有配置界面基于这些对象1事件实体 XLA_ENTITIES每一类业务对象对应一个事件实体AP InvoicesAR TransactionsPA ExpendituresInventory Material Transactions2事件类 XLA_EVENT_CLASSES事件实体下细分业务类型 例事件实体 AP Invoices事件类Invoice Validation、Prepayment Application3事件类型 XLA_EVENT_TYPES事件类下区分会计动作生成何种分录实体 → 类 → 类型 三层结构用来绑定分录规则4应用会计方法定义 XLA_ACCOUNTING_METHODS会计方法如 accrual, cash basis5分录标题定义 XLA_AE_HEADERS定义分录头模板是否允许冲销、描述来源6分录行定义 XLA_AE_LINES分录行模板借 / 贷行、行类型、账户推导规则7账户推导规则 ADR (Account Derivation Rules)核心如何从业务交易字段映射科目段 支持常量、来源字段、PLSQL 函数、条件判断8Journal Line TypesJLT 分录行类型区分资产 / 负债 / 收入 / 成本定义借贷方向、外币规则【逻辑实体汇总关系】 账簿 → 分配会计方法 → 会计方法绑定分录集 → 分录集绑定【事件实体 事件类 事件类型】→ 分录头 分录行定义 → 分录行挂载账户推导规则 ADR3.4 第三层SLA 运行时对象内存对象Accounting Event会计事件实例Application Event Object从业务表提取的交易数据源视图AE Header会计分录头运行实例AE Line会计分录行运行实例分配对象币种、汇率、帐簿、转换规则3.5 第四层物理后台表EBS Fusion 基础表Fusion 表名大体兼容部分增加分区、列扩展XLA 表前缀 Subledger Accounting 事件层存储发生了哪些业务会计事件XLA_EVENTS会计事件主表核心表 EVENT_ID主键 ENTITY_ID 事件实体 EVENT_CLASS_CODE / EVENT_TYPE_CODE SOURCE_ID_INT_1 / SOURCE_ID_INT_2指向上游业务交易主键例如 AP 发票 ID EVENT_STATUS_CODEU 未创建会计分录 / I 处理中 / P 已创建 / E 错误 ACCOUNTING_DATE 会计日期关联示例XLA_EVENTS.SOURCE_ID_INT_1 AP_INVOICES_ALL.INVOICE_ID 会计分录层SLA 生成的分录核心核算表XLA_AE_HEADERSSLA 分录头 AE_HEADER_ID PK EVENT_ID 关联 XLA_EVENTS LEDGER_ID 帐簿 JE_CATEGORY 日记账类别 TRANSACTION_DATE、ACCOUNTING_DATE GL_TRANSFER_STATUS是否已传送 GLXLA_AE_LINESSLA 分录行最重要明细表 AE_LINE_ID PK AE_HEADER_ID CODE_COMBINATION_ID 科目组合 IDCCID BALANCE_TYPE_CODE 实际 / 预算 CURRENCY_CODE ENTERED_AMOUNT 交易币种金额 ACCOUNTED_AMOUNT 本位币金额 DR_CR_FLAG D 借 / C 贷 JOURNAL_LINE_TYPE_CODE SOURCE_TABLE、SOURCE_ID 追溯业务来源 元数据配置表所有 SLA 配置存储位置XLA_ENTITIES 事件实体XLA_EVENT_CLASSES 事件类XLA_EVENT_TYPES 事件类型XLA_ACCT_METHODS_B /_TL 会计方法XLA_JOURNAL_HEADERS_B 分录标题定义XLA_JOURNAL_LINES_B 分录行定义XLA_ACCOUNT_DERIVATIONS_B ADR 账户推导规则XLA_MAPPING_SETS 映射集常用字段映射科目段XLA_RULE_CONDITIONS 规则条件 传送 GL 接口表XLA_GL_TRANSFER_INTERFACE SLA 推送 GL 的中间表之后写入 GL_INTERFACE最终生成 GL_JE_HEADERS / GL_JE_LINES 关键追溯关联链路SQL 标准关联链plaintextXLA_AE_LINES JOIN XLA_AE_HEADERS ON AE_HEADER_ID JOIN XLA_EVENTS ON EVENT_ID LEFT JOIN AP_INVOICES_ALL ON XLA_EVENTS.SOURCE_ID_INT_1 INVOICE_ID四、SLA 引擎核心实现逻辑程序执行流程4.1 标准并发程序Create Accounting创建会计分录EBS 并发请求名称Create Accounting内部核心包XLA_ACCOUNTING_PUB_PKG公共 APIXLA_ACCOUNTING_MAIN_PKG核心引擎包执行步骤拆解步骤 1筛选符合条件的 XLA_EVENTS状态 U 未记账根据参数帐簿、会计日期范围、模块、事件状态。步骤 2读取事件对应的【业务交易数据源】SLA 对每个事件实体预定义数据源视图Sources从业务表取出所有可用字段供给 ADR 规则使用。步骤 3根据 LEDGER_ID 查找分配的 ACCOUNTING_METHOD_CODE 会计方法步骤 4匹配规则链通过 EVENT_ENTITY EVENT_CLASS EVENT_TYPE → 找到对应的 Journal Set → Journal Header Journal Lines步骤 5逐行执行账户推导规则 ADR循环每一条分录行定义执行条件满足条件才生成该行分录执行账户推导获取科目各段值 → 查找 / 生成 CODE_COMBINATION_ID计算借贷金额、外币换算、重估步骤 6生成 XLA_AE_HEADERS XLA_AE_LINES更新 XLA_EVENTS 状态为 P已创建会计分录步骤 7可选Transfer to GL将 SLA 分录推入 GL 接口生成 GL 日记账Fusion 逻辑一致但底层由云 Job 调度API 替代传统并发请求提供 REST API 执行 Create Accounting。4.2 两种运行模式在线创建会计分录Online AccountingAP 发票验证时即时调用 SLA API 生成分录适合实时核算。批量创建会计分录Batch Create Accounting后台并发批量处理大量交易性能更高月末大批量核算使用。五、代码 / 程序示例EBS PL/SQLFusion 语法兼容仅调度方式不同示例 1公共 API XLA_ACCOUNTING_PUB_PKG 创建会计分录常用客户化标准模板plsqlDECLARE l_application_id NUMBER : 200; -- AP模块 l_ledger_id NUMBER : 1234; l_accounting_mode VARCHAR2(30) : F; -- F Final / D Draft l_transfer_to_gl VARCHAR2(1) : Y; l_gl_post VARCHAR2(1) : N; l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(2000); BEGIN XLA_ACCOUNTING_PUB_PKG.Create_Accounting( p_application_id l_application_id, p_ledger_id l_ledger_id, p_accounting_mode l_accounting_mode, p_transfer_to_gl l_transfer_to_gl, p_gl_post l_gl_post, p_validation_level 1, p_entity_id NULL, p_event_id NULL, 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(报错||l_msg_data); END IF; END; /示例 2查询 SLA 分录完整追溯 SQL最常用运维 / 核查 SQLsqlSELECT xe.event_id, xaah.ae_header_id, xaal.ae_line_id, xaal.code_combination_id, gcc.segment1, gcc.segment2, gcc.segment3, xaal.entered_amount, xaal.accounted_amount, xaal.dr_cr_flag, xe.source_id_int_1 invoice_id, aia.invoice_num, 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 LEFT JOIN ap_invoices_all aia ON xe.source_id_int_1 aia.invoice_id WHERE xe.application_id 200 -- AP AND xe.accounting_date BETWEEN TO_DATE(2026-01-01,YYYY-MM-DD) AND TO_DATE(2026-08-31,YYYY-MM-DD);示例 3ADR 账户推导中使用的自定义 PLSQL 函数模板EBS 常用扩展可直接配置在账户推导规则中根据业务字段返回科目段plsqlFUNCTION get_cost_center(p_invoice_id IN NUMBER) RETURN VARCHAR2 IS l_segment VARCHAR2(30); BEGIN SELECT attribute2 INTO l_segment FROM ap_invoices_all WHERE invoice_id p_invoice_id; RETURN l_segment; EXCEPTION WHEN OTHERS THEN RETURN NULL; END get_cost_center;⚠️ Fusion Cloud 严格限制自定义 PLSQL优先使用【映射集 Mapping Set 规则条件】替代函数。六、EBS SLA 与 Fusion SLA 关键架构差异补充交易核算重点数据源模型EBS数据源视图静态定义 Fusion数据源采用柔性元数据模型支持扩展属性自动带入 SLA。多账簿转换EBS二级账簿依靠 SLA 转换规则 Fusion引入 Primary、Secondary、Reporting Ledger 分层SLA 原生支持多准则并行分录生成。错误处理EBS事件报错停留在 XLA_EVENTS人工重跑 Create Accounting Fusion事件驱动重试队列、错误工作台、自动重试框架。扩展性边界EBS大量依靠自定义 PLSQL、表触发器 FusionOracle 逐步限制数据库层自定义推荐使用 SLA 原生规则、OTBI、Fusion Extensibility Framework。七、常见业务痛点基于上述架构延伸科目取不到值 → 排查事件数据源字段是否为空、ADR 条件是否不满足、CCID 是否无效无法生成分录 → XLA_EVENTS 状态 E查看 SLA 错误信息表 XLA_ACCOUNTING_ERRORS一笔交易多条分录 → 检查事件类型绑定的分录行定义数量SLA 分录和 GL 不一致 → 核查 GL_TRANSFER_STATUS是否传送失败、GL 接口被人工修改
返回列表