I am trying to use the salesorder service. create interface in AIF to create salesorders - the basic create call goes fine. But now I want to specify a delivyery address - and here I have problems. All online samples that I can find does not show this part - or they refor to Ax 2009 examples which you cannot use here.
I try to fill in some values in the TableDlvAddress node - but I cannot get it right.
Anyone here with af sample of the inbound xml to do this?
Thanks in advance..
We were just told by Microsoft support that even though it appears that this functionality should work, it is not supported functionality. So currently you can only use the default address.
If you look at the Query/AxdSalesOrder and go to the Data Source for the table TableDlvAddr, the properties do not allow it to be updated
Its a similar situation where the inventDim of a salesLine cannot be updated (coming from 2009)
So the functionality shouldn't allow it to be updated. You can try changing the property on that datasource to be updateable, Although i havent tried it yet
If you modify class method LogisticsPostalAddressEntity.searchAddress() to lookup by LocationId TableDlvAddress will work if you specify locationId and validFrom. You may also want to modify class method DirTrxLocationServiceOp.handleTransLocation() to prevent it from trying to update the location name field.
Has there been any fixes to this since last year?
Did you get any resolution for this issue. I am using AX 2021 R2 CU7. I am trying to key the delivery address with SO in the XML but recieve below error:
Invalid document schema. The following error was returned: The element 'TableDlvAddr' in namespace 'schemas.microsoft.com/.../SalesOrder& cannot contain text.
Could you please suggest if you were able to handle this?
I ended up hacking it a bit. It seems to be working fine but it isn't the best solution. I appended the delivery address RecId to the Delivery name in the header. I then added some code to the insert method on the SaleLine table to split that string out and use that RecId for the actual delivery code.