So far so good. I used a separate subquery for each price list column. (Linked the same PriceLstParts five more times, each with a different price ListCode as the criteria).
Now, we would like to make this grid Updateable. I can get the price from the primary query to update, but not the subqueries.
Is there some fundamental limitation on UBAQ that precludes using subqueries?
If so, is there another way to create a BAQ that doesn’t require subqueries? The PriceLstParts table has one line for each PartNum / ListCode combination.
Another approach all together?
Thanks for any ideas.
There is nothing that stops you from updating things from subqueries. All the Ubaq does is take the top level (what’s displayed,) as a data set. It needs the requisite peices to be able to identify the appropriate row and the field to update. If you have all of those subqueries, I’m assuming that used a union query? If not and you have different columns the Ubaq won’t work out of the box because you need to map each column to ID the row and make the changes. If each subquery populates a different column, the mapping won’t work using the little helper business object selection that the BAQ tool gives you. You would have to custom code that.
Try a union query instead so you can everything you need in each row.
Hi, we have done this at previous workplace. basically, in the pre-processing update ubaq check the rowmod row is U and compare the unchanged dataset with current dataset of pricelist price for a part.
if the there is change, then run pricelist update for the appropriate pricelist.
As @Banderson says, there are very few limitations on uBAQs at all. But the standard ways of setting them up assume things are simple, and the boxes you tick need to the queries to be conventionally set up.
I’ve done something very like this with Price Lists via uBAQ, but it did need custom code in the Advanced Update. As custom code goes, it’s reasonably straightforward, as long as code itself doesn’t make it a non-starter to consider.
OK, it sounds like my approach is reasonable, and it is possible to make it work with custom code. I will give it a try. Not a top priority, so it may take a while.
I would welcome any additional details to get me started off.
The easiest approach with custom uBAQs is to create a standard BPM update first, even if it doesn’t do what you want, and copy and paste the code it produces into an “Advanced” version as a base. You can tinker and tweak from there, which is usually only about being more precise about what you want to happen.