华为MetaERP 在多OU(Multi-Org / MOAC)环境下做PO接口开发,接口表中的 ORG_ID不是随意填的数字,它有严格的关联与校验规则。以下从数据定义、关联SQL、并发程序校验、常见

华为MetaERP 在多OU(Multi-Org / MOAC)环境下做PO接口开发,接口表中的 ORG_ID不是随意填的数字,它有严格的关联与校验规则。以下从数据定义、关联SQL、并发程序校验、常见
在多OUMulti-Org / MOAC环境下做PO接口开发接口表中的ORG_ID不是随意填的数字它有严格的关联与校验规则。以下从数据定义、关联SQL、并发程序校验、常见坑点四个维度说明。一、基本关联规则PO各接口表中的ORG_ID字段直接等值关联HR_OPERATING_UNITS.ORGANIZATION_ID代表该笔采购单据所属的业务经营单位Operating Unit。-- 标准关联校验SQL SELECT hou.organization_id AS org_id, hou.name AS operating_unit_name, hou.short_code, hou.business_group_id, gl.set_of_books_id AS ledger_sob_id FROM hr_operating_units hou JOIN gl_ledgers gl ON hou.set_of_books_id gl.ledger_id WHERE hou.organization_id :p_org_id; -- 接口表填入的ORG_ID关键规则PO_HEADERS_INTERFACE.ORG_IDHR_OPERATING_UNITS.ORGANIZATION_ID数值型非NAME/CODE同一个OU下的PO共享同一ORG_ID基表PO_HEADERS_ALL.ORG_ID即从此继承PO_REQUISITIONS_INTERFACE_ALL.ORG_ID、RCV_HEADERS_INTERFACE.ORG_ID同理关联HR_OPERATING_UNITS⚠️ORG_ID经营单位≠ORGANIZATION_ID库存组织/Inventory Org后者填在PO_LINE_LOCATIONS_INTERFACE.SHIP_TO_ORGANIZATION_ID和PO_DISTRIBUTIONS_INTERFACE.DESTINATION_ORGANIZATION_ID两者不可混淆。二、多OU环境下接口表 ORG_ID 必须满足的前置条件在R12 MOAC架构下填入接口表的ORG_ID必须同时满足校验项说明存在于HR_OPERATING_UNITS​ORGANIZATION_ID必须是已定义的 Operating Unit且DATE_DISABLED IS NULL同Ledger关联​通常一个OU绑定一个SET_OF_BOOKS_IDLedger接口中引用的币种/科目须属于该Ledger在运行职责的安全配置文件内并发程序运行时Import程序以提交请求的职责用户运行MO: Security Profile对应的安全配置文件必须包含该ORG_ID否则报无权限或静默跳过Vendor Site属于同OU​PO_HEADERS_INTERFACE.VENDOR_SITE_ID对应的AP_SUPPLIER_SITES_ALL.ORG_ID须 接口表ORG_ID否则导入报供应商地点无效三、并发程序Import Std PO对 ORG_ID 的处理逻辑单OU职责仅设MO: Operating Unit接口行ORG_ID若为空程序用会话MO_GLOBAL.GET_CURRENT_ORG_ID填充若有值则以接口表值为准须与会话有权限的OU一致。MOAC多OU职责设MO: Security Profile程序会遍历安全配置文件内所有OU能处理接口表中不同ORG_ID的多行推荐做法接口表每行明确填对应ORG_ID。ORG_ID不匹配安全配置文件该行被标记错误或在日志提示ORG_ID not accessible by current responsibility。最佳实践外部系统写入接口表时务必通过HR_OPERATING_UNITS.NAME或SHORT_CODE反查ORGANIZATION_ID再填充不做硬编码数值。-- 推荐从OU名称解析ORG_ID SELECT organization_id INTO l_org_id FROM hr_operating_units WHERE UPPER(name) SHENZHEN PURCHASING OU AND date_disabled IS NULL;四、各接口表 ORG_ID 字段汇总接口表ORG_ID字段关联基表/视图PO_HEADERS_INTERFACEORG_IDHR_OPERATING_UNITS.ORGANIZATION_ID→ 写入PO_HEADERS_ALL.ORG_IDPO_LINES_INTERFACE无独立ORG_ID继承PO_HEADERS_INTERFACE.ORG_ID通过 INTERFACE_HEADER_IDPO_LINE_LOCATIONS_INTERFACE无独立ORG_ID继承头PO_DISTRIBUTIONS_INTERFACEORG_ID可选填建议填应与头ORG_ID一致校验用PO_REQUISITIONS_INTERFACE_ALLORG_IDHR_OPERATING_UNITS.ORGANIZATION_ID→PO_REQUISITION_HEADERS_ALL.ORG_IDRCV_HEADERS_INTERFACEORG_IDHR_OPERATING_UNITS.ORGANIZATION_ID接收归属OU五、常见多OU接口问题排查清单✅ 接口表ORG_ID能否在HR_OPERATING_UNITS中找到且未禁用✅VENDOR_SITE_ID.ORG_ID PO_HEADERS_INTERFACE.ORG_ID供应商地点须在同一OU定义✅ 提交 Import Standard PO 的职责 Security Profile 是否包含该ORG_ID✅SET_OF_BOOKS_ID接口表或Distribution层与OU绑定的Ledger一致✅ 多OU混合导入时不同行的ORG_ID分别对应各自OU且职责Security Profile覆盖全部