Updateable BAQ

I have a horrible time with updateable BAQs that were converted from E9 to E10. It works find but it i try to make a change it throws errors.

I haven’t touched this Field. I added a criteria on the Part Plant table to specify a specific plant.
How do I fix this error.


Kim I just did this for another E9 to E10 conversion. Just remove the ttresults string from each of the column expressions and that should fix the problem

1 Like

Ok, When I removed that it removed the field from the updateable BAQ and that is the field we need to update

Check in the BPM Directives Configuration there are not two routines under Update. You can delete the update routine ##Base## and save then change the baq to not updateable save and then recheck as updateable to regenerate a new base routine.

I do almost all of mine with an advanced update, especially if I am only doing an ud field. I got the original routine from EpicWeb a long time ago. Here is the E10 version I use which I set for your update. To reuse I replace all PORel with new table name and then change the field(s) being updated.

/* update PORel */

foreach (var ttResultsRow in ttResults.Where(row=> !row.Unchanged()))
    var PORel = Db.PORel.Where(row=> row.Company == CompanyID && row.SysRowID == ttResultsRow.PORel_SysRowID).FirstOrDefault();
    if (PORel != null)
        PORel.Character10 = ttResultsRow.PORel_Character10;

1 Like

The fields should be there you just need to blank out the expression. If you go into the expression editor leave the fields clear out the ttresults string. Worked fine for the updateable BAQ I converted from E9

Aghh…I did it wrong. I will try it again.

Make sure the Key Fields are displayed in your query whether you need to see them or not.