Display Ship-to Addresses On Sales Orders

Control how Order Management displays the ship-to address on a sales order.

Set Default Value for Ship-to Address

If you set the value for the Customer attribute on the order header, then Order Management sets the value for the Ship-to Address attribute to the first address that you add on the Organization Details page, by default.

Set Default Value for Ship-to Address.

Setting the Primary attribute on the Organization Details page doesn't affect the Ship-to Address on the sales order.

Setting the Primary attribute on the Organization Details page doesn't affect the Ship-to Address on the sales order.

Instead, you can use the OrganizationService web service to specify the default value to use for the ship-to address:

  1. Make sure you have the HZ_ENTER_TRADING_COMMUNITY_ORGANIZATION_INFORMATION_PRIV privilege.
  2. Use the findOrganization operation to get the values that you will use to identify party details in the mergeOrganization operation, such as PartyId, PartySiteId, and PartySiteUseId. For example:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/">
            <ns1:findOrganization>
                <ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
                    <ns2:fetchStart>0</ns2:fetchStart>
                    <ns2:fetchSize>-1</ns2:fetchSize>
                    <ns2:filter>
                        <ns2:conjunction>And</ns2:conjunction>
                        <ns2:group>
                            <ns2:conjunction>And</ns2:conjunction>
                            <ns2:upperCaseCompare>false</ns2:upperCaseCompare>
                            <ns2:item>
                                <ns2:conjunction>And</ns2:conjunction>
                                <ns2:upperCaseCompare></ns2:upperCaseCompare>
                                <ns2:attribute>PartyName</ns2:attribute>
                                <ns2:operator>=</ns2:operator>
                                <ns2:value>Computer Service and Rentals</ns2:value>
                            </ns2:item>
                        </ns2:group>
                    </ns2:filter>
                    <ns2:excludeAttribute>false</ns2:excludeAttribute>
                </ns1:findCriteria>
                <ns1:findControl xmlns:ns3="http://xmlns.oracle.com/adf/svc/types/">
                    <ns3:retrieveAllTranslations>false</ns3:retrieveAllTranslations>
                </ns1:findControl>
            </ns1:findOrganization>
        </soap:Body>
    </soap:Envelope>
    

    For more, see Get Organizations with PartySiteNumber.

  3. Set the default value for the Ship-to Address attribute to the primary ship-to site. Use the details from the response that you received in step 2. Assume you need to set it to party site 300100178657747:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  
    xmlns:typ="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/" 
    xmlns:org="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/" 
    xmlns:par="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/" 
    xmlns:sour="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/sourceSystemRef/" 
    xmlns:con="http://xmlns.oracle.com/apps/cdm/foundation/parties/contactPointService/" 
    xmlns:con1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/contactPoint/" 
    xmlns:org1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/organization/" 
    xmlns:par1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/partySite/" 
    xmlns:rel="http://xmlns.oracle.com/apps/cdm/foundation/parties/relationshipService/" 
    xmlns:org2="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/orgContact/" 
    xmlns:rel1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/relationship/">
       <soapenv:Header/>
       <soapenv:Body>
          <typ:mergeOrganization>
             <typ:organizationParty>
                <org:PartyId>300100178657728</org:PartyId>
                <org:PartySite>
    <par:PartySiteId>300100178657747</par:PartySiteId>
                    <par:PartySiteUse>
    <par:PartySiteUseId>300100178657752</par:PartySiteUseId>
    <par:PrimaryPerType>Y</par:PrimaryPerType>
                   </par:PartySiteUse>
                </org:PartySite>
             </typ:organizationParty>
          </typ:mergeOrganization>
       </soapenv:Body>
    </soapenv:Envelope>

Use Web Service to Set Ship-to Address and Ship-to Contact

If you set the value for the Customer attribute on the order header:

  • Order Management sets the value for the Ship-to Address attribute on the order header to the first address that you add and that has a value of Ship-To in the Purpose attribute on the Organization Details page, by default. Setting the Primary attribute on the Organization Details page doesn't affect the Ship-to Address on the sales order.
  • Order Management sets the value of the Ship-to Contact attribute on the order header to the first contact that you add on the Account Site page. Setting the Primary attribute for a contact on the account site has no effect on the value that Order Management uses to set the default value for the Ship-to Contact on the sales order.

