BPM triggering Business Query Execution error

I finished setting up and testing a new system to log BAQ usage on a test server. Logging worked exactly the way I wanted it to. I set everything up on our live DB and enabled the BPMs on Execute, ExecuteDashboardQuery, ExecuteDashboardQueryPaged, and ExecuteDashboardParameterized methods on the DynamicQuery bo. I immediately got a call from a user entering orders. She received a Business Query Execution error when she tried to save the sales order. I disabled the DynamicQuery BPMs and she was able to go on. Back to the test server. I found when I disabled all BPMs (all pre-processing) on the sales order and enabled the BPMs on the DynamicQuery I was able to add the sales order without receiving the error. The logs showed the exact error was "(Parametermized execution of ’ ’ query on behalf of Sue Nielsen is started. “Procedure: ‘runQuery Server/bo/DynamicQuery.p’ Line:44700) ttOrderHed RowMod must be a quoted constant or an unabbreviated, unabbiguous buffer/field reference for buffers know to query. (7328) The query failed to execute”. Same thing happened with customers, purchase orders, and suppliers. The logs were the same with the exception of ttCustomer, ttPOHeader, ttVendor instead of ttOrderHed. Things like Terms with no BPMs attached didn’t seem to have any issues. I also found there seemed to be mainly one BPM attached to the BO that was the problem; the others could be enabled without issue. I couldn’t find a pattern…it might be the first, the middle or the last BPM; it might have a query condition; it might have a condition checking for a hold. I added test BPMs to the methods for DynamicQuery and disabled all others for testing purposes. The test BPMs had no condition. The action simply displayed a “Condition Met” message which I received when logging BAQs & still received the error when adding sales orders, etc. I thought that might eliminate the possibility of it being something in the coding of the DynamicQuery BPMs I set up. Tomorrow I plan on renaming all BPM bo directories except DynamicQuery and doing more testing with one bo at a time; I’m all tangled up from testing today :worried: Any one have any ideas? Why would BPMs set up for DynamicQuery affect the way BPMs work on other BOs (or vice versa)? BTW, I’m running on 9.05.701.

I am going thru this also this week. It seems for me any bpm with a condition was having an issue. Until your post I was reviewing them and moving the condition into the abl code. It was good to refresh and combine several of them. Tonight I looked at removing the is not system query and putting the condition in the abl to eliminate the conflict.

I put an If ttDynamicQuery.Delivered = no Then Do: before the create UD25 and it seems to have stopped all of the issues. I have a lot of testing to do tomorrow, but I have tested 3 good so far.

Greg

1 Like

Greg

Are you rewriting all your BPMs eliminating the conditions or just the DynamicQuery BPMs? I don’t really mind the idea of a complete BPM clean up. Quite a few were beginner BPMs or written for Vantage.

Sue

I started rewriting all of the ones that were conflicting, but last night fixed the conflict on the baq logging, so I am not forced to if I don’t have time.
Mine were a lot of the same, beginner or the same type of bpm that I combined into one bpm.

Greg