4Import and Transform

This chapter contains the following:

Import

Overview of Importing Orders into Order Management

Use a web service or the Order Import Template to import orders from your source system into Order Management Cloud.

flow of Using a web service or the Order Import
Template to import orders from your source system.

Get details.

  • Use a web service to create an integration that imports source orders. See the Guidelines for Using Web Services to Integrate Order Management topic.

  • Use the Order Import Template to reduce errors and simplify order import. This template contains a structure that the Oracle database requires. It includes a tab for each database table, and it displays tabs in a specific sequence. Columns on each tab represent table columns that Oracle requires, and the template specifies the data type that Oracle requires for each database column.

    • Get a copy of Order Import Template and get details about tables that the template references. See the Sales Orders topic in book File-Based Data Import for Oracle Supply Chain Management Cloud on Oracle Help Center.

    • Learn how to use Order Import Template. See the Guidelines for Importing Orders into Order Management topic.

Guidelines for Importing Orders into Order Management

Apply guidelines when you use a file to import orders into Order Management Cloud.

Convert Source Data Into CSV File

You must create a CSV file that includes order data from your source system. Use these guidelines to make sure the structure that the CSV file contains mirrors the structure that the Order Import Template contains.

CSV file that includes order data from your source
system.

Note.

  • Create a CSV file, such as MySourceOrders.csv. To make sure you include the same structure that the template uses, its recommended that you open the template file, save it as a CSV file, structure your data so it mirrors the CSV file, and then copy your source data into the CSV file

  • Include the same table names and sequence them in the same sequential order. The tab sequence that the template uses determines sequential order.

  • Include the same columns in each table, and arrange columns in the same sequential order inside each table.

  • Use the same data type for each column.

View an example of the CSV structure.

  1. Open the Order Import Template in Microsoft Excel.

  2. Click the DOO_ORDER_HEADERS_ALL_INT tab.

  3. Click File > Save As > Excel Workbook.

  4. Save the file as a .csv file, then use a text editor to examine the output.

BI_SO_2110_Demo_01,GPR,BI_SO_2110_Demo_01,,1006,,,,,,,,,1560,,,,,,,,,,,,576859,USD,,,,,10/10/2016 17:12,204,,,,,,,204,,,,,,,,,,,
12345,LEG,LEGACY12345,1,1006,Computer Service and Rentals,Bill,Gates, ,Jr,Mr,,1006-Party,1560, ,Bill,Williams,Bob, ,Mr.,ORGANIZATION,,1560-Contact,1000,Preferred Sold To Contact Point Orig Sys Reference,,USD,US Dollar,Spot,1.23,1/15/2014 10:10,1/29/2016 10:10, ,Vision Operations,,,,Order 12345,12345, ,,,N,NONE,No Reason,1/15/2014 10:10,N,N,N,,N
CCtest2,LEG,LEGACY-SC,1,1006,Computer Service and Rentals,,,,,,1006,1006-Party,1560,Piere Legrand,,,,,,,CONTACT-1560,1560-Contact,,,,USD, ,,,,1/29/2016 10:10, ,Vision Operations,,,,order with header sales credits,cc,204,,,N,,,,N,N,N,,

Use the Template

Reflect Structure of Oracle Database

Structure of Oracle Database.

Enter your data so it reflects the structure of the Oracle database. The Order Import Template uses a separate spreadsheet in an Excel workbook to represent each interface table.

  • A row near the top of each spreadsheet contains column headers.

  • Each column header represents the name of an interface table column.

  • The spreadsheet displays columns in a specific sequence.

  • You must not modify the sequence. If you do, import will fail.

  • Hide columns you don't need, but you must not delete them. If you delete a column, import will fail.

Order Import Template includes a tab for each of these interface tables. The _INT suffix indicates its an interface table. You must include data in each required table.

Table Name Details This Table Must Contain Required

DOO_ORDER_HEADERS_ALL_INT

Order header data.

Yes

DOO_ORDER_LINES_ALL_INT

Order line data.

Yes

DOO_ORDER_ADDRESSES_INT

Address for the sales order.

Yes

DOO_ORDER_TXN_ATTRIBUTES_INT

Attributes that might be associated with an order line.

Yes

DOO_ORDER_SALES_CREDITS_INT

Sales credits for the sales representative that the source order references.

No

DOO_ORDER_PAYMENTS_INT

Payment details for the order line.

No

DOO_ORDER_LOT_SERIALS_INT

Lot serial details for the order line.

No

DOO_ORDER_DOC_REFERENCES_INT

References to documents that Order Management imports with the source order.

No

DOO_ORDER_CHARGES_INT

Charges for the sales order.

Required only if you don't calculate pricing in Oracle Fusion.

DOO_ORDER_CHARGE_COMPS_INT

Charge components for the sales order.

Required only if you don't calculate pricing in Oracle Fusion.

DOO_ORDER_BILLING_PLANS_INT

Billing plans for the sales order.

No

DOO_ORDER_MANUAL_PRICE_ADJ_INT

Manual price adjustments for the sales order.

No

DOO_ORDER_HDRS_ALL_EFF_B_INT

Flexfield details for the order header.

No

DOO_ORDER_LINES_ALL_EFF_B_INT

Flexfield details for the order line.

No

DOO_PROJECTS_INT

Projects for the sales order.

No

Enter Data in Required Columns

Data in Required Columns.

Note.

  • Order Import Template uses an asterisk ( * ) to indicate required columns. For example, the Source Transaction Schedule Identifier column on the DOO_ORDER_LINES_ALL_INT tab is required.

  • The template uses an asterisk ( * ) to indicate each required column.

  • The template uses a double asterisk ( ** ) to indicate the color group requires a value in at least one of these columns. For example, if a color group includes columns **a, **b, and c, then you must include a value in a or b, or a and b.

  • Required columns aren't always contiguous. Carefully examine column headings in each spreadsheet to make sure you include data for each required column.

  • To locate required headings on each spreadsheet, press CTRL + F, enter ~* (a tilde and an asterisk), and then click Find All.

Use Color to Determine What's Required

  • The template uses a blue background for column headings, by default. It uses other colors to group some columns.

  • For example, the DOO_ORDER_HEADERS_ALL_INT sheet uses a tan color to group columns Buying Party Identifier, Buying Party Name, and Buying Party Number. You must enter a value in at least one column of this color group.

  • Some sheets include more than one color group. You must enter at least one value for each color group.

  • Color groups might not display contiguously. Carefully examine the color group on each spreadsheet to make sure you include at least one value for each color group.

  • Some color groups are conditional. For example, you must enter a value for at least one column in the color group that represents these columns.

    • Requested Fulfillment Organization Identifier

    • Requested Fulfillment Organization Code

    • Requested Fulfillment Organization Name

    The DOO_ORDER_LINES_ALL_INT sheet contains these columns and uses them only for rows that references a return order. The sheet includes an instructional note immediately above each conditional color group.

Use Correct Data Type

  • Use the format that the database column uses. For example, data in column Source Transaction Identifier of tab DOO_ORDER_LINES_ALL_INT must use format VARCHAR2(50).

  • Use example data and descriptive text to help determine the type of data to include.

  • Order Import Template comes predefined with example data already populated, and some column headers include descriptive text.

  • For example, click the DOO_ORDER_LINES_ALL_INT tab, and notice that row seven in column Requested Fulfillment Organization Name includes a value of Vision Operations.

  • Position your mouse over column header Requested Fulfillment Organization Name, and then read the descriptive text that indicates this field must contain only VARCHAR2(240 CHAR) data. The value Vision Operations meets this requirement.

  • Make sure you remove example data before you import data.

For details, see the topic about Oracle data types in Oracle Server Concepts Manual at https://docs.oracle.com/cd/A57673_01/DOC/server/doc/SCN73/ch6.htm.

Format Amounts, Dates and Identifiers

Format for Amounts, Dates and Identifiers.

Note

  • You must use a comma (,) for the thousands separator and a period (.) for the decimal separator in number columns. For example, use 1,500.25. Don't use 1500,25.

  • Use a whole number when required. If a column must use a whole number, then the control file that validates data in this column includes only whole numbers. If it doesn't, then the import fails.

  • You must use format YYYY/MM/DD HH:MM:SS for each date field. For example, 1/15/2019 10:10:10 AM is January 15, year 2019, 10 hours, 10 minutes, and 10 seconds after 00:00:00 AM.

Format internal identifier.

  • If your data includes an internal identifier, then make sure you map it correctly.

    An internal identifier is an identifier that Order Management uses to create a reference between a lookup that you specify for an item, customer, or reference data, to details from the Product Information Manager work area, Trading Community Architecture, or collection data. This data resides in the Order Orchestration and Planning Repository. For example, if your order uses Payment Terms, then you must set up this value in Oracle, then set up collections processing.

  • You must map your source data value to an Order Management value for each internal identifier column.

  • Read the descriptive text in the spreadsheet for help with columns that require an internal identifier.

  • The template includes more than one column that specifies details for internal identifiers. It uses the Identifier suffix to identify these columns, such as Source Transaction Identifier or Buying Party Identifier.

  • If your source data includes an identifier column that doesn't require setup in Product Information Management, Trading Community Architecture, or data collection, then you can use the implementation pages in your implementation project to get the identifier and other attributes that you must map for the internal identifier.

Import Customer Items

Make sure you correctly set up the rank for each customer item relationship before you import orders. For details, see the Import Customer Items into Order Management topic.

Upload and Import Your Data

Use scheduled processes.

Upload and Import Your Data.

Note.

  • Use the Load Interface File for Import scheduled process to upload your data to the server.

    Use the Import Sales Orders scheduled process to import data into Order Management.

    • Specify the .zip you created from the template.

    • Specify parameters as necessary. For example, filter according to source system, customer, and time frame.

Verify that your scheduled processes succeeded.

Verify scheduled processes succeeded.

Verify the Order Management work area displays your imported data.

Import New Customer

If you use a file to import a customer, contact, or address that doesn't already exist in Trading Community Architecture, then you must manually assign privileges to the role for the user who runs the Load Interface File for Import scheduled process.

Privilege Description

HZ_ENTER_TRADING_COMMUNITY_PERSON_PRIV

Enter Trading Community Person

HZ_UPDATE_TRADING_COMMUNITY_PERSON_PRIV

Update Trading Community Person

HZ_ENTER_TRADING_COMMUNITY_ORGANIZATION_INFORMATION_PRIV

Enter Trading Community Organization Information

HZ_UPDATE_TRADING_COMMUNITY_ORGANIZATION_PRIV

Update Trading Community Organization

For details about how to add a privilege, see the Data Security topic.

Import a Draft Sales Order

If you don't want to submit your imported order to fulfillment, but instead want to import it as a draft sales order, then set the Submit Flag attribute to N on the DOO_ORDER_HEADERS_ALL_INT worksheet.

If you're using.

  • REST API to do the import, then set the SubmittedFlag attribute to false in the Sales Orders For Order Hub REST API resource. False is the default value in REST API.

  • A web service to do the import, then set the SubmittedFlag attribute to N in your web service payload.

In some instances its important to import your sales order in draft status to avoid a problem in downstream fulfillment. For example, assume you import a sales order and need to modify the quantity to avoid having the order get stuck in awaiting shipping status because your inventory levels are fluctuating. You can import it as a draft, modify the quantity in the Order Management work area so it meets your downstream fulfillment requirements, then submit it.

