When a record in the SpecHed table is changed - If SpecId changed then UD04.Shortchar01 needs to be updated and if SpecID.Description changed then UD04.ShortChar02 needs to be updated.
I was hoping a bpm could handle this but unsure how to do it. Can any of you kind people help ?
Thanks in advance
This can be done with UD04.UpdateExt method… it can be done all with widgets
You need to create a widget that “Invoke BO Method” and choose the UD04 Update Ext method… then create the parameters for the DataSet.
Once you have the dataset created, then use the “Fill table By Query” widget to populate the UD04 dataset created… you will need to populate the Company, Keys 1-5, and the two fields you mentioned above. Attach the widgets (Fill table, then BO Method widget), and it is done. no C# code needed.
The “Query” in the “Fill table by query” needs to examine your TT Record to find the changed record, and then populate the Dataset with the values.
The method would go on the Specification.Update (Post proc I’d assume), then the widget in the method will use UD04.UpdateExt.
As Tim said, you need to map the values. One thing you didnt mention is how Spec = UD04. With the UD tables, you have to have a unique (combination) of keys. So you’d have like UD04.Key1 = SpecType + UD04.Key2 = SpecID for example.
This makes it a little weird in this case because while you can change SpecID, you cant change a UD04 Key. Yet, in order to make the records, you need the keys.
For this reason, I dont think the widget alone will solve your requirement. (At least not without a bunch of dangling orphaned UD04 records)