Transaction Processing in P4312 PO Receipts

kk_jde

Active Member
Hello Friends,

I have a situation. I need to perform something based on the item ledger records (OV document in F4111) created by P4312 PO Receipts process. BSFN F43121 End Document in PO receipts P4312 is included in Transaction, so the data does not get committed to F4111 table immediately. For this reason, i created a custom NER and called that from the P4312 after the End Doc, i included my function also in "Transaction". However, i am still not getting the F4111 records on time. When the control reaches by BSFN, F4111 records dont exist yet so my function fails. If i try to debug or add MDDEBUG then it is successfull. What can i do here to make sure my function gets executed after the F43121 EndDoc committed everything.

Any help you can provide is greatly appreciated.

Krish
XE SP2 Update 22
HP-UX, Oracle, Citrix
 
In this case, the BSFN F43121 End Document is not getting completed by the time the code of P4312 gets executed. Hence your custom NER cannot process the records. However in debug this works as the End Doc function gets called in 'Synch' mode.

The best way to make sure that your custom code gets called after the F4111 records have been processed would be to call your code within the End Doc function itself (at the very end).

However, if you want to do additional processing of the processed records in the application, then the End Doc function would need to be called in 'Synch' mode. Note that this may slow the processing and I would not recommend such a change unless really needed.

The 'Transaction Processing' that you've mentioned has nothing to do with sequence of BSFN call events. Transaction Processing boundaries are set to maintain data integrity. i.e if all the Table I/O's within a transaction boundary are not performed, a rollup occurs and the data is returned to its original state before the boundary started.
 
Thanks for the tip. Custom code is a common custom BSFN that need to be called. This is just a plug-in and customer does not want to change the JDE standard BSFN for this.

I obviously dont want to change this to synchronous process for performance reasons. I tried several different options but nothing seems to work. Is there any other way to make sure the data gets written to F4111 before the custom function gets called?

Please help! Thanks!
 
Back
Top