Import a Revision

If you import a draft order, modify it in the Order Management work area, submit it, then import a revision of the order in a subsequent import, then the imported revision must include the current attribute values. If you want to change attribute values, then the imported revision must include the new values.

For example, assume you set up an order management extension that sets the default value for the Shipping Method attribute. You import a value of Air for Shipping Method, you change the Shipping Method to Rail in the Order Management work area, submit the order, then import an order revision in a subsequent import. If you want to keep Rail, then your subsequent import must include a value of Rail for Shipping Method. If the subsequent import doesn't include any value for Shipping Method, then Order Management will set Shipping Method to some other value, depending on your pretransformation rule.

Import Orders into Order Management

Use files to import source orders from a source system into Order Management Cloud.

flow that imports orders into Order Management
Cloud.

Note.

  1. Convert source data.

  2. Create import file.

  3. Upload source data.

  4. Import source data.

  5. Delete imported orders from interface tables.

Order import typically uses this same flow when you integrate Order Management with a source system, except you import orders from a spreadsheet. For details, see the How Order-to-Cash Works with Order Capture Systems topic.

Convert Source Data

Convert your source data into a CSV file (comma separate values) that uses the same structure that the Order Import Template uses.

Use the template to help make sure your converted data uses the same structure that the Oracle database requires. This topic describes one recommended way to convert your source data. The details of your conversion might require a different way.

If you can't use Order Import Template for some reason, and if you aren't familiar with doing data conversion, then consult Oracle resources about how to use an open interface when importing data. For details about other ways to import your data, such as through a web service, see the Use Web Services to Integrate with Order Management topic.

Convert your source data into a CSV file.

  1. Download the Order Import Template.

    • Go to Oracle Help Center at https://docs.oracle.com/en/cloud/saas/supply-chain-management/19c/index.html

    • Choose your release and click Books.

    • In the Development area, under File Based Data Import for Oracle Supply Chain Management Cloud, click HTML .

    • Expand Order Management, then click Sales Orders Import.

    • In the Sales Orders Import area, click SourceSalesOrderImportTemplate.xlsm.

  2. Use a spreadsheet editor that can read a CSV file, such as Microsoft Excel, to open Order Import Template, and then familiarize yourself with the structure that it uses.

  3. Use a data manipulation tool to structure your source data so it mirrors the structure that the Order Import Template contains, and then save this data to a CSV file.

    You can use SQL (Structured Query Language), ODI (Oracle Data Integrator), or some other tool to convert your source data into a CSV file.

Create Import File

  1. Prepare the Order Import Template.

    • Use a spreadsheet editor that can read a CSV file, such as Excel, to open Order Import Template.

    • Delete the example data from Order Import Template. This template comes with example data that helps you determine the type of data that you must include. For example, row four of tab DOO_ORDER_HEADERS_ALL_INT includes example data. Make sure you delete all example data from all tables in the spreadsheet, even from tables you don't need.

  2. Copy and paste your source data into each of the tables in Order Import Template.

    • Use a spreadsheet editor to open the CSV file that contains your source data.

    • Copy your order line data to the clipboard.

    • In the Order Import Template, click the DOO_ORDER_LINES_ALL_INT tab.

    • Click cell A5, then paste your data.

    • Examine the results to make sure you correctly pasted the data. For example, make sure the Product Description column contains VARCHAR data, and that the Ordered Quantity column contains NUMBER data.

    • Continue copying data for each table until you finish copying all your source data into Order Import Template.

    Tip: Save your work after each copy.
  3. Create the import file.

    • Click the Create CSV tab, then click Generate CSV File.

      If Generate CSV File isn't active, then click Developer in the menu bar, then click Macros. In the Macro dialog, choose GenCSV, then click Run.

    • Wait for the macro in Excel to finish.

      When the macro finishes, Excel displays a dialog that allows you to save a .zip file.

    • In the save dialog, choose a location to save your .zip file, then click Save.

      The macro creates a .zip file that includes a separate file for each table that the template contains.

    • Optional. In subsequent save dialog boxes, save each individual CSV file.

      If you must import data for an individual table, then save the data as an individual CSV file. Otherwise, click Cancel.

Upload Source Data

  1. Sign into Order Management with administrative privileges.

  2. Set order management parameter Number of Processes for Order Import.

    For details, see the Managing Order Management Parameters topic.

  3. In the Navigator, under Tools, click Scheduled Processes.

  4. On the Scheduled Process page, click Schedule New Process.

  5. In the Schedule New Process dialog, set the value, then click OK.

    Attribute Value

    Name

    Load Interface File for Import

  6. In the Process Details dialog, set parameters.

    Parameter Description

    Import Process

    Choose Import Sales Orders.

    Data File

    1. In the Data File attribute, click the down arrow .

    2. Scroll down and click Upload a New File.

    3. In the Upload File dialog, click Choose File.

    4. In your Windows Explorer window, locate and choose the .zip file you created when you used Order Import Template, then click Open.

    5. In the Upload File dialog, click OK.

    6. In the Process Details dialog, make sure the Data File attribute displays the name of the .zip file before you continue.

  7. Click Submit.

  8. In the Confirmation dialog, note the value of attribute Process ID, then click OK > Close.

  9. Click Actions > Refresh.

  10. Use the Process ID that you noted earlier to locate your scheduled process, then make sure the Status attribute for this process displays Succeeded.

    The Succeeded status indicates that the scheduled process successfully uploaded your source data. If the upload fails on any row, then the status displays Error. If the search results doesn't display your process, then click Refresh until it does.

  11. Correct errors, if necessary.

    • If the scheduled process ends in an error, then click the Error status in the search results for your scheduled process and examine the log and output files to get details about data that caused the error.

    • Use Excel to open the Order Import Template that contains your source data, and then correct the source data that causes the error.

    • In the Order Import Template, click Generate CSV File, then run the scheduled process again.

    Repeat this step until the scheduled process successfully uploads your source data.

Import Source Data

  1. Run the Import Sales Orders scheduled process. In the Process Details dialog, set one of the parameters.

    Parameter Description

    Batch Name

    Enter a value.

    Source System

    To import all records from the source system, enter the value that you set in the Source Transaction System column on the DOO_ORDER_LINES_ALL_INT tab of the Order Import Template.

    For example, enter LEG.

    Source Order Number

    To import the record for only one source order, enter the value that you set in the Source Transaction Identifier column on the DOO_ORDER_LINES_ALL_INT tab of the Order Import Template.

    For example, enter 12345.

    To avoid a conflict in the data to import, specify only one parameter.

  2. Make sure the Status is Succeeded attribute for the Import Sales Orders scheduled process.

    The Succeeded status indicates that the scheduled process successfully imported your source data. If the import fails on any row, then the status displays Error.

  3. Verify your import.

    • Navigate to the Order Management work area.

    • On the Overview page, click Tasks > Manage Order Orchestration Messages.

    • Query for records that the import includes.

    • Examine errors in the spreadsheet and fix source data in the Order Import Template that causes them.

    • Submit the modified data and make sure the scheduled process successfully imports all rows.

    • Navigate to work area Order Management and query for one or more of the orders you imported.

    • Make sure the work area displays the sales order, and that the order data is identical to the source data.

Delete Imported Orders From Interface Tables

Order Management uses interface tables when you import data from your source system so it can handle import errors and to retain a data backup during import. As an option, run the Delete Orders From Interface Tables scheduled process to remove data and save storage space.

Example of Importing Orders into Order Management

Use this example to get experience using File-Based Data Import (FBDI).

  1. Get a copy of an Excel file that contains example data you can use for this example.

    Go to White Papers for Order Management Cloud (Doc ID 2051639.1) on My Oracle Support at https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=240734770529730&id=2051639.1. Download and open attachment Files_for_Implementation_Examples.docx, then use Microsoft Excel to open OrderImportTemplate_Example.xlsm.

  2. In OrderImportTemplate_Example.xlsm, click Generate CSV file, then save the output file as SourceSalesOrderImport.zip.

  3. Run the Load Interface File For Import scheduled process.

  4. Run the Import Sales Order scheduled process.

  5. Verify that the Order Management work area contains your imported data.

    imported data in work area Order Management.

Example Sales Order

Assume you must import this sales order.

Assume all other attributes are empty.

OrderImportTemplate_Example.xlsm contains this data.

DOO_ORDER_HEADERS_ALL_INT

Attribute Value

SourceTransactionIdentifier

PMC_IMP_161208

SourceTransactionSystem

OPS

SourceTransactionNumber

PMC_IMP_161208

SourceTransactionRevisionNumber

1

BuyingPartyIdentifier

300000001469001

BuyingPartyName

Computer Service and Rentals

BuyingPartyType

ORGANIZATION

TransactionalCurrencyCode

USD

TransactionalCurrencyName

US Dollar

TransactionOn

2016/12/08 10:10:10

RequestingBusinessUnit

DOO CSPS Business Unit 1

Comments

Testing Order Import

BatchName

10810

RequestingLegalEntity

IFU USA Ltd.

PartialShipAllowedFlag

N

PricedOn

2016/12/08 10:10:10

FreezePricing

N

FreezeShippingCharge

N

FreezeTax

N

CreateCustomerInformationFlag

N

DOO_ORDER_LINES_ALL_INT

Attribute Value

SourceTransactionIdentifier

PMC_IMP_161208

SourceTransactionSystem

OPS

SourceTransactionLineIdentifier

1

SourceTransactionScheduleIdentifier

1011

SourceTransactionScheduleNumber

11

SourceTransactionLineNumber

1

ProductNumber

AS54888

OrderedQuantity

3

OrderedUOMCode

zzy

OrderedUOM

Ea

RequestedFulfillmentOrganizationCode

DOOCSPS1

BusinessUnitName

DOO CSPS Business Unit 1

RequestingBusinessUnitName

DOO CSPS Business Unit 1

SubstitutionAllowedFlag

N

RequestedShipDate

2016/12/09

PaymentTerm

30 Net

TransactionCategoryCode

ORDER

PartialShipAllowedFlag

N

ContractStartDate

2014/09/26

ContractEndDate

2019/09/26

DOO_ORDER_ADDRESSES_INT

Attribute Value in Record 1 Value in Record 2

SourceTransactionIdentifier

PMC_IMP_161208

PMC_IMP_161208

SourceTransactionSystem

OPS

OPS

SourceTransactionLineIdentifier

1

1

SourceTransactionScheduleIdentifier

1011

1011

AddressUseType

SHIP_TO

BILL_TO

PartyName

Computer Service and Rentals

Not applicable

CustomerName

Not applicable

Computer Service and Rentals

PartySiteIdentifier

300000001469004

Not applicable

AccountSiteIdentifier

Not applicable

300000001469016

AddressLine1

2164 Broadway

777 Oracle Blvd

City

TEMPE

COLORADO SPRING

PostalCode

85282

80921

State

AZ

CO

Country

United States

United States

PartyType

ORGANIZATION

ORGANIZATION

Import Different Kinds of Data

Export and Import Setup Data with Inventory Organizations

If you use an inventory organization when you set up Order Management Cloud, then you must import the setup data of the offerings that include your inventory organizations, and then import the setup data from Order Management to your implementation instance.

You do the import when you deploy your setup data from one application instance to another application instance.

Choose an option when you export or import your setup data.

Option Description

Create one configuration package.