Assume you go to the Edit Organization page and add the 500 Oracle Parkway address. Next, you add the 600 Oracle Parkway address to the same organization, but you also enable the Primary attribute for 600 Oracle Parkway. You set the Purpose attribute for both addresses to Ship-To. At run time, Order Management will set the Ship-to Address attribute on the order header to 500 Oracle Parkway because it’s the first address that you added.

Assume you add 500 Oracle Parkway as an account site to your organization, then add Yu Li as a contact on the site. Next, you add June Tsai as a contact on the same site, but you also enable the Primary attribute for June. At run time, Order Management will set the Ship-to Contact attribute on the order header to Yu Li because it’s the first contact that you added.

You can't use the Organizations work area to modify this behavior. Instead, you can use a web service:

  1. Use the findOrganization operation of the organizationService web service to get the values that you need to identify your party details.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/">
            <ns1:findOrganization>
                <ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
                    <ns2:fetchStart>0</ns2:fetchStart>
                    <ns2:fetchSize>-1</ns2:fetchSize>
                    <ns2:filter>
                        <ns2:conjunction>And</ns2:conjunction>
                        <ns2:group>
                            <ns2:conjunction>And</ns2:conjunction>
                            <ns2:upperCaseCompare>false</ns2:upperCaseCompare>
                            <ns2:item>
                                <ns2:conjunction>And</ns2:conjunction>
                                <ns2:upperCaseCompare></ns2:upperCaseCompare>
                                <ns2:attribute>PartyName</ns2:attribute>
                                <ns2:operator>=</ns2:operator>
                                <ns2:value>Computer Service and Rentals</ns2:value>
                            </ns2:item>
                        </ns2:group>
                    </ns2:filter>
                    <ns2:excludeAttribute>false</ns2:excludeAttribute>
                </ns1:findCriteria>
                <ns1:findControl xmlns:ns3="http://xmlns.oracle.com/adf/svc/types/">
                    <ns3:retrieveAllTranslations>false</ns3:retrieveAllTranslations>
                </ns1:findControl>
            </ns1:findOrganization>
        </soap:Body>
    </soap:Envelope>
    where
    • PartyName identifies your customer, such as Computer Service and Rentals.
  2. Examine the response from step 1 to get the values of the attributes that contain the person you want to use for the ship-to address and the ship-to contact. Assume the response contains these values:
    Attribute Value
    PartyId 1006
    RelationshipRecId 999990007700611
    RelationshipId 5041
  3. Use the mergeOrganization operation of the organizationService web service.
     <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/" xmlns:org="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/" xmlns:par="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/" xmlns:sour="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/sourceSystemRef/" xmlns:con="http://xmlns.oracle.com/apps/cdm/foundation/parties/contactPointService/" xmlns:con1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/contactPoint/" xmlns:org1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/organization/" xmlns:par1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/partySite/" xmlns:rel="http://xmlns.oracle.com/apps/cdm/foundation/parties/relationshipService/" xmlns:org2="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/orgContact/" xmlns:rel1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/relationship/">
       <soapenv:Header/>
       <soapenv:Body>
          <typ:mergeOrganization>
             <typ:organizationParty>
                <org:PartyId>1006</org:PartyId>
                <org:Relationship>
                   <rel:RelationshipRecId>999990007700611</rel:RelationshipRecId>
                   <rel:RelationshipId>5041</rel:RelationshipId>
                   <rel:PreferredContactFlag>true</rel:PreferredContactFlag>
                </org:Relationship>
             </typ:organizationParty>
          </typ:mergeOrganization>
       </soapenv:Body>
    </soapenv:Envelope>
    

    where

    • PartyId identifies the party.
    • RelationshipRecId identifies the contact relationship.
    • RelationshipId identifies the contact. This is the contact that you want to use for the ship-to address and ship-to contact on each sales order.
    • You replace the values for PartyId, RelationshipRecId, and RelationshipId with the values that you identified in step 2.
    • Set the PreferredContactFlag attribute to true, and Order Management will set the ship-to address and ship-to contact on each sales order according to the contact that the PartyId, RelationshipRecId, and RelationshipId attributes identify.
    In this example, you're using the address from the 5041 contact, in the 999990007700611 relationship, in the 1006 party to set the ship-to address and ship-to contact on each sales order.

