sikima
26th March 2019, 04:53
Hello All,
I am trying create Sales Order Line using Process.SalesOrder BOD (SO Header is present and I need just enter new Line) and I got problem(s).

I am wondering if somebody could provide working Process BOD XML file for creation SO Line (no header change).

In general, I have problem with setup unit code (it is 'ea' and ISO code is 'EA') but in this moment, I get already present line overwritten (ie. position 10 is present and I load line = 20). On the end of process, only one SO Line is present (line =20) with information from XML file (new line).
Could you please give me some hint how to force BOD to create line and don't touch existing line(s) ? :)
In attached files, I am sending current setup which I tried to change over and over and getting worse after each change.
The environment is LN 10.5 (in cloud)

Alex

sikima
26th March 2019, 15:48
anybody ?

It is just last step to complete task ....

ARijke
27th March 2019, 11:26
How to handle missing lines in LN can be influenced. The BOD documentation is explaining that:
If an existing sales order line is not present in the received BOD,
- and SalesOrder/SalesOrderHeader/UserArea/Property/NameValue@name is equal to 'ln.UseDeltaDetection' and SalesOrder/SalesOrderHeader/UserArea/Property/NameValue is not equal to 'false', the sales order line is deleted.
- and SalesOrder/SalesOrderHeader/UserArea/Property with SalesOrder/SalesOrderHeader/UserArea/Property/NameValue@name equal to 'ln.UseDeltaDetection' does not exists, the Sales order line is deleted.
- and the sales order line has a positive quantity, the sales order line is deleted.

Hope this helps.

ARijke
27th March 2019, 11:29
You could also include just line 10, not all tags but just the linenumberto let LN know that the line need to stay.

sikima
27th March 2019, 15:37
I appreciate for your respond. I found that paragraph in BOD documentation but let me try put in more clear way.
Here is example:
- line 10 present
- line 20 to be inserted

Could you please let me know what it should be:

actionCode = ????
SO Line section (what it should be present along with any specific parameter)
- for line 10
- for line 20

I have tried my best to understand logic behind 'DeltaDetection' but I couldn't :)

If I have to specify each time what it shouldn't be deleted (to be inserted later), I am not sure how I could know that when I update line from outside world.

A.

ARijke
27th March 2019, 15:55
2 remarks to make it work:
1) you repeat the SalesOrder section below the DataArea. That can be removed.
2) on the SalesHeader please add:
<UserArea>
<Property>
<NameValue name="ln.UseDeltaDetection">false</NameValue>
</Property>
</UserArea>

Regards, Adriaan

sikima
27th March 2019, 16:40
Quick question: what it should be ActionCode value ? Delete or ..

I appreciate your help in getting this done ...

Alex

ARijke
27th March 2019, 17:14
It should be Change as you want to change an existing order.

sikima
1st April 2019, 18:13
It should be Change as you want to change an existing order.

I resolved problem with adding magic word (parameter) as per your original answer. Also, for any reason I got problem with mapper (Infor term: 'smart mapper'). I turned off that feature, removed all mappings and I did it again.
Inside 15 min everything was working.

I got advise directly from Infor consultant to use XSLT editor (not expert) and avoid any graphical mapping. Just in case somebody come to similar problem try this method as well.

I appreciate for your help in resolving this problem.

Alex