This package contains the offerings that include the inventory organizations, and that also contains the Order Management offering.

Create more than one configuration package.

Use a separate configuration package for the offering that includes the inventory organizations, and use another package for the Order Management offering.

Import Customer Items into Order Management

Make sure you correctly set up the rank for each customer item relationship before you import source orders.

  • The customer item relationship sets up a relationship between the customer item that you import, and the item in inventory you use to fulfill the customer item.

  • Order Management uses the customer item and sold-to customer details to identify the inventory item to use during order import.

  • If you set up more than one customer item relationship for a customer item, then Order Management uses the customer item relationship that specifies the lowest rank.

Order import will fail in these situations.

  • A customer item relationship doesn't exist for the customer item.

  • More than one customer item relationship specifies the lowest rank.

In this example, assume you must.

  • Import a record that includes customer item Vision Desktop and customer Vision Operations.

  • Create a relationship between Vision Desktop and inventory item AS54888 (Standard Desktop).

  • Create a relationship between Vision Desktop and inventory item AS54600 (Sentinel 9000-S Desktop).

  • Rank AS54888 higher than AS54600 so Order Management uses AS54888 first to fulfill the item, then uses AS54600 only if AS54888 isn't available in inventory.

Set up customer item relationships so they support order import.

  1. Sign into Oracle Fusion Applications with a user role you can use to administer Product Information Management.

    If you don't sign in with this role, then the Product Information Management work area won't display your product details and you won't be able to do this procedure.

  2. In the Navigator, click Product Management > Product Information Management.

  3. In the Product Information Management work area, click Tasks > Manage Trading Partner Items.

  4. Click Actions > Create.

  5. In the Create Trading Partner Type dialog, set the value, then click OK.

    Attribute Value

    Trading Partner Type

    Customer

  6. On the Create Customer Item page, set values.

    Attribute Value

    Customer

    Vision Operations

    Customer Item

    Vision Desktop

  7. In the Relationships area, click Actions > Create.

  8. In the Create Customer Item Relationship dialog, set values, then click OK > Save.

    Attribute Value

    Organization

    MASTERORGANIZATION

    Item

    AS54888

    Rank

    1

    Enter any numeric value.

    • Enter a value. If you don't enter a value, then Order Management can't identify the inventory item to use during order import, and your import will fail.

    • Make sure the value you enter is unique across the customer item relationships you set up for this customer item.

      For example, if you set up a rank of 5 for AS54888, and a rank of 5 for AS54600, then the import will fail because Order Management can't determine which customer item relationship takes precedence.

  9. In the Relationships area, click Actions > Create.

  10. In the Create Customer Item Relationship dialog, set values, then click OK > Save and Close.

    Attribute Value

    Organization

    MASTERORGANIZATION

    Item

    AS54600

    Rank

    2

Import Price Details

Specify how to use price details when you import a sales order.

If your source order contains price details, and you don't want to recalculate or reevaluate them, then set attributes in the source order to Y.

  • Freeze Price

  • Freeze Shipping Charges

  • Freeze Tax

The term freeze means Pricing Administration won't recalculate charges. For example, if you set Freeze Price to.

  • Y. Don't recalculate charges.

  • N. Recalculate charges.

Here's how Pricing Administration maps these attributes to attributes on the header entity of the pricing service data object.

Attribute in Source Order Attribute on Header of Service Data Object

FreezePricing

CalculatePricingChargesFlag

FreezeShippingCharge

CalculateShippingChargesFlag

FreezeTax

CalculateTaxFlag

Pricing will use values in the import payload to determine price, shipping charges, and tax. The attributes you use depend on how you import price data. For details, see these topics.

  • Import Price Lists

  • Attributes You Can Use with Web Services

Import Tax

Specify Whether to Include Tax in Net Price

You can include or not include Tax in Net Price. In either case.

  • Set the FreezeTaxFlag attribute to False.

  • Add your ChargeComponent elements in this hierarchy.

    <soap:Envelope
      <soap:Body>
        <ns1:process
          <ns1:OrchestrationOrderRequest
            <ns2:OrchestrationOrderRequestLine>
              <ns2:LineCharge>
                <ns2:ChargeComponent
  • Get example payloads. For details, search for Document ID 2051639.1 (White Papers for Order Management Cloud) on My Oracle Support, download the Files_That_Support_Implementation_Examples attachment, then examine the examples that include or don't include tax in net price.

Include Tax in Net Price

  1. Add details to the price adjustment. For example.

    <ns2:ChargeComponent>
      <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
      <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
      <ns2:HeaderCurrencyExtendedAmount>-10</ns2:HeaderCurrencyExtendedAmount>
      <ns2:PriceElementCode>QP_DISCOUNT_ADJ</ns2:PriceElementCode>
      <ns2:SequenceNumber>2</ns2:SequenceNumber>
      <ns2:PriceElementUsageCode>PRICE_ADJUSTMENT</ns2:PriceElementUsageCode>
      <ns2:ChargeCurrencyUnitPrice>-1</ns2:ChargeCurrencyUnitPrice>
      <ns2:HeaderCurrencyUnitPrice>-1</ns2:HeaderCurrencyUnitPrice>
      <ns2:RollupFlag>false</ns2:RollupFlag>
      <ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
      <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
      <ns2:SourceChargeComponentIdentifier>SCC2</ns2:SourceChargeComponentIdentifier>
      <ns2:ChargeCurrencyExtendedAmount>-10</ns2:ChargeCurrencyExtendedAmount>
    </ns2:ChargeComponent>
    <ns2:ChargeComponent>
    <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
    <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
    <ns2:HeaderCurrencyExtendedAmount>10</ns2:HeaderCurrencyExtendedAmount>
    <ns2:PriceElementCode>QP_INCLUSIVE_TAX</ns2:PriceElementCode>
    <ns2:SequenceNumber>3</ns2:SequenceNumber>
    <ns2:PriceElementUsageCode>INCLUSIVE_TAX</ns2:PriceElementUsageCode>

    Note.

    • Add the code starting right after the line that contains PriceElementCode up to and including PriceElementUsageCode>INCLUSIVE_TAX.

    • Set ChargeCurrencyUnitPrice to -1 (negative 1).

    • Set HeaderCurrencyUnitPrice to -1 (negative 1).

  2. Add the charge component where you specify the tax to include in net price. For example.

    <ns2:ChargeComponent>
      <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
      <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
      <ns2:HeaderCurrencyExtendedAmount>80</ns2:HeaderCurrencyExtendedAmount>
      <ns2:PriceElementCode>QP_NET_PRICE_EXC_INCLUSIVE_TAX</ns2:PriceElementCode>
      <ns2:SequenceNumber>5</ns2:SequenceNumber>
      <ns2:PriceElementUsageCode>NET_PRICE_TAX_EXCLUDED</ns2:PriceElementUsageCode>
      <ns2:ChargeCurrencyUnitPrice>8</ns2:ChargeCurrencyUnitPrice>
      <ns2:HeaderCurrencyUnitPrice>8</ns2:HeaderCurrencyUnitPrice>
      <ns2:RollupFlag>false</ns2:RollupFlag>
      <ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
      <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
      <ns2:SourceChargeComponentIdentifier>SCC5</ns2:SourceChargeComponentIdentifier>
      <ns2:ChargeCurrencyExtendedAmount>80</ns2:ChargeCurrencyExtendedAmount>
    </ns2:ChargeComponent>

    Note.

    • Set PriceElementCode to QP_NET_PRICE_EXC_INCLUSIVE_TAX.

    • Set PriceElementUsageCode to NET_PRICE_TAX_EXCLUDED.

Don't Include Tax in Net Price

  1. Add a charge component that specifies the tax to include. For example.

    <ns2:ChargeComponent> 
      <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
      <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
      <ns2:HeaderCurrencyExtendedAmount>10</ns2:HeaderCurrencyExtendedAmount>
      <ns2:PriceElementCode>QP_EXCLUSIVE_TAX</ns2:PriceElementCode>
      <ns2:SequenceNumber>4</ns2:SequenceNumber>
      <ns2:PriceElementUsageCode>EXCLUSIVE_TAX</ns2:PriceElementUsageCode> 
      <ns2:ChargeCurrencyUnitPrice>1</ns2:ChargeCurrencyUnitPrice>
      <ns2:HeaderCurrencyUnitPrice>1</ns2:HeaderCurrencyUnitPrice>
      <ns2:RollupFlag>false</ns2:RollupFlag>
      <ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
      <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
      <ns2:SourceChargeComponentIdentifier>SCC4</ns2:SourceChargeComponentIdentifier>
      <ns2:ChargeCurrencyExtendedAmount>10</ns2:ChargeCurrencyExtendedAmount>
    </ns2:ChargeComponent>

    Note.

    • Set PriceElementCode to QP_EXCLUSIVE_TAX.

    • Set PriceElementUsageCode to EXCLUSIVE_TAX.

  2. Add the charge component where you specify the tax to include in net price. For example.

    <ns2:ChargeComponent>
      <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
      <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>  
      <ns2:HeaderCurrencyExtendedAmount>100</ns2:HeaderCurrencyExtendedAmount>
      <ns2:PriceElementCode>QP_NET_PRICE_PLUS_TAX</ns2:PriceElementCode>
      <ns2:SequenceNumber>5</ns2:SequenceNumber>
      <ns2:PriceElementUsageCode>NET_PRICE_PLUS_TAX</ns2:PriceElementUsageCode>
      <ns2:ChargeCurrencyUnitPrice>10</ns2:ChargeCurrencyUnitPrice>
      <ns2:HeaderCurrencyUnitPrice>10</ns2:HeaderCurrencyUnitPrice>
      <ns2:RollupFlag>false</ns2:RollupFlag>
      <ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
      <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
      <ns2:SourceChargeComponentIdentifier>SCC5</ns2:SourceChargeComponentIdentifier>
      <ns2:ChargeCurrencyExtendedAmount>100</ns2:ChargeCurrencyExtendedAmount>
    <ns2:ChargeComponent>

    Note.

    • Set PriceElementCode to QP_NET_PRICE_PLUS_TAX.

    • Set PriceElementUsageCode to NET_PRICE_PLUS_TAX.

How Order Management Displays Your Tax

How You Include Tax Values in Price Breakdown

Include Tax in Net Price

Pay Now is equal to Net Price.

Total Tax includes only the inclusive tax.

Don't Include Tax in Net Price

Pay Now equals tax plus Net Price.

Total Tax includes only the exclusive tax.

Example of Importing Price Details

Example Values for This Topic

Assume there are two charges for the order line.

Original Order Import Payload

UnitListPrice equals 100.

Shipping charges equal 20.

Tax equals 10.

Price equals 120.

Shipping charges equal 24.

Tax equals 12.

Assume.

  • Current price for the item is 130.

  • Shipping charges at runtime are price multiplied by 20%.

  • Tax calculated at runtime is total net price plus shipping multiplied by 10%.

Sales Order Line or Return Line That Isn't Referenced

Here's how pricing works when your import includes a sales order line or a return line that doesn't reference the original sales order.

Supported

Here are the combinations of values you can use for the freeze attributes.

FreezePricing FreezeShippingCharge FreezeTax Description

Y

Y

N

Pricing uses the price and shipping charges from the import payload, but calculates the tax.

Price equals 120.

Shipping charges equal 25.

Tax equals 14.50.

Y

N

N

