Error Received when Attempting to Cancel a Distribution that has not been Received: Amt XXX has already been received against this distribution. (10200,624) (Doc ID 1547325.1)

Last updated on FEBRUARY 10, 2017

Applies to:

PeopleSoft Enterprise FIN Payables - Version 9 to 9.2 [Release 9]
PeopleSoft Enterprise SCM Purchasing - Version 9 to 9.2 [Release 9]
Information in this document applies to any platform.

Symptoms

When trying to Cancel a Distribution that has not been recieved, the following error message is received.


Error:  Amt XXX has already been received against this distribution. (10200,624)

This distribution has been at least partially received already.  Therefore, you cannot change the distribution amt to be less than the received amt, nor can you delete or cancel the distribution.
The above error appear because we found the receipt XXXXXXXXX is referring to this distribution.  As previously mentioned, this should not happen.


Steps to reproduce the issue:

1.  Add/Update PO-Create a PO for 10 qty and price 100 with Accounting Date as say 28-Dec-2012 Receiving is required. Matching is Standard.

2.  Save and Budget Check the PO

3.  Check the PO Distribution Line for schedule 1,  line 1.Distribute By should be Amount.

4.  Save, Budget Check and Dispatch the PO

5.  Receive Qty 2

6.  Voucher the Receipt with Accounting date of 12/28/2012.  

7.  Save the Voucher-Run Budget Check, Matching and Post the voucher.

8.  Display the PO and drill to the Distribution and make the following changes:
- Reduce Dist 1 Amount to 200 (same as the vouchered amount)
- Add a new distribution and Amount for the remaining amount, i.e. 800 USD, change Dept to 42000

9.  Save the PO and run budget check.

10.  Create another receipt for Qty 5

11.  Create a voucher, change the Accounting Date to 12/28/2012-this time use copy from PO as copy worksheet option.

12.  Search the PO in voucher and Change Qty vouchered to 3- Click "Copy Selected Lines".

13.  Remove line 1 distribution 1, modify the second distribution amount to 300, qty to 3.

14.  Click the link "Associate Receiver(s)"--Click the link "Associate Receiver Lines".

15.  Search the last entered receipt. Select the line and click "OK".

16.  Change Qty to match (PO UOM) to 3. Click "OK".

17.  Save the voucher-Run Budget Check, matching and post the voucher.

18.  Use SQL to retrieve the receipt distribution.
select rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num
, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM
, rd.merchandise_amt, rd.merch_amt_bse, rd.recv_ds_status
from sysadm.ps_recv_hdr rh, sysadm.ps_recv_ln_distrib rd
where rh.business_unit = rd.business_unit
and rh.receiver_id = rd.receiver_id
and rh.receiver_id  = 'XXXXXXXXXX'
order by rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM;

Notice that this voucher distribution refers to receipt distribution 1, but for last receipt , distribution line number 1 amount is zero, shouldn't this be distribution 2?

19.  Run a SQL to get the PO and receipt reference information from the voucher distribution line.
select vd.voucher_id, vd.voucher_line_num, vd.distrib_line_num
, vd.po_id, vd.line_nbr, vd.sched_nbr, vd.po_dist_line_num
, vd.receiver_id, vd.recv_ln_nbr, vd.recv_dist_line_num
, vd.txn_currency_cd, vd.merchandise_amt, vd.merch_amt_bse
from sysadm.ps_distrib_line vd, ps_voucher vh
where vd.business_unit = vh.business_unit
and vd.voucher_id = vh.voucher_id
and vd.voucher_id = 'XXXXXXXX'
order by vd.po_id, vd.line_nbr, vd.sched_nbr, voucher_id, voucher_line_num, distrib_line_num;

Notice that this voucher distribution refers to receipt distribution 1, but for the last receipt, distribution line number 1 amount is zero, shouldn't this be distribution line 2?

20.  Create another voucher, modify accounting date to 12/28/2012, copy from PO, change qty Vouchered to 2.

21.  Similar to previous voucher, remove line 1 distribution 1, then change distribution 2 amount to 200, and qty to 2-Now, Change Distribution Line amount to 200 and Qty to 2

22.  Click the link "Associate Receiver(s)".--Click the link "Associate Receiver Lines".

23.  Take the last receipt-Search for it-Note that Quantity to Match (PO UOM) is 2 here.

24.  Save the voucher-Run Budget Check,matching and post the voucher.

25.  Run a SQL to get the PO and receipt reference information from the voucher distribution line again.
select vd.voucher_id, vd.voucher_line_num, vd.distrib_line_num
, vd.po_id, vd.line_nbr, vd.sched_nbr, vd.po_dist_line_num
, vd.receiver_id, vd.recv_ln_nbr, vd.recv_dist_line_num
, vd.txn_currency_cd, vd.merchandise_amt, vd.merch_amt_bse
from sysadm.ps_distrib_line vd, ps_voucher vh
where vd.business_unit = vh.business_unit
and vd.voucher_id = vh.voucher_id
and vd.voucher_id = 'XXXXXXXX'
order by vd.po_id, vd.line_nbr, vd.sched_nbr, voucher_id, voucher_line_num, distrib_line_num;

26.  Similar to previous voucher, for last receipt , distribution line number 1 amount is zero, shouldn't this be distribution 2?

27.  Proceed to do PO rollover to see the impact-Run PO Rollover View.

28.  Select the PO for rollover in PO Rollover workbench

29.  Run PO Roll 1.

30.  At this moment, use SQL to retrieve the receipt distribution.
select rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num
, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM
, rd.merchandise_amt, rd.merch_amt_bse, rd.recv_ds_status
from sysadm.ps_recv_hdr rh, sysadm.ps_recv_ln_distrib rd
where rh.business_unit = rd.business_unit
and rh.receiver_id = rd.receiver_id
and rh.receiver_id  = 'XXXXXXXXXX'
order by rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM;

Note that the receipt distributions are same as before rollover.

31.  Run budget check on the PO.

32.  Run PO Roll 2.

33.  Now, use SQL to retrieve the receipt distribution again.
select rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num
, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM
, rd.merchandise_amt, rd.merch_amt_bse, rd.recv_ds_status
from sysadm.ps_recv_hdr rh, sysadm.ps_recv_ln_distrib rd
where rh.business_unit = rd.business_unit
and rh.receiver_id = rd.receiver_id
and rh.receiver_id  = 'XXXXXXXXXX'
order by rd.po_id, rd.line_nbr, rd.sched_nbr, rd.po_dist_line_num, rd.receiver_id, rd.RECV_LN_NBR, rd.RECV_SHIP_SEQ_NBR, rd.DISTRIB_LINE_NUM;

Notice that the receipt distribution line 2 is now referring to PO distribution 3 (previous is 2).  It has been updated by PO Roll 2 process.

But as we understand, this update only happens on those receipt not yet vouchered.  In this case, the last receipt has been fully vouchered already.  Why this update happen?
We expect no update should be done on this receipt.

There is further impact on subsequent PO amendment as illustrated on the following pages.

34.  Continue finish the rollover process - Run budget check on the PO.

35.  Review the PO Distributions after rollover is done.
          Details/Tax Tab
          Distribution line 1 is already fully liquidated, no rollover is required as expected.
          Distribution line 2 has been rolled to 3 as expected.

36.  At this moment, there should be no receipt and voucher against distribution 3. We try to cancel distribution 3.
Let's Navigate to Maintain Purchase order-Distribution Line for Schedule 1

37.  Check the Status Tab
Try to Cancel the Distribution Line 3.

38.  Above error appears.

Note: This is slightly different scenario from Bug 15917639, which has same error message.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms