E1: 42: ProcessSalesOrder JP420000 Does Not Rollback F4006 Address Override Records
(Doc ID 2240919.1)
Last updated on JULY 06, 2020
Applies to:JD Edwards EnterpriseOne Sales Order Management - Version 9.2 and later
Information in this document applies to any platform.
On : 9.2 version, BSSV
When processing a payload via processSalesOrder JP420000 that contains address overrides and the database encounters an error such as a unique constraint the transaction is rolled back as expected, however orphan records remain in the F4006 table.
The issue can be reproduced at will with the following steps:
1) P4210. Enter a simple 1 line stock sales order and note the order number.
2) Using SQL Developer inquire on the F4074 record and change DOCO to be one greater. In this case it will be 11157. This will have the effect of creating an existing record for the next order to be processed.
3) SoapUI. Create a payload that has and address override. This will created F4006 records. Use the same customer and item data as the order entered in P4210 and pass in the order number to be one greater. The order entered in P4210 was 11156, so pass in 11157.
The following error message will appear in the response because of a unique constraint on the F4074. This is correct as by design we need to rollback the entire transaction.
B42004200 CommitSalesOrder::Database Exception;
DESCRIPTION: System Exception occured while executing business function. Please try request again. :CommitSalesOrder(Commit Sales Order Wrapper)
4) Databrowser. Inquire on F4201/F4211 and note no records exist as the transaction was rolled back. Inquire on the F4006 and note an orphan records exist. The F4006 records should have been rolled back with the rest of the transaction.
The issue has the following business impact:
Due to this issue, orphan records are left in the F4006 table.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document