Pricing uses the price from the payload, but calculates shipping and tax.

Price equals 120.

Shipping charges equal 24.

Tax equals 14.40.

N

Y

N

Pricing uses the shipping charges from the payload, but gets the price from your set up in Pricing Administration and calculates tax.

Price equals 130.

Shipping charges equal 24.

Tax equals 15.40.

Not Supported

Here are the combinations of values you can't use for the freeze attributes.

FreezePricing FreezeShippingCharge FreezeTax Description

N

N

Y

Pricing can calculate the price and shipping, but can't validate that the imported tax is correct for the price and the shipping it calculates.

Y

N

Y

Pricing can calculate shipping, but can't validate that the imported price and tax is correct for the shipping it calculates.

N

Y

Y

Pricing can calculate shipping and tax, but can't validate that the imported price is correct for the shipping and tax that it calculates.

Referenced Return Line

Assume your import includes a return line that does reference the original sales order.

FreezePricing FreezeShippingCharge FreezeTax Description

Y

Y

Y

Pricing ignores the original sales order. Instead, it uses values from the import payload.

Price equals 120.

Shipping charges equal 24.

Tax equals 12.

Y

N

Y

If at least one of these attributes equals N, then Pricing prices everything from the original sales order, and ignores price, shipping charges, and tax that the import payload contains.

Price equals 100.

Shipping charges equal 20.

Tax equals 10.

Import Addresses Into Order Management

Use ship-to details and bill-to details to populate order header attributes and order line attributes when you use a file to import sales orders.

Import Order Header Attributes

Populate bill-to attributes on the order header.

  • Bill-to Customer

  • Bill-to Account

Populating bill-to attributes on the order header.

Use attributes on the DOO_ORDER_ADDRESSES_INT tab.

Attribute Value

Address Use Type

BILL_TO

Customer Name

Name of customer you're importing, such as Computer Service and Rentals.

Use this attribute only when Address Use Type contains BILL_TO.

Account Site Identifier

Value that uniquely identifies the account, such as 300000001469016.

Use this attribute only when Address Use Type contains BILL_TO.

Source Transaction Line Identifier

Leave empty.

Populate ship-to attributes on the order header.

  • Ship-to Customer

  • Ship-to Address

Populating ship-to attributes on the order header.

Use attributes on the DOO_ORDER_ADDRESSES_INT tab.

Attribute Value

Address Use Type

SHIP_TO

Party Name

Name of party you're importing, such as Computer Service and Rentals.

Use this attribute only when Address Use Type contains SHIP_TO.

Party Site Identifier

Value that uniquely identifies the party site address, such as 300000001469004.

Use this attribute only when Address Use Type contains SHIP_TO.

Source Transaction Line Identifier

Leave empty.

Import Order Line Attributes

Populate bill-to attributes on the order line.

  • Bill-to Customer

  • Bill-to Address

Populating bill-to attributes on the order line.

Set the same values you use to populate order header attributes, except set this attribute.

Attribute Value

Source Transaction Line Identifier

Value that uniquely identifies the transaction line in the source system, such as 1.

Make sure you set Source Transaction Line Identifier on DOO_ORDER_LINES_ALL_INT and on DOO_ORDER_ADDRESSES_INT to the same value.

The import uses Source Transaction Line Identifier to create a relationship between the address on DOO_ORDER_ADDRESSES_INT with the order line on DOO_ORDER_LINES_ALL_INT.

Populate ship-to attributes on the order line.

  • Ship-to Customer

  • Ship-to Address

Populating ship-to attributes on the order line.

Set Bill-to and Ship-to On the Same Order Line

Setting Bill-to and Ship-to On the Same Order Line.
Get Values for Identifier Attributes

Make sure you use the correct value for the Account Site Identifier attribute and the Party Site Identifier attribute. Use SQL to query the Order Management database to get these values.

  • Examine the SITE_USE_CODE column.

  • For ship_to, use the value that PARTY SITE ID - for SHIP_TO returns.

  • For bill_to, use the value that SITE USE ID - for BILL_TO returns.

  • This SQL also returns inactive account details.

In your SQL, replace the placeholder with a value from your order import template.

Placeholder Attribute on the DOO_ORDER_ADDRESSES_INT Tab

party_name

Party Name

party_number

Party Number

party_id

Party Identifier

account_number

Not applicable

account_name

Not applicable

Here's the SQL to run.

SELECT  hzp.party_name
        ||
        ' '
        ||
        hzp.party_number                                ,
        hzp.party_id                                    ,
        HZA.account_number                              ,
        HZA.account_name                                ,
        hza.CUST_ACCOUNT_ID                             ,
        HZA.status "Account Status"                     ,
        hzp.status "Party Status"                       ,
        hzps.status "Party Site Status"                 ,
        hzps.party_site_id "PARTY SITE ID - for SHIP_TO",
        hzcasa.status "Account Site Status"             ,
        hzcsua.site_use_id "SITE USE ID - for BILL_TO"  ,
        hzcasa.start_Date                               ,
        hzcasa.end_Date                                 ,
        hzcsua.SITE_USE_CODE                            ,
        hzcasa.BILL_TO_FLAG                             ,
        hzcasa.SHIP_TO_FLAG                             ,
        hzcsua.PRIMARY_FLAG                             ,
        hzcsua.STATUS "Account Site USE Status"         ,
        hzcsua.LOCATION                                 ,
        hzl.ADDRESS1                                    ,
        hzl.ADDRESS2                                    ,
        hzl.ADDRESS3                                    ,
        hzl.ADDRESS4                                    ,
        hzl.CITY                                        ,
        hzl.POSTAL_CODE                                 ,
        hzl.STATE                                       ,
        hzl.COUNTRY
FROM    fusion.HZ_PARTIES HZP               ,
        fusion.HZ_PARTY_SITES hzps          ,
        fusion.HZ_CUST_ACCOUNTS HZA         ,
        fusion.HZ_CUST_ACCT_SITES_ALL hzcasa,
        fusion.HZ_CUST_SITE_USES_ALL hzcsua ,
        fusion.hz_locations HZL
WHERE   hzP.party_id                 = HZA.party_id (+)
        AND hza.CUST_ACCOUNT_ID      = hzcasa.CUST_ACCOUNT_ID (+)
        AND hzcasa.party_site_id     = hzps.party_site_id (+)
        AND hzcasa.cust_acct_site_id = hzcsua.cust_acct_site_id (+)
        AND hzps.location_id         = hzl.location_id (+)
        --         and       (
        --                      hzcasa.start_Date    <= sysdate
        --                        OR hzcasa.start_Date IS NULL
        --                )
        --                AND
        --                (
        --                        hzcasa.end_date    >= sysdate
        --                        OR hzcasa.end_date IS NULL
        --                )
        AND upper(hzP.party_name) LIKE upper('%GOO%IND%')
ORDER BY hzp.party_number ,
        hza.account_number,
        hzl.LOCATION_ID

Import Shipping Method

The Shipping Method attribute is a combination of three attributes. You use different attributes depending on the technology you use to import.

Sales Orders for Order Hub Resource in REST API SourceSalesOrderImportTemplate Through File-Based Data Import

ShippingCarrierId

Shipping Carrier Code

ShippingMode

Shipping Mode

ShippingServiceLevel

Shipping Service Level

If you import a shipping method through REST API or FBDI, you must make sure the method is valid.

  • If you include a value for one of the three attributes, then you must include a value for all of them. For example, if you include a value for ShippingCarrierId, then you must include a value for ShippingMode and ShippingServiceLevel.

  • The WSH_MODE_OF_TRANSPORT lookup type must contain the value you import for ShippingMode.

  • The WSH_SERVICE_LEVELS lookup type must contain the value you import for ShippingServiceLevel.

The combination of ShippingCarrierId, ShippingMode, and ShippingServiceLevel must be valid with each other. Here's an easy way to identify valid combinations that you can import.

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

  2. In the Order Lines area, click Shipment Details.

  3. On the Shipment Details tab, in the Shipping Method attribute, click down arrow > Search.

  4. In the Select Shipping Method dialog, leave the attributes in the Search area empty and click Search.

  5. Choose a set of values from the search results and use them in your REST API payload or FBDI template.

    Here are some example results.

    Shipping Method Carrier Mode of Transport Service Level

    Airborne Parcel Express

    Airborne

    Parcel

    Express

    Airborne Parcel 2nd day air

    Airborne

    Parcel

    2nd day air

    Airborne Parcel Standard

    Airborne

    Parcel

    Standard

    Big Rigs Truckload Ground

    Big Rigs

    Truckload

    Ground

    Nautilus Rail Standard

    Nautilus

    Rail

    Standard

    Nautilus Ocean Standard

    Nautilus

    Ocean

    Standard

    Here are some examples of combinations that aren't valid.

    Shipping Method Description

    Nautilus Standard Standard

    Standard isn't a mode of transport.

    Airborne Express Parcel

    Express isn't a mode of transport. Its a service.

    Parcel isn't a service. Its a mode of transport.

Identify Lookup Values You Can Use

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

    • Offering: Manufacturing and Supply Chain Materials Management

    • Functional Area: Carriers and Transit Times

    • Task: Manage Carriers Lookups

  2. Identify the modes of transport you can use.

    • On the Manage Carriers Lookups page, search Lookup Type for WSH_MODE_OF_TRANSPORT.

    • In the search results, examine the values in the Lookup Meaning column.

      Example results include Air, Less than Truckload, Ocean, Parcel, Rail, Truckload, and so on. Set the ShippingMode attribute in your import payload to one of these values.

      If you don't see the lookup code you need, then click Actions > New in the Lookup Codes area, and add it.

  3. Identify the service levels you can use.

    • On the Manage Carriers Lookups page, search Lookup Type for WSH_SERVICE_LEVELS.

    • In the search results, examine the values in the Lookup Meaning column.

      Example results include Door-to-door, Express, FedEx 2day, and so on. Set the ShippingServiceLevel attribute in your import payload to one of these values.

      If you don't see the lookup code you need, then click Actions > New in the Lookup Codes area, and add it.

Troubleshoot

If you import a shipping method that isn't valid, then the communication with Global Order Promising might fail. You will notice when the Order Entry Specialist attempts to submit a sales order but receives an error, similar to. . .

You can't submit the sales order because the combination of the mode of transport, service level, and carrier that determines the shipping method on the order header isn't valid.

Here are some solutions you can try.

Trouble Shoot

The DOO_VALIDATE_ORDER_SHIP_METHOD processing constraint or DOO_VALIDATE_FULFILL_LINE_SHIP_METHOD constraint examined the shipping method and found that it isn't valid.

Reimport the shipping method with the correct values.

The mapping in MSC_XREF_MAPPING isn't valid.

The msc_xref_mapping entity in the Order Orchestration and Planning Data Repository maps values for the shipping method. For example, assume you see Airborne Parcel 2nd day air in the Order Management work area, but msc_xref_mapping maps the alphanumeric value to a numeric value, so the repository stores only the numeric value.

  • Map Airborne to 32510 and store 32510 in the carrier_id column of the repository.

  • Map Parcel to 39 and store 39 in the ship_mode_of_transport column of the repository.

  • Map 2nd day air to 821 and store 821 in the ship_class_of_service column of the repository.

Assume you create a pretransformation rule or an order management extension that transforms the carrier ID to -999 before or during order submit. msc_xref_mapping doesn't map -999, so the carrier isn't valid and Order Management will display an error.

