Troubleshooting Duplicate Receipts in P4312

Purpose of Document

Case study on Duplicate Receipt. Same thing can be applied any other major applications in Distribution module.

Symptoms

Purchase Order Receipts (P4312) can allow a user to commit twice when performance is slow.

This can cause duplicate information in the tables below:

Changes

No Change is made and this note is one case study. Refer to <Bug 10908215>: ERP8 SP23_K1 ROLLBACK ISSUE ON - SAR: 7893180

General Routine of P4312 (PO Receipts)

General routine of P4312 is:
1. FORM: Work With Purchase Orders to Receive [FIND BROWSE] (W4312F)

a. Look for order/item to receipt
b. Click Button (CONTROL) Select


2. FORM: Purchase Order Receipts [HEADERLESS DETAIL] (W4312A)

a. EVENT: Dialog is Initialized
b. (Form Level) EVENT: Write Grid Line-After
c. EVENT: Post Button Clicked of (CONTROL) OK
Condition Processing Option Call Others
PO szPO_DisplaySOBack is equal to "1" Display
1. Sales Order Backorders
1 = Display the release form
P42117|W42117M refer to <Bug 10744827>: NO BACKORDER RELEASE FORM - SAR: 4847698
PO szPO_LandedCostProcessing is equal to "1" And VA frm_cProcessLandedCost is equal to "1"

Process
6. Landed Cost
1 = Display Landed Cost Selection Form

App:P43291 , Form:W43291A , Ver: PO szPO_LandedCostVersion
PO szPO_PrintTraveler is equal to "1"

Process
7. Receipt Traveler Document
1 = Print

UBE:R43512 , Ver: PO szPO_P43512Vers (or XJDE0001 which is default version)
PO cLicensePlateWindow is equal to "1"

Warehousing
4. Assign Items to License Plate Window (P46L30)
1 = Display

P46L30
PO cPostGLBatch is equal to "1"

Process
16. Activate Automatic G/L Batch Posting
1 = Automatically post batch

UBE:R09801 , Ver: VA evt_szR09801Version_VERS (or ZJDE0009 which is default version for batch type 'O')
VA frm_cRunF4312EndDocInSync_EV01 is equal to "1" P4312 got called from P49640 (Transportation Load Confirmation) InboundTransportation is Y (SY49 from P99410)
SL CountryCode is equal to "BR" Brazilian localization

c. EVENT: Post Button Click - Asynch of (CONTROL) OK

d. (Form Level) EVENT: Post Commit


3. Return to calling FORM: Work With Purchase Orders to Receive [FIND BROWSE] (W4312F)

Note:

Cause

Transaction Processing is OFF from client's environment at Post Button Click - Asynch (of OK button).
Remove record reservation comes before all transactions are committed to the DB (sql> COMMIT TRANSACTION) because database middleware won't return any information on transaction processing (either CO TP_ACTION_SUCCESS or CO TP_ACTION_FAIL)

Solution

How To Debug?

The following represents the general debug steps (these can vary depending upon the situation):

Possible cause?

Transaction Processing for F4312EndDoc got implemented through <Bug 10908215>: ERP8 SP23_K1 ROLLBACK ISSUE ON - SAR: 7893180.
Reference the following two documents:

In distribution/manufacturing Record Reservation,

How to Fix?

In case Transaction Processing Flag is not ON:

  1. Go to OMW (Object Management Workbench)
  2. Look for object P4312
  3. Move it to available OMW project
  4. Check Out
  5. Tick Transaction Processing whenever F4312EndDoc gets called
  6. Check In
  7. Generate Serialized Object for P4312

Note:


<Internal_Only>Please comment if you have any other cases which turn out to be duplicate receipt</Internal_Only>