› Dynamics AX › Creating Sales Order with address in AX 2012 R2 via AIF through .Net

Creating Sales Order with address in AX 2012 R2 via AIF through .Net

 Leave a comment

Creating Sales Order with address information in AX 2012R2CU7 via AIF through .Net Code

Please see the below .net code

static void Main(string[] args)
        {
            // Instantiate an instance of the service client class.
            SalesOrderServiceClient proxy = new SalesOrderServiceClient();
 
            // Create an instance of the document class.
            AxdSalesOrder salesOrder = new AxdSalesOrder();
 
            // Create instances of the entities that are used in the service and
            // set the needed fields on those entities.
            AxdEntity_SalesTable salesTable = new AxdEntity_SalesTable();
            salesTable.CurrencyCode = "USD";
            salesTable.CustAccount = "C846456";
            salesTable.ReceiptDateRequested = Convert.ToDateTime("4/21/2015");
            salesTable.Payment = "PP";
            AxdEntityKey_LogisticsPostalAddress LPA = new AxdEntityKey_LogisticsPostalAddress();
            LPA.Location_LocationId = "5637282089";
 
            AxdExtType_EffectiveDateTime date = new AxdExtType_EffectiveDateTime();
            date.timezone = AxdEnum_Timezone.GMT_COORDINATEDUNIVERSALTIME;
            DateTime dateValue = new DateTime(2015, 4, 29, 14, 10, 53, 001, DateTimeKind.Utc);
 
            date.timezoneSpecified = false;
            date.localDateTimeSpecified = false;
            date.Value = dateValue; 
            LPA.ValidFrom = date; 
            salesTable.DeliveryPostalAddress = LPA;
 
            AxdEntity_SalesLine salesLine = new AxdEntity_SalesLine();
            salesLine.ItemId = "10-009";
            salesLine.SalesQty = 9;
            salesLine.SalesUnit = "ea";
 
            CallContext callContext = new CallContext();
            callContext.Language = "en-us";
            callContext.Company = "KTEC";
            salesTable.SalesLine = new AxdEntity_SalesLine[1] { salesLine };
            salesOrder.SalesTable = new AxdEntity_SalesTable[1] { salesTable };
 
            try
            {
                // Call the create method on the service passing in the document.
                EntityKey[] returnedSalesOrderEntityKey = proxy.create(callContext,salesOrder);
 
                // The create method returns an EntityKey which contains the ID of the sales order.
                EntityKey returnedSalesOrder = (EntityKey)returnedSalesOrderEntityKey.GetValue(0);
                Console.WriteLine("The sales order created has a Sales ID of " + returnedSalesOrder.KeyData[0].Value);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.ReadLine();
            }
        }

Error Details in AX exceptionlog :

“The value in field DeliveryPostalAddress is invalid.”


Liked it? Share it.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.