Make sure msc_xref_mapping correctly maps your values.

Make sure your set ups don't modify the mappings that msc_xref_mapping references.

Import Returns When Original Order Lines Are Split

Create a return for a source order line that you split in Order Management.

If Order Management doesn't split the fulfillment line, then one order line in the source order in the source system maps to one fulfillment line in the sales order in Order Management. But if Order Management splits the fulfillment line into two or more fulfillment lines, then the lines reference the same source order, source order line, and schedule details. To create a return for a source order line that you split in Order Management, you must provide details that identify which fulfillment line to return.

Use the DocumentReferenceType attribute to identify the original order line you're returning.

DocumentReferenceType Description

ORIGINAL_SALES_ORDER

Identify the original order line in the source system from a channel, such as a legacy order capture system.

ORIGINAL_ORCHESTRATION_ORDER

Identify the original sales order line in Order Management Cloud.

You must use DocumentSubLineIdentifier.

If the original order line.

  • Isn't split, you can use ORIGINAL_SALES_ORDER or ORIGINAL_ORCHESTRATION_ORDER.

  • Is split, you must use ORIGINAL_ORCHESTRATION_ORDER, or ORIGINAL_SALES_ORDER and ORIGINAL_ORCHESTRATION_ORDER.

Use ORIGINAL_SALES_ORDER

Use ORIGINAL_SALES_ORDER in the DocumentReference section to specify details about the source order you originally created in your source system.

Attribute Description Example Value

DocumentReferenceType

Not applicable.

ORIGINAL_SALES_ORDER

DocumentIdentifier

Value that uniquely identifies the original source order. This is the source order in your source system that you originally used to order the item.

CS_SO_1234445555565656

DocumentAdditionalIdentifier

Name of the source system.

You can use the Code attribute on the Manage Planning Source Systems page to set this value.

LEG

DocumentNumber

Number of the original sales order.

CS_SO_122_0034

DocumentLineIdentifier

Number that uniquely identifies the order line on the original sales order that contains the item you're returning.

101

DocumentLineNumber

Identify the line number.

Not applicable

Note.

  • Provide values that uniquely identify the source order line. For instance, you can provide identifiers for the source order and source order line to uniquely identify the source order line. You can also provide other values, such as source order number and source order line number, to uniquely identify the source order line.

  • Include values for DocumentNumber or DocumentIdentifier, or DocumentNumber and DocumentIdentifier.

  • Include values for DocumentLineNumber or DocumentLineIdentifier, or DocumentLineNumber and DocumentLineIdentifier.

Use ORIGINAL_ORCHESTRATION_ORDER

Add another DocumentReference section, and use ORIGINAL_ORCHESTRATION_ORDER to identify details about the order you originally created in Order Management Cloud.

Attribute Description Example Value

DocumentReferenceType

Not applicable.

ORIGINAL_ORCHESTRATION_ORDER

DocumentIdentifier

Value that uniquely identifies the order header of the original sales order in Order Management Cloud. This is the sales order you originally used to order the item.

300100177488708

DocumentAdditionalIdentifier

Name of the source system.

GPR

DocumentNumber

Number of the original sales order.

45098

DocumentSubLineIdentifier

Value that uniquely identifies the fulfillment line that fulfilled the item you're returning.

300100177495497

DocumentLineIdentifier

LineNumber

DocumentLineNumber

DocumentSubLineNumber

Leave these values empty.

Not applicable

Identify the Source System

You use different attributes to identify the name of the source system depending on whether you use the import template or web service.

How You Import Attribute You Use

Template

Source Transaction System

Web Service

DocumentAdditionalIdentifier

Example Payload

Here's an example payload. It uses ORIGINAL_SALES_ORDER and ORIGINAL_ORCHESTRATION_ORDER. You use the DocumentReference section to specify details about the original sales order. Use the Order Information Service to get the values you need for your payload. For details, see the Web Services You Can Use to Integrate Order Management topic.

<ns2:DocumentReference>
 <ns2:DocumentReferenceType>ORIGINAL_SALES_ORDER</ns2:DocumentReferenceType>
 <ns2:DocumentIdentifier>CS_SO_1234445555565656</ns2:DocumentIdentifier>
 <ns2:DocumentAdditionalIdentifier>LEG</ns2:DocumentAdditionalIdentifier>
 <ns2:DocumentNumber>CS_SO_122_0034</ns2:DocumentNumber>
 <ns2:DocumentAdditionalNumber/>
 <ns2:DocumentLineIdentifier>101</ns2:DocumentLineIdentifier>
 <ns2:DocumentAdditionalLineIdentifier/>
 <ns2:DocumentLineNumber/>
 <ns2:DocumentAdditionalLineNumber/>
 <ns2:DocumentAdditionalSubLineIdentifier/>
 <ns2:DocumentSubLineNumber/>
 <ns2:DocumentAdditionalSubLineNumber/>
</ns2:DocumentReference>

<ns2:DocumentReference>
 <ns2:DocumentReferenceType>ORIGINAL_ORCHESTRATION_ORDER</ns2:DocumentReferenceType>
 <ns2:DocumentIdentifier>300100177488708</ns2:DocumentIdentifier>
 <ns2:DocumentAdditionalIdentifier>GPR</ns2:DocumentAdditionalIdentifier>
 <ns2:DocumentNumber>45098</ns2:DocumentNumber>
 <ns2:DocumentAdditionalNumber/>
 <ns2:DocumentLineIdentifier>300100177488711</ns2:DocumentLineIdentifier>
 <ns2:DocumentSubLineIdentifier>300100177495497</ns2:DocumentSubLineIdentifier>
 <ns2:DocumentAdditionalLineIdentifier/>
 <ns2:DocumentLineNumber>1</ns2:DocumentLineNumber>
 <ns2:DocumentAdditionalLineNumber/>
 <ns2:DocumentSubLineNumber>2</ns2:DocumentSubLineNumber>
 <ns2:DocumentAdditionalSubLineNumber/>
</ns2:DocumentReference>

Here's the entire payload. It returns a quantity of 1 Each for item AS92888.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <ns1:createOrders xmlns:ns1="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/types/">
    <ns1:request xmlns:ns2="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/">
     <ns2:BatchName>Test001</ns2:BatchName>
     <ns2:Order>
      <ns2:SourceTransactionIdentifier>ppar_mar22_12</ns2:SourceTransactionIdentifier>
      <ns2:SourceTransactionSystem>GPR</ns2:SourceTransactionSystem>
      <ns2:SourceTransactionNumber>ppar_mar22_12</ns2:SourceTransactionNumber>
      <ns2:BuyingPartyId>1006</ns2:BuyingPartyId>
      <ns2:BuyingPartyContactId>1560</ns2:BuyingPartyContactId>
      <ns2:TransactionalCurrencyCode>USD</ns2:TransactionalCurrencyCode>
      <ns2:TransactionOn>2018-01-01T06:08:52.0340</ns2:TransactionOn>
      <ns2:RequestingBusinessUnitIdentifier>204</ns2:RequestingBusinessUnitIdentifier>
      <ns2:RequestingLegalUnitIdentifier>204</ns2:RequestingLegalUnitIdentifier>
      <ns2:FreezePriceFlag>true</ns2:FreezePriceFlag>
      <ns2:FreezeShippingChargeFlag>true</ns2:FreezeShippingChargeFlag>
      <ns2:FreezeTaxFlag>true</ns2:FreezeTaxFlag>
      <ns2:ShipToPartyIdentifier>1006</ns2:ShipToPartyIdentifier>
      <ns2:ShipToPartySiteIdentifier>1036</ns2:ShipToPartySiteIdentifier>
      <ns2:ShipToPartyContactIdentifier>1560</ns2:ShipToPartyContactIdentifier>
      <ns2:BillToCustomerIdentifier>1006</ns2:BillToCustomerIdentifier>
      <ns2:BillToCustomerName>1006</ns2:BillToCustomerName>
      <ns2:BillToAccountSiteUseIdentifier>1025</ns2:BillToAccountSiteUseIdentifier>
      <ns2:BillToAccountContactIdentifier>4820</ns2:BillToAccountContactIdentifier>
      <ns2:Line>
       <ns2:SourceTransactionLineIdentifier>101</ns2:SourceTransactionLineIdentifier>
       <ns2:SourceTransactionScheduleIdentifier>101</ns2:SourceTransactionScheduleIdentifier>
       <ns2:SourceTransactionLineNumber>1</ns2:SourceTransactionLineNumber>
       <ns2:SourceTransactionScheduleNumber>1</ns2:SourceTransactionScheduleNumber>
       <ns2:ProductNumber>AS92888</ns2:ProductNumber>
       <ns2:OrderedQuantity>1</ns2:OrderedQuantity>
       <!--ns2:OrderedUOMCode>BX1</ns2:OrderedUOMCode-->
       <ns2:OrderedUOM>Each</ns2:OrderedUOM>
       <ns2:RequestedFulfillmentOrganizationIdentifier>207</ns2:RequestedFulfillmentOrganizationIdentifier>
       <ns2:RequestingBusinessUnitIdentifier>204</ns2:RequestingBusinessUnitIdentifier>
       <ns2:RequestedShipDate>2018-01-01T06:08:52.0340</ns2:RequestedShipDate>
       <ns2:PaymentTermsCode>4</ns2:PaymentTermsCode>
       <ns2:TransactionCategoryCode>RETURN</ns2:TransactionCategoryCode>
       <ns2:ShipToPartyIdentifier>1006</ns2:ShipToPartyIdentifier>
       <ns2:ScheduleShipDate>2018-11-20T06:08:52.0340</ns2:ScheduleShipDate>
       <ns2:ScheduleArrivalDate>2018-11-20T06:08:52.0340</ns2:ScheduleArrivalDate>
       <ns2:ShipToPartySiteIdentifier>1036</ns2:ShipToPartySiteIdentifier>
       <ns2:BillToCustomerIdentifier>1006</ns2:BillToCustomerIdentifier>
       <ns2:BillToCustomerName>1006</ns2:BillToCustomerName>
       <ns2:BillToAccountSiteUseIdentifier>1025</ns2:BillToAccountSiteUseIdentifier>
       <ns2:BillToAccountContactIdentifier>4820</ns2:BillToAccountContactIdentifier>
       <ns2:InventoryOrganizationIdentifier>204</ns2:InventoryOrganizationIdentifier>
       <ns2:ShippingInstructions>BM Ship Instructions- Ship it in a day</ns2:ShippingInstructions>
       <ns2:UnitListPrice currencyCode="USD">105</ns2:UnitListPrice>
       <ns2:PartialShipAllowedFlag>FALSE</ns2:PartialShipAllowedFlag>
       <ns2:FOBPoint>DEST</ns2:FOBPoint>
       <ns2:OrderCharge>
        <ns2:ChargeDefinitionCode>QP_SALE_PRICE</ns2:ChargeDefinitionCode>
        <ns2:ChargeSubtypeCode>ORA_PRICE</ns2:ChargeSubtypeCode>
        <ns2:PriceTypeCode>ONE_TIME</ns2:PriceTypeCode>
        <ns2:PricedQuantity>1</ns2:PricedQuantity>
        <ns2:PricedQuantityUOM>Each</ns2:PricedQuantityUOM>
        <ns2:PricedQuantityUOMCode/>
        <ns2:PrimaryFlag>true</ns2:PrimaryFlag>
        <ns2:ApplyTo>PRICE</ns2:ApplyTo>
        <ns2:RollupFlag>false</ns2:RollupFlag>
        <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
        <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
        <ns2:ChargeTypeCode>ORA_SALE</ns2:ChargeTypeCode>
        <ns2:ChargeCurrencyCode/>
        <ns2:SequenceNumber>1</ns2:SequenceNumber>
        <ns2:PricePeriodicityCode/>
        <ns2:GsaUnitPrice/>
        <ns2:OrderChargeComponent>
         <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
         <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
         <ns2:HeaderCurrencyExtendedAmount>-100</ns2:HeaderCurrencyExtendedAmount>
         <ns2:PriceElementCode>QP_LIST_PRICE</ns2:PriceElementCode>
         <ns2:SequenceNumber>1</ns2:SequenceNumber>
         <ns2:PriceElementUsageCode>LIST_PRICE</ns2:PriceElementUsageCode>
         <ns2:ChargeCurrencyUnitPrice>-10</ns2:ChargeCurrencyUnitPrice>
         <ns2:HeaderCurrencyUnitPrice>-10</ns2:HeaderCurrencyUnitPrice>
         <ns2:RollupFlag>false</ns2:RollupFlag>
         <ns2:SourceParentChargeComponentId/>
         <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
         <ns2:SourceChargeComponentIdentifier>SCC2</ns2:SourceChargeComponentIdentifier>
         <ns2:ChargeCurrencyExtendedAmount>-100</ns2:ChargeCurrencyExtendedAmount>
        </ns2:OrderChargeComponent>
        <ns2:OrderChargeComponent>
         <ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
         <ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
         <ns2:HeaderCurrencyExtendedAmount>-90</ns2:HeaderCurrencyExtendedAmount>
         <ns2:ChargeCurrencyExtendedAmount>-90</ns2:ChargeCurrencyExtendedAmount>
         <ns2:PriceElementCode>QP_NET_PRICE</ns2:PriceElementCode>
         <ns2:SequenceNumber>2</ns2:SequenceNumber>
         <ns2:PriceElementUsageCode>NET_PRICE</ns2:PriceElementUsageCode>
         <ns2:ChargeCurrencyUnitPrice>-9</ns2:ChargeCurrencyUnitPrice>
         <ns2:HeaderCurrencyUnitPrice>-9</ns2:HeaderCurrencyUnitPrice>
         <ns2:RollupFlag>false</ns2:RollupFlag>
         <ns2:SourceParentChargeComponentId/>
         <ns2:SourceChargeIdentifier>SC1</ns2:SourceChargeIdentifier>
         <ns2:SourceChargeComponentIdentifier>SCC1</ns2:SourceChargeComponentIdentifier>
        </ns2:OrderChargeComponent>
       </ns2:OrderCharge>

       <ns2:DocumentReference>
        <ns2:DocumentReferenceType>ORIGINAL_SALES_ORDER</ns2:DocumentReferenceType>
        <ns2:DocumentIdentifier>CS_SO_1234445555565656</ns2:DocumentIdentifier>
        <ns2:DocumentAdditionalIdentifier>LEG</ns2:DocumentAdditionalIdentifier>
        <ns2:DocumentNumber>CS_SO_122_0034</ns2:DocumentNumber>
        <ns2:DocumentAdditionalNumber/>
        <ns2:DocumentLineIdentifier>101</ns2:DocumentLineIdentifier>
        <ns2:DocumentAdditionalLineIdentifier/>
        <ns2:DocumentLineNumber/>
        <ns2:DocumentAdditionalLineNumber/>
        <ns2:DocumentAdditionalSubLineIdentifier/>
        <ns2:DocumentSubLineNumber/>
        <ns2:DocumentAdditionalSubLineNumber/>
       </ns2:DocumentReference>

       <ns2:DocumentReference>
        <ns2:DocumentReferenceType>ORIGINAL_ORCHESTRATION_ORDER</ns2:DocumentReferenceType>
        <ns2:DocumentIdentifier>300100177488708</ns2:DocumentIdentifier>
        <ns2:DocumentAdditionalIdentifier>GPR</ns2:DocumentAdditionalIdentifier>
        <ns2:DocumentNumber>45098</ns2:DocumentNumber>
        <ns2:DocumentAdditionalNumber/>
        <ns2:DocumentLineIdentifier>300100177488711</ns2:DocumentLineIdentifier>
        <ns2:DocumentSubLineIdentifier>300100177495497</ns2:DocumentSubLineIdentifier>
        <ns2:DocumentAdditionalLineIdentifier/>
        <ns2:DocumentLineNumber>1</ns2:DocumentLineNumber>
        <ns2:DocumentAdditionalLineNumber/>
        <ns2:DocumentSubLineNumber>2</ns2:DocumentSubLineNumber>
        <ns2:DocumentAdditionalSubLineNumber/>
       </ns2:DocumentReference>

     </ns2:Line>
     <ns2:OrderPreferences>
     <!--Optional:-->
      <ns2:CreateCustomerInformationFlag>false</ns2:CreateCustomerInformationFlag>
      <!--Optional:-->
      <ns2:SubmitFlag>true</ns2:SubmitFlag>
     </ns2:OrderPreferences>
    </ns2:Order>
   </ns1:request>
  </ns1:createOrders>
 </soap:Body>
