How to set all ShipTo SalesRep fields when customer updated

I am trying to create a BPM to update all of Customer ShipTo SalesRep fields when the main customer SalesRep is updated.

The main Customer BO has the ShipTo ds but it is not populated. When i try to add a ShipTo BO i get an error.

Has anyone done anything similar to this? Any advice greatly appreciated.

Thanks,
DaveO

The datasets in BPMs only contain the records that were actually modified, so ShipTo collection would be empty. What I would probably do is in PreProcessing, check the Customer to see if the SalesRep was changed and set a callContextBpmData field accordly. Then in PostProcessing, check to see if that field is set, and go through the ShipTo records and update them. Something like this:

2 Likes

Ms. Marjorie: Thank you so much - I will give that a try.

You rock!

DaveO

Ms. Marjorie: You are a genius - that works - thank you.

The only thing i was hoping to do was to use a BPM form to prompt user to confirm update all shipto’s?

It has been a while since i used a BPM form - is it as easy as assigning the YES/NO to a callContextBpmData checkbox?

DaveO

I’ve never used a BPM form, so I don’t know how to do that portion. It does make sense to me to do it that way, I’d end up doing it a harder way since I only know how to do it in the customization itself. I did also consider that you might want to use the customization to do a check to save the old value as well as the new value, since you might want to change only the those ShipTo records with the old value to the new value. But those are questions for the people requesting the modification :slight_smile:

If I used the BPM to do it, I imagine it would happen in Preprocessing in the same place where you checked to see if it changed. Then if they say no, you don’t set the flag that says it changed.

If I used the customization, I’d be modifying callContextBpmData to store the values and the flag and not do the Preprocessing portion at all. Just to keep the code in one place.