EAP: Update Withholding process updating already updated Vouchers causing duplicate rows on WTHD_TRXN_TBL and Post Withholding to fail (Doc ID 986776.1)

Last updated on FEBRUARY 16, 2015

Applies to:

PeopleSoft Enterprise FIN Payables - Version 8.9 to 9.1 [Release 8.9 to 9]
Information in this document applies to any platform.

Symptoms

ISSUE #1
Update Withholding process for Update Voucher Line Withhold is updating vouchers that were already updated by Update Withholding process causing duplicate rows on WTHD_TRXN_TBL. It also causes Post Withholding to fail with the following error below when void Payments are involved.

ISSUE #2
Update Withholding process for Update Voucher Line Withhold is updating canceled schedule payments (PS_PYMNT_VCHR_XREF.PYMNT_SELCT_STATUS='X') . This causes Post Withholding Process to abend with following error.

SQL error. Stmt #: 1603 Error Position: 0 Return: 805 - ORA -00001: unique constraint (EMD BO.PS_WTHD_TRXN_TBL) violated Failed SQL stmt:INSERT INTO PS _WTHD_TRXN_TBL (PROCESS_INSTANCE , BUSINESS_UNIT , WTHD_ENTI

SCENARIO #1
1. Enter a Voucher for a non-withholding Vendor.
2. Pay the Voucher
3. Post the Payment
4. Setup the Vendor as 1099 applicable
5. Using Update Voucher Line Withholding, set the above Voucher as Withholding/1099 applicable
6. Run Update Withholding
7. Cancel / Void the Payment
8. Post the Payment
9. Pay the Voucher again and post the payment
10. Run Post Withholding
11. Cancel / Void the payment again
12. Post the Payment
13. Pay the Voucher a 3rd time and post the payment
14. Run Post Withholding
15. Enter a 2nd Voucher , pay the Voucher , post the payment and post the withholding.
16. Now add another Withholding Class to the Vendor
17. Using Update Voucher Line, change the Class for the 2nd Voucher.
18. Run Update Withholding. This process updates the PS_PYMNT_VCHR_XREF.POST_STATUS_WTHD = 'P' for the 1st voucher.
19. Run Post Withholding - Post Withholding fails with the above error as it tries to post the voids again.

SCENARIO #2
1. Enter a voucher - for vendor which is Withholding applicable.
2. Pay the voucher and post the Payment.
3. Run Post Withholding
4. Void the payment and post the payment
5. Pay the Voucher again and Post the Payment.
6. Run Post Withholding.
7. Query on PS_PYMNT_VCHR_XREF shows
PYMNT_CNT = 1 , POST_STATUS_WTHD ='X' , PYMNT_SELCT_STATUS ='X'
PYMNT_CNT = 2 , POST_STATUS_WTHD ='P' , PYMNT_SELCT_STATUS ='P'

8. Query on PS_PYMNT_VCHR_WTHD shows
PYMNT_CNT = 1 , POST_STATUS_WTHD ='P'
PYMNT_CNT = 2 , POST_STATUS_WTHD ='P'

9. Change Withholding Class on Vendor
10. Using Voucher line Withholding change the class on the voucher.
11. Run Withholding Update
12. Query PS_PYMNT_VCHR_XREF
PYMNT_CNT = 1 , POST_STATUS_WTHD ='P' , PYMNT_SELCT_STATUS ='X'
PYMNT_CNT = 2 , POST_STATUS_WTHD ='P' , PYMNT_SELCT_STATUS ='P'

13. Query PS_PYMNT_VCHR_WTHD - one row for PYMNT_CNT = 1 and updated Withholding Class

14. Run Post Withholding - Process abends with above error

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