</soap:Envelope>

Cancel Backordered Quantity During Order Import

You can use the Order Import web service to cancel a backordered line.

  • Assume you import a quantity of 10 on order line 1001.

  • Some time later, Shipping splits the line into two lines, line 1002 with a quantity of 6 and line 1003 with a quantity of 4.

  • Shipping ships line 1002 and sets the status for line 1002 to Awaiting Billing, but sets line 1003 to Backordered because no more inventory is available to ship.

  • You receive a request from your customer to cancel the sales order.

  • The order import service uses SourceTransactionLineIdentifier to identify the entire quantity for line 1001. It doesn't distinguish between lines 1002 and 1003 because it isn't aware that these lines exist.

  • Line 1003 hasn't shipped so you don't need to cancel the quantity for it. You only need to cancel the quantity of the line that has shipped. So, set the OrderedQuantity attribute to 6 on order line 1001 in your web service payload.

Here's an example.

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">>
<ns1:createOrders
xmlns:ns1="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/types/">
<ns1:request
xmlns:ns2="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/">
<ns2:BatchName ></ns2:BatchName>
<ns2:Order>
<ns2:SourceTransactionNumber>ORDER_CANCEL_12</ns2:SourceTransactionNumber>
<ns2:SourceTransactionSystem>LEG</ns2:SourceTransactionSystem>
<ns2:SourceTransactionIdentifier>ORDER_CANCEL_12</ns2:SourceTransactionIdentifier>
<ns2:CustomerPONumber></ns2:CustomerPONumber>
<ns2:BuyingPartyName>Computer Service and Rentals</ns2:BuyingPartyName>
<ns2:TransactionalCurrencyCode>USD</ns2:TransactionalCurrencyCode>
<ns2:TransactionOn>2017-12-06T19:27:11</ns2:TransactionOn>
<ns2:TransactionTypeCode></ns2:TransactionTypeCode>
<ns2:RequestingBusinessUnitIdentifier>204</ns2:RequestingBusinessUnitIdentifier>
<ns2:RequestingLegalUnit>204</ns2:RequestingLegalUnit>
<ns2:BillToCustomerName>Computer Service and Rentals</ns2:BillToCustomerName>
<ns2:ShipToPartyName>Computer Service and Rentals</ns2:ShipToPartyName>
<ns2:ShipToPartySiteIdentifier>1036</ns2:ShipToPartySiteIdentifier>
<ns2:BillToAccountSiteUseIdentifier>1025</ns2:BillToAccountSiteUseIdentifier>
<ns2:PartialShipAllowedFlag>false</ns2:PartialShipAllowedFlag>
<ns2:FreezeShippingChargeFlag>true</ns2:FreezeShippingChargeFlag>
<ns2:FreezeTaxFlag>true</ns2:FreezeTaxFlag>


<ns2:Line>
<ns2:SourceTransactionLineIdentifier>1001</ns2:SourceTransactionLineIdentifier>

