Update fields of Release when Adding Line To Sales Order


I’m stuck.
What I want to do is on save of the line to look at the orderhead.CustomerCustid and determine the customer, look at orderdtl.ProdCode and determine the product group of the part. Then based on those values set the buy to order flag on orderRel of the release of that line.

I created a post-process method directive on the only object that is referenced in the trace log. Master Update. I can get that to trigger and check on customer ID and the Product Code of the line. In the image bellow I can get it to display message 2 and message 3, but I can’t get it to do Set Field 1 and display message 4.

So I tried to create a pre-processing method directive on GetNewOrderRel, but it isn’t getting called unless I explicitly create a new release for the line I just added.

I don’t want the user to have to go in and create a new release. I want to use the release 1 that is automatically created when the line is created.

What am I missing?

The release is automatically created and won’t be available to you except in post-processing. You’ll have to in pre-processing check if there is a new line (if there is) enable post processing directive.
Then from post processing lookup the new rel, update it, save it, and refresh your dataset. (not trivial)

Your other option is to use a data directive on OrderRel (Added) (Easier)

1 Like

Thanks Jose. Looking at the data directive and looking at the built in condition node there isn’t a way to get access to OrderHead or OrderDtl fields associated with the ttOrderRel.
How would you suggest getting those values?
And once I have those values I see the setters in Data Directive are not the same as those in method directive. I only have Set Argument/Variable and Set BPM Data Field.

BTW I’m on 10.2.300.13


You’ll have to look them up by using the current rel OrderNum , OrderLine

To expand on what Jose says, you’ll need some code. Not a lot of code, and not difficult, convoluted, truly geek-worthy code like Jose and the other legends here do as easily as breathing, but you can’t do it with just widgets.

1 Like

I guess it’s time to dust off the C# book that has been sitting on the shelf for way too many years.

1 Like