Oracle EBS 物料与客户物料查询

Oracle EBS 物料与客户物料查询

首先,在Oracle EBS中,标准功能允许ERP物料、客户物料存在1对多和多对1的情况。可以在系统中做这样的处理:
  1. 1对多时,录入ERP物料,客户物料置为空,并警告必须手工选择客户物料;
  2. 多对1时,录入客户物料,系统直接弹出要选择对应的ERP物料。
当然这样的功能开发出来后,必须经过充分测试才能投入生产环境中使用。这里就需要在后台找到可测试的数据。
ERP物料和客户1对多:
SELECT ABC, COUNT(*) DEF
  FROM (SELECT MCIXV.CUSTOMER_NUMBER || MCIXV.INVENTORY_ITEM_ID AS ABC,
               MCIXV.CONCATENATED_SEGMENTS,
               MCIXV.CUSTOMER_ITEM_NUMBER
          FROM MTL_CUSTOMER_ITEM_XREFS_V MCIXV)
 GROUP BY ABC
 ORDER BY DEF DESC; --同一客户,相同的ERP物料对应不同的客户物料。

这里把客户编号和ERP物料ID联结为一个字段,统计出重复次数超过1的,这样,得出的结果去掉客户编号就是ERP的物料ID。可以再根据ERP的物料ID找到对应该客户的不同客户物料。

ERP物料和客户多对1:
SELECT *
  FROM (SELECT CIX.CUSTOMER_ITEM_ID, COUNT(*) CIA
          FROM MTL_CUSTOMER_ITEM_XREFS CIX
         GROUP BY CIX.CUSTOMER_ITEM_ID
         ORDER BY CIX.CUSTOMER_ITEM_ID) M
 WHERE M.CIA > 1; --一个客户物料对应多个ERP物料。
统计一个CUSTOMER_ITEM_ID对应多个INVENTORY_ITEM_ID的数据。
使用上面的数据,就可以快速做相关ERP物料和客户物料的测试啦。
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页