<ns2:SourceTransactionScheduleIdentifier>1001</ns2:SourceTransactionScheduleIdentifier>
<ns2:SourceTransactionLineNumber>1</ns2:SourceTransactionLineNumber>
<ns2:SourceTransactionScheduleNumber>1</ns2:SourceTransactionScheduleNumber>
<ns2:ProductNumber>AS54888</ns2:ProductNumber>
<ns2:OrderedQuantity>6</ns2:OrderedQuantity>
<ns2:OrderedUOMCode>Ea</ns2:OrderedUOMCode>
<ns2:RequestedFulfillmentOrganizationIdentifier>204</ns2:RequestedFulfillmentOrganizationIdentifier>
<ns2:RequestingBusinessUnitIdentifier>204</ns2:RequestingBusinessUnitIdentifier>
<ns2:ParentLineReference></ns2:ParentLineReference>
<ns2:RootParentLineReference></ns2:RootParentLineReference>
<ns2:ShippingInstructions></ns2:ShippingInstructions>
<ns2:PackingInstructions></ns2:PackingInstructions>
<ns2:RequestedShipDate>2017-12-06T00:00:00</ns2:RequestedShipDate>
<ns2:PaymentTerms>30 Net</ns2:PaymentTerms>
<ns2:TransactionCategoryCode>ORDER</ns2:TransactionCategoryCode>
<ns2:InventoryOrganizationIdentifier>204</ns2:InventoryOrganizationIdentifier>
<ns2:ShipToPartyName>Computer Associates International</ns2:ShipToPartyName>
<ns2:ShipToPartyContactName>Jimmy Anderson</ns2:ShipToPartyContactName>
<ns2:ShipToAddress1>102, CityView</ns2:ShipToAddress1>
<ns2:ShipToCity>CHATTANOOGA</ns2:ShipToCity>
<ns2:ShipToPostalCode>37401</ns2:ShipToPostalCode>
<ns2:ShipToState>TN</ns2:ShipToState>
<ns2:ShipToCountry>US</ns2:ShipToCountry>
<ns2:ShipToPartyType>ORGANIZATION</ns2:ShipToPartyType>
<ns2:ShipToPartyType>ORGANIZATION</ns2:ShipToPartyType>
<ns2:BillToCustomerName>Computer Associates International</ns2:BillToCustomerName>
<ns2:BillToAccountContactName>Jimmy Anderson</ns2:BillToAccountContactName>
<ns2:BillToAddress1>102, CityView</ns2:BillToAddress1>
<ns2:BillToCity>CHATTANOOGA</ns2:BillToCity>
<ns2:BillToPostalCode>37401</ns2:BillToPostalCode>
<ns2:BillToState>TN</ns2:BillToState>
<ns2:BillToCountry>US</ns2:BillToCountry>
<ns2:BillToPartyType>ORGANIZATION</ns2:BillToPartyType>
<ns2:BillToPartyType>ORGANIZATION</ns2:BillToPartyType>
<ns2:BillToPartyType>ORGANIZATION</ns2:BillToPartyType>
<ns2:PartialShipAllowedFlag>false</ns2:PartialShipAllowedFlag>
<ns2:UnitListPrice>150.0</ns2:UnitListPrice>
<ns2:UnitSellingPrice>150.0</ns2:UnitSellingPrice>
<ns2:ContractStartDate>2016-11-22</ns2:ContractStartDate>
<ns2:ExtendedAmount>150.0</ns2:ExtendedAmount>
<ns2:TaxExempt>S</ns2:TaxExempt>
<ns2:OrigSysDocumentReference>ORIGSYS</ns2:OrigSysDocumentReference>
<ns2:OrigSysDocumentLineReference>ORIGSYSLINE</ns2:OrigSysDocumentLineReference>
<ns2:OrderCharge>
<ns2:ChargeDefinitionCode>QP_SALE_PRICE</ns2:ChargeDefinitionCode>
<ns2:ChargeSubtypeCode>ORA_PRICE</ns2:ChargeSubtypeCode>
<ns2:PriceTypeCode>ONE_TIME</ns2:PriceTypeCode>
<ns2:PricedQuantity>10</ns2:PricedQuantity>
<ns2:PricedQuantityUOMCode>Ea</ns2:PricedQuantityUOMCode>
<ns2:PrimaryFlag>true</ns2:PrimaryFlag>
<ns2:ApplyTo>PRICE</ns2:ApplyTo>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SourceChargeIdentifier>SC2</ns2:SourceChargeIdentifier>
<ns2:ChargeTypeCode>ORA_SALE</ns2:ChargeTypeCode>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:SequenceNumber>2</ns2:SequenceNumber>
<ns2:PricePeriodicityCode></ns2:PricePeriodicityCode>
<ns2:GsaUnitPrice></ns2:GsaUnitPrice>
<ns2:OrderChargeComponent>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>150.0</ns2:HeaderCurrencyExtendedAmount>
<ns2:PriceElementCode>QP_LIST_PRICE</ns2:PriceElementCode>
<ns2:SequenceNumber>4</ns2:SequenceNumber>
<ns2:PriceElementUsageCode>LIST_PRICE</ns2:PriceElementUsageCode>
<ns2:ChargeCurrencyUnitPrice>150.0</ns2:ChargeCurrencyUnitPrice>
<ns2:HeaderCurrencyUnitPrice>150.0</ns2:HeaderCurrencyUnitPrice>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
<ns2:SourceChargeIdentifier>SC2</ns2:SourceChargeIdentifier>
<ns2:SourceChargeComponentIdentifier>SCC3</ns2:SourceChargeComponentIdentifier>
<ns2:ChargeCurrencyExtendedAmount>150.0</ns2:ChargeCurrencyExtendedAmount>
</ns2:OrderChargeComponent>
<ns2:OrderChargeComponent>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>150.0</ns2:HeaderCurrencyExtendedAmount>
<ns2:PriceElementCode>QP_NET_PRICE</ns2:PriceElementCode>
<ns2:SequenceNumber>3</ns2:SequenceNumber>
<ns2:PriceElementUsageCode>NET_PRICE</ns2:PriceElementUsageCode>
<ns2:ChargeCurrencyUnitPrice>150.0</ns2:ChargeCurrencyUnitPrice>
<ns2:HeaderCurrencyUnitPrice>150.0</ns2:HeaderCurrencyUnitPrice>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SourceParentChargeComponentId></ns2:SourceParentChargeComponentId>
<ns2:SourceChargeIdentifier>SC2</ns2:SourceChargeIdentifier>
<ns2:SourceChargeComponentIdentifier>SCC1</ns2:SourceChargeComponentIdentifier>
<ns2:ChargeCurrencyExtendedAmount>150.0</ns2:ChargeCurrencyExtendedAmount>
</ns2:OrderChargeComponent>
</ns2:OrderCharge>
</ns2:Line>
</ns2:Order>
</ns1:request>
</ns1:createOrders>
</soap:Body>
</soap:Envelope>

Use Web Services to Import Orders

Use an order import service to receive a request for details about an order line from your source system, and then transform it into a structure that Order Management can use.

Use the Order Import web service to capture sales orders from your source system. For details, see the Web Services You Can Use to Integrate Order Management topic. To get example payloads, see the Example Web Service Payloads That Integrate Order Management topic.

Here are some other web services you can also use.

Web Service Description

Get Order Details

  • Communicate status details or order details to the source system that requests it.

  • Get details about the entire sales order or a set of order lines.

  • Get details about a sales order that starts in an integrated source system.

You can specify a source system so the query limits results to only this system. If you don't specify a source system, then the service might return order numbers from more than one source system.

Get Order Shipping Details

  • Communicate shipping details to the source system that requests it.

    • Current schedules

    • Status of each schedule

    • Schedule details, such as warehouse and shipping method

  • Organizes the reply according to shipments instead of fulfillment lines.

  • Include details about fulfillment lines in the reply. More than one fulfillment line in Order Management might reference a single order line in the source order.

  • Return details about the order lines of a sales order, or for only a subset of these lines.

Apply a Hold

Route a request for a hold from your source system to a hold task. Process more than one hold in a request, each hold for one sales order, or more than one order line in the sales order.

Release a Hold

Route a request to release a hold from our source system to the hold task.

Check Availability

Send a request to Order Management to determine the quantity that's available on a date in the source system. Order Management sends a reply to the source system that includes these details.

Update Split Fulfillment Lines

You can't use the Order Import web service to update the quantity on a split fulfillment line.

Assume you use Integration Cloud Service to integrate your implementation. The original order line contains a quantity of 100. Global Order Promising analyzes the supply chain and determines the best way to fulfill your order is to split the order into two fulfillment lines, where line 1.1 contains a quantity of 75 and line 1.2 contains a quantity of 25. Promising sends the request to Integration Cloud Service, who then calls the Order Import web service to make the change in Order Management Cloud, and Order Management successfully splits the line.

The supply chain is constantly changing. The next day, Global Order Promising analyzes the supply chain again and determines to use a quantity of 60 on line 1.1 and 40 on line 2.2. So you now must change the quantity on line 1.1 from 75 to 60, and the quantity on line 1.2 from 60 to 40.

You use the Order Import service to change the values.

  • source line number = 1, fulfillment line number = 1, quantity = 60

  • source line number = 1, fulfillment line number = 2, quantity = 40

But you encounter a null pointer error because the import can't locate the fulfillment lines.

You use the Order Import service again to change the values but this time specify different source lines so they match the fulfillment lines.

  • source line number = 1, fulfillment line number = 1, quantity = 60

  • source line number = 2, fulfillment line number = 2, quantity = 40

The import updates the quantity on line 1 to 60, cancels line 1.2, and creates a new line 2 with a quantity of 40.

Some time later, you receive a request to update only fulfillment line 1.1. You use the Order Import service to successfully update line 1.1, but the import automatically cancels line 2.

You can only do these kinds of updates to split fulfillment lines in the Order Management work area. You can't use the Order Import service to do them.

Transform

Write a business rule that populates order attributes before Order Management transforms a source order, while it transforms a source order, and after it transforms a source order.

A source system is a system in your implementation that captures the details of a sales order. The source orders that your source system captures probably use attributes, structures, and data that are different from what Order Management uses. If you use more than one source system, then the details across source systems might be different.

Order Management uses a specific structure in sales orders so it can fulfill each of them consistently and effectively. Transformation rules transform each source order into a structure that Order Management can use, such as the arrangement of attributes on the order header, order lines, and fulfillment lines, and the relationships between header, order lines, and fulfillment lines.

Transformation rules transform each source order
into a structure that Order Management can use

Pretransformation Rule

Populate an order attribute before Order Management transforms the source order. You can use the predefined attribute value that the rule already contains. Order Management defaults the master inventory organization to the sales order so you can use it in the rule.

Example Usage Description

Populate an attribute on a fulfillment line.

Assume your sales order includes the Request Date attribute, and you must display it on fulfillment lines, but only for the AS54888 desktop computer. Here's your rule.

  • If the item is AS54888 desktop computer, then display the Request Date attribute on the fulfillment line.

Populate an attribute so you can use it in a transformation rule.

Assume your sales order includes the AS54888, you must convert its size from centimeters to inches, then display it on the fulfillment line. Here's your rule.

  • If the item is a AS54888, then convert the Size attribute and display it on the fulfillment line.

Order Management runs pretransformation rules each time the Order Entry Specialist modifies the sales order.

Transformation Rule

Order Management uses item relationships, item structures, transactional attributes, and business rules to transform a sales representation of the item in the source order to a fulfillment representation of the item on fulfillment lines.

  • You use the Manage Product Transformation Rules page in the Setup and Maintenance work area to write the transformation rule. You can also use the Product Information Management work area to set up item relationships, item structures, and transactional attributes.

  • You can't use a transformation rule to add a product model to a sales order.

  • An order line that a transformation rule creates gets most attributes from the line that the rule uses to create the new line. You can't edit, revise, or price an order line that a transformation rule creates.

    For example, assume you sell a laptop computer that ships to different geographical regions. Each region requires a different electrical adapter, such as 110 volts or 240 volts. You create a rule that uses the geographical region where you ship the item to determine the adapter to include in the sales order. You create a transformation rule that transforms the source order to a sales order that includes order line a and order line b, then adds the adapter to order line b. Assume the Ship To address on order line a is 550 Vision Way. The rule sets Ship To address on order line b to 550 Vision Way. You can't change this value on order line b.

    The Create Order page and the Edit Order page in the Order Management work area don't display an order line that a transformation rule creates because transformation adds the line only after your user clicks Submit. You can view the new line in a fulfillment view, such as View Order. If you create an order revision, you can also view the new line on the Create Revision or Edit Revision page.

Product-to-Product Transformation

Transform a single item to one or more items according to item structure, item relationship, and the transformation rule. You can write a rule that transforms an item to another item, and that creates individual fulfillment lines.

Assume your source order includes a laptop that comes with an accessory package that includes more than one item, such as a docking station, mouse, and so on. You write a product-to-product transformation rule that transforms the source order into a sales order that includes individual fulfillment lines for the laptop and each item in the accessory package.

Product-to-Product Transformation rule.

Here's how it works.

  • Transform two source order lines into six fulfillment lines.

  • Use the price from the source order to populate the price in the sales order.

  • Transform the line for the laptop in the source order to fulfillment line 1 in the sales order.

  • Transform the accessory package in the source order to more than one fulfillment line in the sales order. Each line represents part of the content of the accessory package, such as one line for the docking station, one line for the mouse, and so on.

Product-to-Attribute Transformation

Transform the item in a source order according to the attributes of another item.

Assume you sell the Window item. You can write a rule that uses attributes in the source order. . .

  • Width

  • Height

  • Pane

  • Glass

. . .to get the number for an item that uses the same dimensions, but that uses double-pane, tempered glass.

The transformed order includes the item number for the combination of attributes.

Product-to-Attribute Transformation rule.

Attribute-to-Product Transformation

Use attributes to transform an attribute to an item number. Add the transformation to an item that already exists or replace the item in the source order.

Assume you sell an MP3 player that includes the Color attribute and Size attribute, and that you must use a combination of them to reference an item number. You can create a rule that transforms Color and Size of item Mini Plus to item VIS481A.

Attribute-to-Product Transformation rule.

Attribute-to-Attribute Transformation

Transform the value of an order line attribute in a source order to a different order line attribute in a sales order.

