PO Auto Source (PO_AUTO_SRC) Abends With Unique Constraint At Step PO_CMCHNG (Doc ID 1959096.1)

Last updated on SEPTEMBER 14, 2015

Applies to:

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

Symptoms

Auto Source abends with Unique Constraint at step PO_CMCHNG when a requisition change order is change both Price and Qty on one line when PO accounting date is not open.

ERROR
"Return:  805 - ORA-00001: unique constraint (EMDBO.PS_CHNG_MSGLG_T4) violated

  Statement:  INSERT INTO PS_CHNG_MSGLG_T4(PROCESS_INSTANCE,BUSINESS_UNIT,PO_ID,CHNG_SOURCE,CHNG_DTTM,LINE_NBR,SCHED_NBR,FIELDNAME,MESSAGE_SET_NBR,MESSAGE_NBR,MESSAGE_PARM,MESSAGE_PARM2,MESSAGE_PARM3) VALUES(:1,:2,:3,:4,NULL,:5,:6,:7,:8,:9,:10,:11,:12)

  Original Statement:  INSERT INTO %Table(CHNG_MSGLG_T)(PROCESS_INSTANCE,BUSINESS_UNIT,PO_ID,CHNG_SOURCE,CHNG_DTTM,LINE_NBR,SCHED_NBR,FIELDNAME,MESSAGE_SET_NBR,MESSAGE_NBR,MESSAGE_PARM,MESSAGE_PARM2,MESSAGE_PARM3) VALUES(:1,:2,:3,:4,%DateTimeIn(:5),:6,:7,:8,:9,:10,:11,:12,:13)

SQL error in Exec. (2,280) PO_CMCHNG.PC5220.GBL.default.1900-01-01.UPDTCHN2.OnExecute  PCPC:16663  Statement:112

Process 13065 ABENDED at Step PO_CMCHNG.PC5220.UPDTCHN2 (PeopleCode) -- RC = 8 (108,524)"


STEPS
The issue can be reproduced at will with the following steps:

Setup:
1 - At Setup Financials/Supply Chain > Business Unit Related > Purchasing > Purchasing Definition:
  .Change Track Options Checked and Change Template defined.

2 - Set Up Financials/Supply Chain > Business Unit Related > Purchasing > Purchasing Options:
  .SETID: SHARE
  .Processing Option ID: US001
  .Make sure Open Period is set to Error.
  .Defined Accounting date for Specific date = 10/12/2014 (dd/mm/yyyy)

3 - Set Up Financials/Supply Chain > Business Unit Related > General Ledger > Open Periods > Open Period Display:
  .Make sure Business Unit US001 and US005 are both has open for period 12-2014

Replication Instructions:
1 - Create/Approve ePro Requisition for ‘10/12/2014’ (dd/mm/yyyy).
2 - Query: SELECT * FROM PS_REQ_HDR WHERE BUSINESS_UNIT = 'XXXXX' AND req_id = 'XXXXXXXXXX'
3 - Run Expedite Requisition.
4 - Check PO created.
5 - Query PO: SELECT * FROM PS_PO_HDR WHERE BUSINESS_UNIT = 'XXXXX' AND PO_ID = 'XXXXXXXXXX'
  Po Accounting date = 10/12/2014 (dd/mm/yyyy).
6 - Dispatch PO
7 - Go to Purchasing > Requisitions > Add/Update Requisitions:
  .Change requisition Accounting Date to current date and Save.
8 - Change close period: Set Up Financials/Supply Chain > Business Unit Related > General Ledger > Open Periods > Open Period Display:
  .Make sure Business Unit US001 and US005 are both only open for period >12-2014
9 - At eProcurement > Manage Requisitions:
  .Edit Requisition.
10 - Increase both Price and Quantity of line 1 of requisition. Save and Submit.
11 - At eProcurement > Manage Requisitions > go to Review Change Requests.
  * Note 2 change requests for waiting to be processed for Line 1
12 - Approve Change Request and Save.
13 - At Purchasing > Purchase Orders > Stage/Source Requests > PO Auto Sourcing:
  Run Auto Source with Chg Request Selection Criteria Source set to eProcurement Change Request.
  Process Abended:  "Process 13065 ABENDED at Step PO_CMCHNG.PC5220.UPDTCHN2 (PeopleCode) -- RC = 8 (108,524)."


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