Monday, September 17, 2018

How to display full country name when adding sales order transaction via web services?

 

1. Using WS, create a sales order transaction where the addressbook is automatically sourced from Customer Record, note that if you view the sales order in the UI, the country enumeration in the addressbook sublist shows the country full name.

 

<platformMsgs:add
          xmlns:platformMsgs="urn:messages_2010_1.platform.webservices.netsuite.com"
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:s0="urn:sales_2010_1.transactions.webservices.netsuite.com"
          xmlns:platformCommonTyp="urn:types.common_2010_1.platform.webservices.netsuite.com"
          xmlns:platformCommon="urn:common_2010_1.platform.webservices.netsuite.com"
          xmlns:platformCore="urn:core_2010_1.platform.webservices.netsuite.com">
         <platformMsgs:record xsitype="s0:SalesOrder">
            <s0:entity internalId="21" type="account" />
            <s0:location internalId="1" type="location" />
            <s0:itemList replaceAll="true">
               <s0:item>
                  <s0:item internalId="66" type="inventoryItem" />
                  <s0:quantity>0.0</s0:quantity>
                  <s0:amount>2.0</s0:amount>
               </s0:item>
            </s0:itemList>
         </platformMsgs:record>
      </platformMsgs:add>
 
Image

 

2. However, when the addressbook sublist is populated in the WS request, it shows the abbreviated country name.

<platformMsgs:add
          xmlns:platformCommon="urn:common_2010_1.platform.webservices.netsuite.com"
          xmlns:platformMsgs="urn:messages_2010_1.platform.webservices.netsuite.com"
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:s0="urn:sales_2010_1.transactions.webservices.netsuite.com"
          xmlns:platformCommonTyp="urn:types.common_2010_1.platform.webservices.netsuite.com"
          xmlns:platformCore="urn:core_2010_1.platform.webservices.netsuite.com">
         <platformMsgs:record xsitype="s0:SalesOrder">
            <s0:entity internalId="21" type="account" />
            <s0:transactionBillAddress>
               <platformCommon:billAttention>bill1</platformCommon:billAttention>
               <platformCommon:billAddressee>b</platformCommon:billAddressee>
               <platformCommon:billCity>Beverly Hills</platformCommon:billCity>
               <platformCommon:billState>California</platformCommon:billState>
               <platformCommon:billZip>90210</platformCommon:billZip>
               <platformCommon:billCountry>_unitedStates</platformCommon:billCountry>
            </s0:transactionBillAddress>
            <s0:transactionShipAddress>
               <platformCommon:shipAttention>Ship1</platformCommon:shipAttention>
               <platformCommon:shipAddressee>s</platformCommon:shipAddressee>
               <platformCommon:shipCity>Beverly Hiils</platformCommon:shipCity>
               <platformCommon:shipState>California</platformCommon:shipState>
               <platformCommon:shipZip>90210</platformCommon:shipZip>
               <platformCommon:shipCountry>_unitedStates</platformCommon:shipCountry>
            </s0:transactionShipAddress>
            <s0:location internalId="1" type="location" />
            <s0:itemList replaceAll="true">
               <s0:item>
                  <s0:item internalId="66" type="inventoryItem" />
                  <s0:quantity>0.0</s0:quantity>
                  <s0:amount>2.0</s0:amount>
               </s0:item>
            </s0:itemList>
         </platformMsgs:record>
      </platformMsgs:add>
 
Image
 

The underlying components of the address are the same, it's "US"  in the db. The only difference is that the generated name for the country is different in the "Defaulted in" case. We probably take your exact country if you supply one, if you don't we put the friendly name in the text. Note that both US and United States will ship properly.

They only differ in 'SSHIPADDR' which is actually the shipAddress and billAddress string fields populated. 

This is NOT a bug and if the customer needs the 'Full' country name displayed when entering Transaction (where they manually enter addressbooklist) they need to populate the shipAddress and billAddress string.


 
 

No comments:

Post a Comment