Assume your company resides in Europe, you receive orders from an office in the United States that measures the item size in inches, but you must display the size in centimeters. Create a rule that transforms the width and height from inches on the source order to centimeters on the sales order.

Attribute-to-Attribute Transformation rule.

Context-to-Product Transformation

Use the context of the source order to determine the item in the sales order.

Assume you sell laptop computers that ship to different geographical regions. Each region requires a different electrical adapter, such as 110 volts or 240 volts. Create a rule that uses the geographical region where you ship the item to determine the adapter to include in the sales order, transforms the source order to a sales order that includes two order lines, and then adds the adapter to one of these lines.

Context-to-Product Transformation rule.

Context-to-Attribute Transformation

Transform the source order context to an attribute.

Assume you ship some laptop computers to domestic locations in the USA and others to international locations in other countries. The destination requires different packaging. So you create a Domestic Packaging flexfield to store the details. Assume an attribute in the source order includes the domestic address, so the context is domestic, and the transformation rule sets the Domestic Packaging attribute to Yes.

Context-to-Attribute Transformation rule.

Posttransformation Rule

Populate an order attribute after Order Management transforms the item.

Example Usage Description

Populate order lines so they reference different warehouses.

Create a rule that transforms the source order into a sales order that includes two lines.

  • Order line 1 for the laptop computer

  • Order line 2 for an AC adapter

Write a rule that populates order line 2 so it sets the Warehouse attribute to a value that's different from the warehouse that supplies the laptop computer on line 1.

Populate an order with a new attribute.

Assume your source order uses the MM/DD/YYYY format for requested date. Your staff finds it useful to also know the day of the week because delivery costs more on Saturday or Sunday. You write a rule that populates the day of the week in the new sales order.

Run Rules When They Apply

Set up rules so they run when you expect them to.

Where You Submit the Sales Order Description

Order Management work area

Order Management only runs transformation rules and posttransformation rules on order lines. It doesn't run them on return order lines.

Web service or the order import template

Order Management runs transformation and posttransformation rules when it validates the draft sales order during import.

It runs these types of rules on both order lines and return order lines.

Set Up Transformation

Set up transformation so Order Management Cloud can correctly transform each source order.

  1. Use the Product Information Management work area.

    • Set up the product that your transformation rule will reference.

    • If your transformation rule will reference.

      • The product structure, then set up the product structure.

      • Transactional item attributes, then set up transactional item attributes.

    • Create item substitution rules when you set up your item. Order Management doesn't validate item substitutions.

      For example, assume a fulfillment line includes a nonconfigured item, the Order Entry Specialist examines availability for the item, then Order Management displays more than one option. If you don't set up each item substitution rule correctly, then the Order Entry Specialist might select an option that uses an incorrect substitution, such as a kit.

  2. Create your transformation rules.

Create a complex transformation rule that uses a bucket set in a decision table.

For details about how to use a simplified rule builder, see the Use Visual Information Builder to Create Rules topic.

Assume you use priority shipping for each sales order that includes a Green Server. You need a rule.

  • If the item is a Green Server, then use priority shipping.

You will create a bucket set that contains the values you will select when you create your transformation rule, then create the rule.

Its strongly recommended that you get details about decision tables, bucket sets, and how to use them. For details, see the Overview of Using Business Rules With Order Management topic.

Summary of the Set Up

  1. Create the bucket set list.

  2. Create the decision table and add a condition.

  3. Add a rule to the decision table.

  4. Add the action to take if the condition is true.

This topic includes example values. You might use different values, depending on your business requirements.

Create the Bucket Set List

You will create this bucket set list.

bucket set list

Do it.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Product Transformation Rules

  2. On the Manage Product Transformation Rules page, click Bucket sets > Add Bucket set > List of Values.

  3. In the Bucket Sets list, click Bucket Set 1 > Edit Bucket set.

  4. In the Bucket Set Editor dialog, set values.

    Attribute Value

    Name

    Server IDs

    Description

    List of IDs and aliases for server items to select in a product transformation rule.

    Data Type

    String

  5. Click Add Bucket, then, in the Bucket Values list, in the Bucket 1 row, set values.

    Attribute Value

    Value

    300000047394016L

    This number identifies the item ID that the database contains. The letter L indicates a long value.

    Alias

    "AS85005"

    You must include the double quotation marks.

    Description

    Green Server 3500R

  6. Click Add Bucket, then, in the Bucket Values list, in the Bucket 2 row, set values.

    Attribute Value

    Value

    300000047393961L

    Alias

    "AS85004"

    Description

    Green Server 3000

  7. Click OK > Save.

Create the Decision Table and Add a Condition

You will create the decision table, condition, and action.

decision table, condition, and action

Do it.

  1. On the Manage Product Transformation Rules page, click TransformationCustomRS.

  2. In the View list, click IF/THEN Rules > Add > Add Decision Table.

  3. Replace Decision Table 1 with AddExpeditedShippingforProductAS85005, then click Save.

  4. Immediately above the decision table, click Add > Add Condition.

  5. In the Condition Browser dialog, expand OrderTransformationRules > FulfillLineVO > InventoryItemId, click toString, then click OK.

    The Condition Browser dialog displays objects from the OrderTransformationRules dictionary. You can use the FulfillLineVO object in this dictionary to specify transformation according to the value of a fulfillment line attribute, such as InventoryItemId.

    In this example, you use toString to get the value of InventoryItemId as a string so you can compare it in the rule.

Add a Rule to the Decision Table

You will add this rule.

  • If InventoryItemId is AS85005

Do it.

  1. In the decision table, click the cell that displays condition OrderTransformationRules.FulfillLineVO.InventoryItemId.toString().

    For example.

    rule in the decision table
  2. Click Local List of Values > Server IDs, which is the bucket set you created earlier.

  3. In row OrderTransformationRules.FulfillLineVO.InventoryItemId.toString(), double-click the cell in column R1, single-click the cell in column R1, then add a check mark to AS85005.

Add the Action to Take If the Condition Is True

You will add this action.

  • Set the ShipClassOfService attribute to "Expedited"

At run time, order fulfillment will recognize that ShipClassOfService is Expedited, then expedite the shipment.

Do it.

  1. Immediately above the decision table, click Add > Add Action > Modify.

  2. In the Action Editor dialog, in the Target list, click OrderTransformationRules.FulfillLineVO.

  3. In the Arguments list, locate the ShipClassOfService argument, set the value, then click OK. You might need to scroll or page down through the Arguments list.

    Property Value

    Parameterized

    Contains a check mark.

    The Parameterized property makes the object available to the business rule as a parameter.

  4. In the decision table, in the ShipClassOfService row, double-click the cell in column R1, then enter "Expedited". You must include the double quotation marks.

  5. Click Save.

Create an advanced transformation rule that compares two or more lines in a source order.

Assume a fulfillment line adds an inventory item, but then another fulfillment line deletes the same inventory item. You can create a transformation rule that avoids processing these lines.

  • If fulfillment line a requests to add inventory item x, and if fulfillment line b requests to delete inventory item x, then delete fulfillment lines a and b.

You will implement this logic.

Statement Description

First IF statement

If the change in fulfillment line 1 is Add.

Second IF statement

If the change in fulfillment line 2 is Delete.

Third IF statement

If the inventory item in fulfillment line 1 is the same as the inventory item in fulfillment line 2.

Fourth IF statement

If the fulfillment line ID of fulfillment line 1 is different from the fulfillment ID of fulfillment line 2.

THEN statement

Delete fulfillment line 1 and fulfillment line 2.

You will create this transformation rule.

advanced transformation rule

This topic uses Advanced Mode. Its strongly recommended you familiarize yourself with this mode and creating business rules. For details, see the Overview of Using Business Rules With Order Management topic.

Summary of the Set Up

  1. Create the rule.

  2. Create the first IF statement.

  3. Create the second IF statement.

  4. Create the third IF statement.

  5. Create the fourth IF statement.

  6. Create the THEN statement.

This topic includes example values. You might use different values, depending on your business requirements.

Create the Rule

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Product Transformation Rules

  2. On the Manage Product Transformation Rules page, in list View, click IF/THEN Rules.

  3. Click Add > Add Rule.

  4. Click Expand > Show Advanced Settings.

  5. Set values.

    Attribute Value

    Rule 1

    Consolidate Add and Delete Actions

    Description

    Rule that removes requests that cancel each other.

    Advanced Mode

    Contains a check mark.

  6. Click Save > Save.

Create the First IF Statement

You will create this IF statement. It determines whether the change in fulfillment line 1 is Add.

The First IF Statement

Do it.

  1. In the field to the left of Is A, enter FulfillLine.

  2. In the field to the right of Is A, click the down arrow, then click OrderTransformationRules.FulfillLineVO.

  3. Click Add Test > Simple Test .

  4. Click Left Value.

  5. In the Condition Browser, expand FulfillLine, then click DeltaType > OK.

  6. In attribute Right Value, enter "Add". You must include the double quotation marks.

  7. Click Save.

Create the Second IF Statement

You will create this IF statement. It determines whether the change in fulfillment line 2 is Delete.

the Second IF Statement

Do it.

  1. Click Add Pattern.

  2. In the window below And, enter FulfillLine2.

  3. In the field to the right of Is A, click the down arrow, then click OrderTransformationRules.FulfillLineVO.

  4. Click Add Test > Simple Test, then click Left Value.

  5. In the Condition Browser, expand FulfillLine2, click DeltaType > OK.

  6. In attribute Right Value, enter "Delete". You must include the double quotation marks.

    Click Save.

Create the Third IF Statement

You will create this IF statement. It determines whether the inventory item in fulfillment line 1 is the same as the inventory item in fulfillment line 2

the Third IF Statement

Do it.

  1. Click Add Pattern.

  2. In the window below And, enter FulfillLine.

  3. In the field to the right of Is A, click the down arrow, then click OrderTransformationRules.FulfillLineVO.

  4. Click Add Test > Simple Test, then click Left Value.

  5. In the Condition Browser, expand FulfillLine, click InventoryItemId, then click OK.

  6. Click Right Value.

  7. In the Condition Browser, expand FulfillLine2, click InventoryItemId > OK.

    Click Save.

Create the Fourth IF Statement

You will create this IF statement. It determines whether the fulfillment line ID of fulfillment line 1 is different from the fulfillment ID of fulfillment line 2.

the Fourth IF Statement

Do it.

  1. Click Add Pattern.

  2. In the window below And, enter FulfillLine.

  3. In the field to the right of Is A, click the down arrow, then click OrderTransformationRules.FulfillLineVO.

  4. Click Add Test > Simple Test, then click Left Value.

  5. In the Condition Browser, expand FulfillLine, then click InventoryItemId > OK.

  6. Click Is > Isn't.

  7. Click Right Value.

  8. In the Condition Browser, expand FulfillLine2, click InventoryItemId > OK.

    Click Save.

Create the Then Statement

You will create this action. It deletes fulfillment line 1 and fulfillment line 2.

the Then Statement

Do it.

  1. In the Then area, click Add Action > Assert New.

  2. Click Select a Target, then click OrderTransformationRules.DeleteOrderLine.

  3. Click Edit Properties.

  4. In the Properties dialog, enter values, then click OK

    Name Value

    fulfillmentLineId

    fulfillmentLineId

    viewRowImpl

    fulfillmentLineId

  5. Click Add Action > Retract.

  6. Click Select a Target, then click FulfillLine2.

    Click Save.