I have the following error on my Updatable BAQ , my Base method cannot be build if I don’t include our custom fields on the query to object column mapping tab. How can I prevent this from happening , my main concern is that any field that belong to the mapping gets overridden. Also my understanding is that I have to remove all unnecessary fields from my mapping, if i include them they might get override. Let me know if this make sense.
Currently I am using Epicor 10.1.400.17
Scenario.
1)User1 retrives info from dashboard Sales order, PO is included in my mapping field.
2) User2 updates PO field using Sales order Entry.
3) User1 updates a record doesn’t have to be PO field. Right now BAQ overrides the info without knowing.Epicor wont rise and exception.
One or more BPM directives are marked as outdated due to compilation errors. Please inspect and correct.
Method: Ice.AXIS/AXIS_SOPartsPickgSched.Update, Directive: ##BASE##, Compile error(s):
Error CS0103: The name ‘OrderDtl_UD’ does not exist in the current context [Update.Base.##BASE##.cs(144,77)]
Error CS0103: The name ‘OrderDtl_UD’ does not exist in the current context [Update.Base.##BASE##.cs(145,70)]
I am a bit confused about exactly what you have going on in your updatable query, but we use them a good bit and perhaps some thoughts might help.
Your fields will not update unless you have them checked as “updatable” on General Properties tab. You mention concern “my main concern is that any field that belong to the mapping gets overridden”. Unless there’s additional external processing being run (i.e., data directive etc) the updateable query should not update these fields. Also, if you really want to remove them, can’t you go to the Query builder / display fields tab and send the concerning ones back to the left/table area, thus removing them from query. Alternately, click on the row in the Query to Object Columm Mapping and click little red “x” to delete. Does any of this help/work?
Thanks a lot for your answer, I used to work like this, flagging the fields that i needed as updatable and leaving all fields in the mapping tab.Then later on, we start finding out that for some reason updatable dashboards were overriding the sales order details from people that had no access to Sales Order entry and we run some test and find out that Epicor dashboards doesn’t even prompt when there are differences (if some else updates a record before you SysRevID field will always change for every update on a record).
I will try and run some more testing and see if i can find out all scenarios but basically if you want to run the test that i am suggesting is as follows.
Create an updatable baq with Sales order Head and one updatable field.
Retrieve information for a sales order using your BAQ.
Update Sales order header information on your Sales order Entry, this field must be part of the mapping tab but it shouldn’t be the one you set as updatable on your BAQ.
Go back to the BAQ and select the sames sales order , after you update you will see that the field goes back to what it was in step 1. Meaning BAQ override the information and wont display a message saying that the row has been modified.