DDO re-entrant operation attempted
VDF15.1
Hi,
Till the version VDF14.1, as the procedure "request_validate" is not sent in BusinessProcess, I had written in the "creating" procedure of the datadictionary
Procedure creating
[INDENT]If ...... forward Send creating
else Send Clear[/INDENT]End_procedure
In VDF14.1, it ran without any problem.
In VDF15.1, I receive the error message "DDP re-entrant operation attempted" and nothing is created if the condition is true or not. I am not sure that the condition is sometimes false but I had no problem in older version.
I needed a long time to find the problem because the "creating" occured in a BusinessProcess and I didn't received the "Unhandled Program Error" message. The debugging didn't showed this message or it was not readable. It's only when I made a test directly in the DEO that I received the message and could correct it. Could this error message be shown during the procedures in "BusinessProcess" too ?
Thanks
Jacques
Re: DDO re-entrant operation attempted
Hi Jacques,
are you using DD_Debug.dg in your program? This is what typically causes the reentrancy error message to show. Are you saying the error does not show in a BPO even when using DD_Debug.dg?
About the code: while in Creating, Update or Backout, all code should be performed using record buffers and not DDO messages. At this point, all records have been reread and locked.
Re: DDO re-entrant operation attempted
I'm curious; why should you not forward send Creating?
I would have thought it be good practice to forward all augmentations, unless you have a good reason not to and wish to re-define that method entirely.
Re: DDO re-entrant operation attempted
You are correct about this. I'll adjust my post.
Re: DDO re-entrant operation attempted
Hi Dennis,
As I am migrating a VDF7 application to VDF15.1, I had no DD_Debug.dg in the src at the begin.
But trying to find the problem, I created a test view with VDF15.1 (containing DD_Debug.dg).
In the test view I only have the BusinessObject and a button which put the values of properties of the business object and send "doprocess".
When I press the button, I didn't receive error message but the program didn't run correctly.
Then, I have deleted the lines "Object oBp_action is a BusinessProcess" and "End_object"
I have changed the name of the procedure "OnProcess" to "Run_Process".
In the "onclick" procedure of the button I have written "send Run_Process" instead of "Send doprocess to oBp_action".
I received the "Unhandled Program Error 98 " telling me that a property was unknown because I had forgotten to create this property in the test view.
This means that the errors occuring in a BusinessProcess aren't trigged by the "Unhandled Program Error" procedure and not showed to the user.
Jacques
Re: DDO re-entrant operation attempted
Jaques,
if you set
[CODE]Set Display_Error_State to True [/CODE]
in the Businesporcess object, it will show you the errors.
Regards
Peter
Re: DDO re-entrant operation attempted
Thank You Peter !
It helps a lot !
Jacques