• Welcome to the upgraded JDELIST forum and thank you for your patience.
    Please restrict discussions and issues regarding the new forum software to the Off Topic forum. We will be monitoring that forum for issues.
    If you have trouble logging in, please reset your password using the forgotten password form: https://www.jdelist.com/community/index.php?lost-password/
    If you are unable to successfully reset your password, please contact us: Click here!
    We hope that you enjoy the upgraded forum.
  • Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

P4210 F4211 End Doc Question

Hello Everyone,
We are currently upgrading from 9.0 to 9.2 and adding all customizations. in 9.0 we have customizations on the Post Button Clicked in the OK button in P4210 to loop thru all the lines of the order being created to update fields like VR01. What I have noticed in 9.2 that when the End Doc is executed in the Post Button Clicked the order does not exist in the table yet. When I am running debug I noticed that the order is only appearing at Post Commit at the level of the form. When I run debug in localhost HTML I see it in the Post Button Clicked - Aysncro but I receive errors.

My questions are :
Why does the order not appear anymore after End Doc is executed?
Why can't I do a copy paste into the Post Button Clicked Asyncho? JDE says it has been disabled for the section. Same for Post Commit

Where should I place my code to update the order without changing the Master Business Function?

The errors in debug I am receiving are in HTML localhost when the code moves from Post button clicked to Post button clicked Asynchro:
- ResumeProcess invocation error
- ER Engine Error: paused process is still executing)

Any incite would be appreciated.

Thanks

Natalie
 

BOster

Member
Are you trying to update the order after EndDoc? Two things to keep in mind. EndDoc may be running Async (as it seems like you are aware from your post) and Transaction Processing may be on for P4210 and EndDoc may be within the TP boundary and changes not yet committed to the DB so if you are trying to query the results in F4211 from some tool or UTB, etc. you may not get any results for the order until after P4210 is finished and committed the transaction.
 
Hello Brian, Thanks for the reply.

I received a possible solution with the setup in the JAS.ini file concerning TransactionProcessingEnabled. The oracle document is
E1: 42: P42101 Sales Order Power Form Does Not Save Or Update the Orders When this Runs on Web (Doc ID 2501919.1)
 

BOster

Member
Hello Brian, Thanks for the reply.

I received a possible solution with the setup in the JAS.ini file concerning TransactionProcessingEnabled. The oracle document is
E1: 42: P42101 Sales Order Power Form Does Not Save Or Update the Orders When this Runs on Web (Doc ID 2501919.1)
I would be very careful about making a global setting change in the jas.ini to fix one application and I certainly wouldn't want to disable transaction processing. Also this seems to reference P42101 not P4210.
 

Christian Audet

Moderator
Staff member
I would second the comment from Brian about being careful disabling any form of transaction processing. Order Entry usually benefit greatly from it and disabling any form of Asynchronous processing could certainly achieve the result you are looking for and ensure that you get a record in F4201/F4211 before you leave P4210 but I can promise that in many sales order entry cases it can slow down the application greatly.
 

BOster

Member
I would second the comment from Brian about being careful disabling any form of transaction processing. Order Entry usually benefit greatly from it and disabling any form of Asynchronous processing could certainly achieve the result you are looking for and ensure that you get a record in F4201/F4211 before you leave P4210 but I can promise that in many sales order entry cases it can slow down the application greatly.
If you determine it is an async thing and you want to keep your current design of updating the tables after EndDoc writes to them. Create a wrapper function around EndDoc that calls EndDoc and then does your table updates, then call your wrapper from P4210 that way you can preserve async processing.

However, IMO, the best thing to do is modify EndDoc itself to write out the values you want. That way if it is called from P4210, P42101, Z-Table, or anyplace else it writes to F4211 consistently and you only had to mod ONE thing - which is kind of the idea behind MBFs/functions in the first place.
 
Top