
面向落地的“xxxx↔SAP 集成点切换 → Oracle EBS”方案。它的核心目的只有一个把 xxxx对 SAP 的“硬绑定”拆成可替换通道Adapter/Connector用一段并行窗口把风险压到最低并保证任何时间点都能回退。0先对齐你们这类 xxxx通常“粘在 SAP 哪些点上”你可以对照如果你们 xxxx基本就是这几类方案几乎可以直接按表/API映射开工A. xxxx→ 写 SAPxxxx驱动业务进 ERP常见点SAP 侧实现旧风险等级1) xxxx推送/生成财务凭证BAPI_ACC_DOCUMENT_POST/ IDocACC_GL_POSTING/ 甚至直写 staging → FI最高2) xxxx推送应付发票/票据信息MIRO/FF/供应商发票接口常走 BAPI / IDoc / Z程序高3) xxxx触发/回写付款建议或支付状态F110 相关、清账F-44/F-28或REGUH/REGUP操作高4) xxxx维护/同步主数据供应商/科目/成本中心等Vendor/GL/PCA 主数据接口BAPI/IDoc/直表同步中B. xxxx← 读 SAPxxxx消费 ERP 状态做展示/对账/下游常见点SAP 侧实现旧风险等级5) 读凭证头/行项目BKPF/BSEG直查表/JOIN/视图/抽取很高隐性最大6) 读未清/已清BSIK/BSAK/BSIS/BSAS/ZUONR/AUGDT…未清项依赖高7) 读余额/科目/期间/汇率GLT0/FAGLFLEXT、表汇总、FAGL*中8) 读采购-发票-付款链路MM-FI轨迹RBKP/RSEG BKPF/BSEG MKPF/MSEG高切换最难的不一定是“写”而是xxxx里大量“读 SAP 传票/未清项”的隐式假设在 EBS 里AP/PO/INV 是子账总账通过 SLA/接口过账“未清”不在同一个表里给你优雅 JOIN。1总体切换策略双轨 防腐层Anti-Corruption Layer, ACL我强烈建议你采用下面的分层架构目标否则 xxxx会变成“满身 EBS 特殊分支的又一代遗留”。xxxx Application │ ├── Domain / Service Layer业务语义不变 │ ├── InvoicePort ├── PaymentPort │ ├── VoucherQueryPort ├── OpenItemPort │ ├── BalancePort ├── MasterDataPort │ ├── Adapter Layer 你们要重写的“SAP硬绑定” ├── SapAdapter (old, deprecated) ├── EbsAdapter (new, 将来唯一)关键原则决定成败xxxx业务代码只认“契约/DTO”例如VendorInvoiceDto、VoucherLineDto、OpenItemDto——不许再出现SELECT ... FROM BKPF/BSEG WHERE BUKRS...藏在业务代码里。SAP 读写先包进 Adapter旧 SapAdapter 不动逻辑只加开关新 EbsAdapter 平行实现同一接口。并行窗口切之前/切当天SAP 仍跑真实业务EBS 侧做影子跑Shadow Run对账达标后再切流量。2阶段划分推荐 6 个里程碑阶段目标产出M0 盘点把 xxxx-SAP 所有“接触点”变成清单接口清单调用链追踪见第3节模板M1 契约化xxxx内抽象出 Port/DTOSAP路径包进Adapter可编译、行为不变的 xxxx仍跑SAPM2 EBS通道建设建 EBS Adapter接口表/API/视图、校验、幂等、错误队列EBS DEV 可跑通 Happy PathM3 影子并行双写/影子读xxxx仍以SAP为准但把同样请求再送EBS校验并落审计表每日差异报告见第5节M4 读切换优先先把“只读场景”查询/报表/导出切EBS写仍走SAP降低写风险M5 写切换上线切写流量到EBSSAP切只读查历史设回切上线门禁回切手册3集成点盘点模板你必须先输出这张表不要只写“调用SAP接口”要写到调用链谁触发 → 走什么BAPI/IDoc/直表→ 用哪些字段 → 决定什么业务。#xxxx功能方向SAP对象/表/BAPI/IDoc关键字段PK/筛选量级/频率幂等键依赖配置风险负责人I1推送费用报销凭证xxxx→ERPBAPI_ACC_DOCUMENT_POSTBUKRS/GJAHR/BLART/BELNR(ref)/ZUONR2000/天source_syssource_doc科目映射/段结构★★★I2查询发票未清/余额ERP→xxxx(read)BSIK/BSEG BKPF JOINLIFNR/BUKRS/AUGDT/ZUONR高频—未清项逻辑★★★★I3供应商主数据同步双向LFA1/LFB1 / Vendor BAPILIFNR/VENDOR_ID低频VENDOR_ID编号规则/OU映射★★…这一步做完你就能回答老板一句话xxxx到底“绑在 SAP 哪些骨头”上。4每个集成点在 EBS 侧的“等价实现”怎么选决策规则4.1 写路径xxxx→ ERP最敏感原SAP写入场景EBS侧推荐实现为什么1) 推送“业务发票/AP发票”有供应商、税额、分配、可能PO匹配AP Open InterfaceAP_INVOICES_INTERFACEAP_INVOICE_LINES_INTERFACE→ 跑Import Invoices (APXIIMPT)这是EBS标准入口它会做校验、建distribution、遵循AutoAccounting/SLA比手造GL更安全2) 只做“纯财务调整/非供应商日记账”无AP生命周期GL_INTERFACE →Journal Import适合手工调整/分摊/汇兑差异之类但要严格校验账套/期间/CCID/来源3) 付款创建/执行除非xxxx真的要当“支付台”尽量别让xxxx直接造付款表走Payment Manager / Payment Batch 或 Oracle标准API否则风险极大EBS付款牵涉银行/check/status机4) 主数据供应商/地点/银行账户/科目等走TCA/Vendor Open Interface / API别直插基表否则关系断裂、审计失败4.2 读路径xxxx← ERP最隐蔽的工作量原SAP读场景EBS等价数据源你要给xxxx一个稳定视图凭证头/行项目BKPF/BSEG不直接等价建议给xxxx提供Voucher Query ViewGL_JE_HEADERS GL_JE_LINES已过账 必要subledger溯源并把“未清语义”剥离到AP/AR视图供应商未清BSIK思路AP_INVOICES_ALL状态/amounts/terms 已付信息来自AP_INVOICE_PAYMENTS_ALL/AP_CHECKS_ALL你们要在EBS侧拼出“open amount”余额GLT0/FAGLFLEXTGL_BALANCES但更稳妥让xxxx通过Trial Balance/标准报表数据源或受控快照表取数别让业务代码自己算余额PO-发票链路PO_HEADERS_ALL/PO_LINES_ALL 接收 AP匹配表取决于是否用PO匹配实操建议不要把 xxxx直接再绑成“EBS 直表查询大杂烩”。用 DB View / 物化快照 / 中间查询服务把上述拼装收敛到一个地方Query Adapter未来就算EBS升级/换云你只换Adapter。5并行 对账机制这是你能睡着的保证必须建的“对账三角”xxxx侧发件日志幂等键 原始payload 状态 ERP返回主键ERP侧回写EBS发票ID/凭证批号/JE_HEADER_IDSAPBELNR/AUGBL每日对账金额对账SUM(发票净额tax)vs(AP_INVOICES_ALL 付款状态)凭证存在性xxxx发件日志 vs ERP对象表异常队列接口表STATUSERROR/ERROR_MESSAGE必须进工单6回切Rollback设计让“切过去”不等于“跳崖”原则在同一个 xxxx版本里保留 SapAdapter 可调起直到历史数据只读期结束。切写之前的回切xxxx开关切回adaptersock-sap→ 仍然写SAP此时EBS只影子跑切写之后紧急回切立刻停EBS写适配器防止新数据继续进EBSxxxx开关回SAP再把“EBS侧已生成但未反向冲销的数据”做处置通常需要预先写好冲销/作废策略/隔离账套更稳的做法很多项目真这么做上线初期让EBS跑在“并行业务账套/并行OU”里等连续N天差异≈0才把“正式对外账”切过去。7给你一个“可直接开 workshop 用”的输出清单你把下面5样东西交付出来切换基本就可控了接口清单第3节那张表 —— 按风险排序SAP→EBS 主数据映射矩阵公司代码→账套/OU/Legal Entity、供应商编号、科目Flex值、Payment Method等契约/DTO定义xxxx内部InvoiceDto / VoucherLineDto / OpenItemDtoEBS适配实现计划每个接口接口表 or API or View校验清单幂等键错误码映射对账仪表板/存储过程至少覆盖发件-ERP存在性、金额、状态你回我 3 个信息我可以把方案细化到“可排期”你们的 xxxx主要写 ERP 的是什么报销凭证费用归集AP发票付款指令xxxx读 SAP 是走BAPI/RFC 还是直查表/抽取脚本如果是直查表把最常出现的 5 条 SQL / 视图名给我切换期望是Big Bang 还是按公司代码/BU逐步我就可以把I1I8 每个接口给你写成SAP原调用伪码 → EBS等价流程表并发程序错误处理→ 对账SQL模板 → 上线门禁阈值差异/成功率/延迟。