用户在正常输入请购单(PR)的时候, 如果两张相同的请购单, item 一样, 比如都是M.R.O资产购置, 而且同时Description 也是完全一样的,这样转PO的时候会出现bug . EBS版本:11.5.8
这也是我单独发现的第一个bug!
[@more@]Interface 操作流程分析
- 用户在正常输入请购单(PR)的时候, 如果两张相同的请购单, item 一样, 比如都是M.R.O资产购置, 而且同时Description 也是完全一样的,其单号如,10600041和10600042. 完成pr的创建
- 采购在转PO的时候, 操作过程是先转一张PR 为PO ,即10600041转化为PO:20600025. 接着把第二个相同的PR(除了单号完全相同), 选择add to ,加入第一张转换的那个PO号码,即把10600042也转到20600025里面.完成PO的创建.
- 正常流程,点收, 带不出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/