Control Drop Down for Ship-to Address

On the Organization Details page, set the Purpose attribute to Ship-to for each address that you must display in the Ship-to Address drop down in the Order Management work area.

Organization Details page, set Purpose to Ship-to.

Control Search for Ship-to Address

Order Management returns all party sites in the Ship-to Address attribute regardless of usage when you click Search, by default. For example, it returns ship-to usages and bill-to usages.

If you use Oracle Financials, then set the Filter Ship-to Address by Ship-to Usage parameter to Yes. This setting makes sure you can select only ship-to sites and avoid an error from happening when the import automatically invoices the transaction.

Set Filter Ship-to Address According to Ship-to Usage to Yes.

For details, see Manage Order Management Parameters.

Search Ship-to Address According to Party Site

You can use an advanced search in the Search and Select dialog to search for ship-to addresses according to the name of the ship-to party site. This dialog displays the name that you specify when you set up your ship-to party site. This feature is useful when your deployment uses a large set of addresses. It allows you to search when you don't know the site's mailing address.

Assume you support a retailer named Computer Service and Rentals who sells at 200 different physical locations. You can search on the text Computer Service to return all locations that begin with the text Computer Service.

Search on the text Computer Service.

Set Default Value for Contact Method

The Contact Method attribute describes how to contact the person that you set in the Contact attribute on the sales order. Assume Tang Taizong is a contact for your Computer Service and Rentals customer. If Contact contains Tang Taizong, and Contact Method contains tang.taizong@oracle.com, then you can use the tang.taizong@oracle.com email address to contact Taizong.

Assume you need to set Taizong's site to 1800 Satellite Drive, Distribution Center, and you need to set the default value for the Contact Method to Taizong's email address, but you haven't yet specified a contact point for Taizong.

You edit Taizong's contact details in the Setup and Maintenance work area at design time to specify the contact point. Order Management then displays the contact point in the Contact Method on the sales order at run time.

Order Management then displays the contact point in the Contact Method on the sales order at run time

To set the default value that Order Management displays at run time in the Contact Method attribute, make sure you have only one contact point on the Edit Contacts page. For example, if you have an email contact point and a phone contact point, then Order Management won't display any value in the Contact Method attribute, by default.

Try it.

  1. Go to the Setup and Maintenance work area, then go to the task.

    • Offering: Financials

    • Functional Area: Manage Customers

    • Task: Manage Customers

  2. On the Manage Customers page, search for the value.

    Attribute

    Value

    Organization Name

    Computer Service and Rentals

  3. Scroll down to the Sites area, then click the link in the Site Number column in the row that contains the address that you're looking for.

    Attribute

    Value

    Address

    1800 Satellite Drive, Distribution Center,CHATTANOOGA, TN 37401

    For this example, assume the Site Number is 1222.

  4. On the Edit Site page, click Communication, then click Edit Contact.

  5. On the Edit Contacts page, in the Contact Points area, click Actions > Create.

  6. In the Create Contact Point dialog set the values, then click OK.

    Attribute

    Value

    Contact Point Type

    Email

    Email Format

    Plain Text Email

    Email

    tang.taizong@oracle.com

    Make sure the Contact Points list contains only one row. If it has more than one row, then Order Management won't set a default value for the Contact Method attribute on the sales order.

  7. Click Save and Close.

  8. On the Manage Customers page, click Done.

Test Your Set Up

  1. Go to the Order Management work area, then create a sales order.

    Attribute

    Value

    Customer

    Computer Service and Rentals

  2. Verify the attributes values.

    Attribute

    Value

    Contact

    Tang Taizong

    Contact Method

    tang.taizong@oracle.com