Oracle ERP 之PR转PO bug 发现及原因分析

用户在正常输入请购单(PR)的时候, 如果两张相同的请购单, item 一样, 比如都是M.R.O资产购置, 而且同时Description 也是完全一样的,这样转PO的时候会出现bug . EBS版本:11.5.8

这也是我单独发现的第一个bug!

[@more@]

Interface 操作流程分析

  1. 用户在正常输入请购单(PR)的时候, 如果两张相同的请购单, item 一样, 比如都是M.R.O资产购置, 而且同时Description 也是完全一样的,其单号如,1060004110600042. 完成pr的创建
  2. 采购在转PO的时候, 操作过程是先转一张PR PO ,10600041转化为PO:20600025. 接着把第二个相同的PR(除了单号完全相同), 选择add to ,加入第一张转换的那个PO号码,即把10600042也转到20600025里面.完成PO的创建.
  3. 正常流程,点收, 带不出LOCATION, 要自己输入,这个很奇怪,本来请购B单会带出的,如果直接选中保存,那么会在transaction里面有两条记录,正常状态分别是RECEIVE DELIVER,可是这种操作的时候只会有RECEIVE一个.如果要跑单也跑不出来,因为跑不出来单,user通知我才发现的.

整个流程的数据库资料变动分析

查找为异动记录:

/* Formatted on 2006/04/28 11:46 (Formatter Plus v4.8.7) */

SELECT rcvt.attribute1, rcvt.transaction_type, pol.line_type_id,

rcvt.shipment_header_id, rcvt.transaction_id

FROM

--rcv_shipment_headers_all rsh,

po_headers_all poh,

po_lines_all pol,

rcv_transactions rcvt,

po_line_locations_all poll,

rcv_shipment_lines rcvl,

rcv_shipment_headers rcvh

WHERE poh.po_header_id = pol.po_header_id

AND pol.po_line_id = poll.po_line_id

AND poll.line_location_id = rcvl.po_line_location_id --noctice here

AND rcvl.shipment_line_id = rcvt.shipment_line_id

AND rcvh.shipment_header_id = rcvl.shipment_header_id

AND

--rcvh.receipt_num='60001841'

poh.segment1 = '20600025'-- result is 475346

得到transaction_id , 接着根据transaction_id查异动信息

/* Formatted on 2006/04/28 11:47 (Formatter Plus v4.8.7) */

SELECT transaction_id, po_line_id, po_line_location_id, po_distribution_id,

shipment_line_id, parent_transaction_id

FROM rcv_transactions

WHERE transaction_id = 475346 -- the po_distribution_id is null !!!!

这个异动里的po_distribution_id 为空,难怪不正常!

--path 3:

SELECT pod.po_distribution_id

FROM po_headers_all poh,

po_lines_all pol,

po_line_locations_all poll,

po_distributions_all pod

WHERE poh.po_header_id = pol.po_header_id

AND pol.po_line_id = poll.po_line_id

AND poll.line_location_id = pod.line_location_id

AND poh.segment1 = '20600025'

-- PO _distribution_id is 152307 and 152308

为了参考,查找一下20600024

SELECT transaction_id, po_line_id, po_line_location_id, po_distribution_id,

shipment_line_id, parent_transaction_id, deliver_to_person_id , deliver_to_location_id , location_id

FROM rcv_transactions

WHERE transaction_id = 475349

or transaction_id=475348

or transaction_id=475346

发现问题原因是: po_distribution_id , deliver_to_location_id, deliver_to_person_id 皆为null. 这也解释了上面为什么带不出location , 同时为什么没有第二条记录.

解决方法:

做一次验收,transaction_id 查出来update 到正确的资料.

建议:

如果相同名称,相同物品的请购请开在一个PR同一行里,当然可能是USER又有需求所至.如果是这样,请分别转两张PO.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/226700/viewspace-831159/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/226700/viewspace-831159/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值