3Integrate

This chapter contains the following:

Introduction

Use web services to integrate Order Management with other applications and systems.

Order Management comes predefined with integrations to other Oracle cloud services so you can use fulfillment processes that require minimal set up to get them up and running in your environment.

For example, Order Management and Oracle Fusion Inventory Management work together to fulfill each sales order that an Order Entry Specialist enters in the Order Management work area or that you import from a source system.

Use a web service to integrate with some other Oracle application, a third-party cloud application, or an on-premise application that your supply chain uses to complete the order-to-cash process. Here are some ideas.

Use a web service to integrate with some other
Oracle application, a third-party cloud application, or an on-premise
application that your supply chain uses to complete the order-to-cash
process.

Note.

Integration Description

Integrate with cloud processes.

Integrate cloud processes, including order-to-cash, drop-ship, back-to-back, configure-to-order, or internal orders.

The integration includes predefined processes and simplified set up.

Integrate with other applications.

Order Management comes predefined with integrations to cloud services.

  • Oracle Inventory Cloud

  • Oracle Cost Management Cloud

  • Oracle Manufacturing Cloud

  • Oracle Procurement Cloud

  • Oracle Product Hub Cloud

  • Oracle Financials Cloud

  • Oracle Configure, Price, and Quote Cloud.

Integrate through web services.

Use a web service.

  • Import each order right after you create it.

  • Create orders, then import them together as a group.

  • Send a request to your fulfillment system.

  • Receive a status from your fulfillment system.

  • Integrate to some other cloud or on-premise system.

Inventory, shipping, receiving, finance, and order management are each an example of a fulfillment system.

Here are some examples of the functionality you can implement through integration.

  • Bill shipping charges at the time of shipment.

  • Send order status updates from Order Management to your fulfillment system when the update occurs.

  • Send order status updates from a warehouse management system, such as Oracle Warehouse Management Cloud, to Order Management when the update occurs.

  • Integrate Order Management with your current implementation of Oracle E-Business Suite (EBS).

Guidelines for Integrating Order Management

Use a variety of technologies to integrate Order Management with a fulfillment system that resides outside of Oracle Fusion.

Technologies You Can Use to Integrate

Use these technologies.

Technologies You Can Use to Integrate.

Get details.

Technology Description Topic

Business Event

Integrate your business processes to operate across applications in the cloud or on premise.

Overview of Using Integration Cloud Service to Integrate Order Management

Web Service

Integrate with some other Oracle application, a third-party cloud application, or an on-premise application that your supply chain uses to finish the order-to-cash process.

Overview of Using Web Services to Integrate Order Management.

Order Management Extension

Write your own Groovy script that modifies your Order Management deployment, implements your own functionality, and specifies the extension point that determines when to run this script.

Overview of Setting Up Extensions That Modify Order Management

File Based Data Import

Use an Excel file to simplify order import. This file contains a structure that the Oracle database requires for each database table.

Overview of Importing Orders into Order Management

Business to Business

Automate message flow so Order Management can receive and process source orders from trading partners, then reply with an advance shipment notice after shipping finishes.

Overview of Business-to-Business Order Management

Examine Your Flow

Most Order Management implementations use a set up that's similar to this flow.

Order Management implementation flow.

Note.

  1. Use the import web service, file-based data import, or B2B messaging (business-to-business) to import source orders from your source system into Order Management.

  2. A step in your orchestration process starts the integration. Order management assigns each source order to an orchestration process. The orchestration process orchestrates fulfillment for each fulfillment line. You add an integration step that integrates the orchestration process with your fulfillment system.

  3. Web service endpoints identify each of your fulfillment systems that reside outside of Oracle Fusion.

  4. Routing rules specify the conditions to use when determining how to route each fulfillment line to each connector.

  5. Order Management creates a service data object (SDO) and sends a request that includes the SDO payload. The SDO contains details about the endpoint, connector to use, fulfillment lines, and so on.

  6. A connector web service transforms the SDO payload into a message payload that your fulfillment system can understand, and then calls the fulfillment system. You can create a separate connector for each of your fulfillment systems.

Set Up Your Implementation

Step 1: Add Privileges to Roles

Add one or more of these privileges to an abstract role. These privileges allow you to call web services that provide a response from your fulfillment system.

  • Manage Orchestration Generic Web Service

  • Manage Orchestration Order Activity Interface Web Service

  • Manage Orchestration Order Fulfillment Interface Web Service

  • Manage Orchestration Order Modification

  • Manage Orchestration Order Purchasing Interface Web Service

  • Manage Orchestration Order Receiving Interface Web Service

  • Manage Orchestration Order Shipping Interface Web Service

  • Manage Orchestration Order Template Interface Web Service

  • Manage Web Service Interface to Transportation Data for Sales Order

Add each role to the user that you use to call the web service. For example, if your integration manages shipping details, then add privilege Manage Orchestration Order Shipping Interface Web Service.

Add the Manage Order Specialist duty role for an upstream integration to your source system, for example, for order import.

For details about job roles, duty roles, and how to set them up, see book Oracle SCM Cloud Security Reference for Order Management on Oracle Help Center.

Step 2: Set Up Task Type

Use the Manage Task Type page in the Setup and Maintenance work area to set up the task type.

Use the Manage Task Type page in the Setup and
Maintenance work area to set up the task type.

Note.

  1. Click Add Custom. Use this action you to specify services.

  2. Use the Task Type attribute and the Description attribute to describe how your orchestration process uses the task, such as Delivery Confirmation.

  3. Use the Services tab to add the service that does the task, such as Create Delivery Confirmation.

  4. Click Save so you can reference the task type from your orchestration process.

The task type specifies the type of task that each orchestration process step does, such as to schedule a fulfillment line for shipment, to ship it, or to confirm delivery. For details, see the Task Types topic.

Step 3: Add Integration Step

Add the step in your orchestration process that integrates with your fulfillment system.

Add the step in your orchestration process that
integrates with your fulfillment system.

Note.

  1. Add the step at the point in your orchestration process where you must integrate. This example integrates after the orchestration process finishes the schedule, promise, reserve, and ship tasks, but before the invoice task.

  2. On the integration step, set the Task Type attribute and the Task attribute to the task type you set up on the Manage Task Types page.

  3. Set the Service attribute to the service you set up on the Services tab of the Manage Task Types page.

For details, see the Set Up Orchestration Processes topic.

Step 4: Create Connector

In the Setup and Maintenance work area, search for Manage External Interface Web Service Details, then use the Manage Connector Details page to specify how to connect to your fulfillment system.

use the Manage Connector Details page to specify
how to connect to your fulfillment system

Note.

  • Create a separate connector for each of your fulfillment systems.

  • Use the Connector URL attribute to locate your fulfillment system. In this example, assume you defined a URL on the server that serves System 3.

    https://server:port/7818/soa-infra/services/default/ConfirmDelivery

    To make sure the connection is secure, use https in the URL. Don't use http.

  • Use the User Name and Password attributes to specify the name and password you use when you sign into fulfillment system 3. In this example, assume you set up a user named myName on System 3.

    • Use a user name that works with an SSL security policy (secure sockets layers) that you set up on your fulfillment system.

    • Make sure the user name and password you specify are valid on your fulfillment system. Use them to verify that you can successfully sign into your fulfillment system. Note that this name isn't the name you use to sign into Oracle Fusion.

    • Use CA signed certificates (certification authority) on your fulfillment system and on the connector.

  • For details, see the Manage Connector Details That Integrate Order Management with Fulfillment Systems topic.

Set other attributes on the connector.

Set other attributes on the connector

For example.

  • If you use this connector to communicate a business event, then set the Keystore Recipient Alias attribute to NA, and set the Invocation Mode attribute to Business Event.

  • If you use this connector with a web service, then set Invocation Mode to Asynchronous Service or Synchronous Service.

Step 5: Create Routing Rule

Create the rule that routes the orchestration process to the connector you just created.

Create the rule that routes the orchestration process.

Note.

  1. Use Visual Information Builder to create the rule. For details, see the Overview of Using Business Rules With Order Management topic.

  2. Add an If statement to determine whether the task type matches the type you specified in the Task Type attribute on the orchestration process step.

    If Task Type is equal to DeliveryConfirmation
  3. Add a Then statement to set the Connector Name attribute to the connector you created earlier that connects to your fulfillment system.

    Set Connector Name: Delivery Confirmation
  4. Add a Then statement to set the Interaction Interface Type attribute. Recall from the flow that order orchestration uses an SDO payload to communicate with your fulfillment system. You must use Service Data Object for any new implementation. Use other values only for backward compatibility to an earlier Oracle Fusion release.

    Set Interaction Interface Type: Service Data Object

Summary

Here's a summary of the set up you do.

summary of the set up you do

Use these pages.

  1. Manage Task Types to create the task type.

  2. Manage Orchestration Process Definitions to add the integration step.

  3. Manage Connector Details to create the connector.

  4. Manage External Interface Routing rules to route the fulfillment line to your fulfillment system.

More Guidelines

  • Set up status behavior. Order Management typically sends statuses for each fulfillment line to your fulfillment system throughout the order fulfillment lifecycle. In return, your fulfillment system can send status updates to Order Management. You can set up this behavior. For details, see Orchestration Process Status topic.

  • Determine whether you must add a wait step. For example, if a task occurs almost instantly, as with credit check, then you typically don't need a wait step. However, a task that requires a long time to finish typically does require a wait step to allow the orchestration process to pause for the task to finish. For details, see the Overview of Pausing Orchestration Processes topic.

  • Set up failure logic. For example, if a task fails, then it goes into error recovery and you must retry or recover the task.

    Assume your analysis determines you must allow an Order Manager to override a delivery confirmation that fails and allow processing to continue. You can set up an extensible flexfield that allows the Order Manager to record the results of the transaction, then set up a pause task that uses the contents of the flexfield to allow the process to release the pause and continue to the next step.

  • Use business events and web services with Integration Cloud Service. For details, see the Overview of Using Integration Cloud Service to Integrate Order Management topic.

  • Use Order Management Extensions. For details, see the section about calling web services in the Guidelines for Setting Up Order Management Extensions topic.

Guidelines for Business Rules

This figure illustrates the content of this section.
The text immediately after the figure describes the figure in detail.

Note.

  • To avoid logic problems, make sure rules are mutually exclusive. Make sure no two rules can be true at the same time, or false at the same time. For details, see the Guidelines for Creating Business Rules topic.

  • Consider other attributes you can set.

    • To aggregate fulfillment lines before you send them to your fulfillment system, use the Maximum Lines to Aggregate and Send attribute and the Maximum Time to Wait Before Sending attribute. Run several tests and adjust these values after each test until you achieve the optimal balance between waiting and performance.

    • Use other attributes to control processing, as necessary, such as Resolve Cross-Reference for Customer to determine whether to use a cross-reference, or Set Acknowledgement Timeout to determine how long to wait before exiting out of an implicit wait during an interaction with your fulfillment system.

    For details, see the Actions You Can Set in Routing Rules topic.

  • Use Perform an Action. Avoid using Set a Value. Perform an Action automatically filters attributes and values for you to help make sure you specify values that the rule can understand.

Send the Response from Your Order Fulfillment System

The connector sends a request to your order fulfillment system, then the fulfillment system sends a response. You can use services to communicate status updates from your fulfillment system to Order Management.

Service See This Topic for Details

FulfillmentResponse Service

Integrate Order Management with Fulfillment Systems

Order Fulfillment Response Service

Overview of Using Integration Cloud Service to Integrate Order Management

Identify Hosts and Ports

Identify the hosts and ports you will use to access your payloads. In the navigator, click Setup and Maintenance, click Tasks > Review Topology. For details, see the Identify Hosts and Ports for Your Order Management Implementation topic.

the Review Topology page.

For example.

  • If you use Oracle Application Development Framework (ADF), then use the host and port for FSCMServices.

  • If you use Oracle Service-Oriented Architecture (SOA), then use the host and port for FASOA (Oracle Fusion Applications, Service-Oriented Architecture).

Set Up Payload for FulfillmentResponse Service

If you use Service-Oriented Architecture, then set up the payload for the FulfillmentResponse service.

Payload for FulfillmentResponse Service.

The payload that your fulfillment system sends must include these attributes.

<ns2:FulfillLineId>Id number</ns2:FulfillLineId>
<ns2:SourceOrderSystem>system name</ns2:SourceOrderSystem>

For example.

<ns2:FulfillLineId>300100072403436</ns2:FulfillLineId>
<ns2:SourceOrderSystem>GPR</ns2:SourceOrderSystem>

where

  • 300100072403436 is the fulfillment line Id.

  • GPR is the source order system. Order Management typically uses the phrase source order to refer to an order that resides in an upstream order capture system. However, in this instance, SourceOrderSystem means any system that provides input details to FulfillmentResponse.

As an option, you can also send other attributes, such as ShippedQuantity, according to your business requirements.

Order Management needs SourceOrderSystem so it can get the user name, password, and Keystore Recipient Alias from the Manage Connector Details page and use them when it sends a reply to your order fulfillment system. It uses SourceOrderSystem to search the list of connectors on the Manage Connector Details page. It searches the list in alphanumeric order, and chooses the first connector it finds where the value in the Target System attribute matches the value in SourceOrderSystem. Make sure you add your connectors and name them so Order Management uses the one you need.

Assume SourceOrderSystem contains OrderCapture1, and the Manage Connector Details page contains three connectors.

Target System Connector Name User Name Password Keystore Recipient Alias

OrderCapture1

My Connector A

Administrator1

******

-

OrderCapture2

My Connector B

Administrator2

******

-

OrderCapture1

My Connector C

Administrator3

******

-

Order Management will use the Administrator1 user, password, and Keystore Recipient Alias from the row for My Connector A.

Set Up Payload for Order Fulfillment Response Service

If you use Application Development Framework, then set up the payload for the Order Fulfillment Response service.

payload for service Order Fulfillment Response.

The payload that your fulfillment system sends must include these attributes.

<com:IntegrationContextCode>context_code</com.IntegrationContextCode>
<com:FulfillmentSystem/>
<com:FulfillLineIdentifier>numeric_value</com:FulfillLineIdentifier>
<com:TaskInstanceStatusCode>status_code</com:TaskInstanceStatusCode>

For example.

<com:IntegrationContextCode>DOO_TransportationPlanning</com.IntegrationContextCode>
<com:FulfillmentSystem/> 
<com:FulfillLineIdentifier>3001000071295736</com:FulfillLineIdentifier>
<com:TaskInstanceStatusCode>DOO_TP_DELIVERED</com:TaskInstanceStatusCode>

where

  • DOO_TransportationPlanning is the IntegrationContextCode.

  • 3001000071295736 is the FulfillLineIdentifier.

  • DOO_TP_DELIVERED is the TaskInstanceStatusCode.

Set Up Payload for Extensible Flexfield

You integrate an extensible flexfield with your fulfillment system the same way you integrate it during order import. The only difference is that instead of modifying the XSD file that you use during order import, you modify the XSD file that you use when you integrate with your fulfillment system. For details, see the section that describes how to integrate with web services during order import in the Guidelines for Using Extensible Flexfields in Order Management topic.

Enable Cross-References

You must create and maintain cross-references that relate business data between your fulfillment system and Order Management Cloud. Use the Manage Planning Source Systems page as part of this set up.

cross-references and domain value maps.

For example, set these values.

Attribute Value

Order Orchestration Type

Fulfillment

Collections Allowed

Contains a check mark.

Enable Data Cross-Reference

Contains a check mark.

For details about.

  • Cross-references, see the Cross-References in Order Management topic.

  • Managing planning source systems, see the section that describes how to collect data in the Quick Start to Implementing Order-to-Cash topic.

Web Services

Overview

Use Order Import Service, Receive Order Request Service, or Order Information Service to integrate Order Management with other systems.

Here are some examples of other systems you can integrate.

  • Channel

  • Legacy

  • Quoting

  • Contract

  • Service request

  • Purchasing

  • Inventory

  • Warehouse

  • Shipping

  • Invoicing

  • Billing

Create, read, update, and delete the same data that Oracle Applications use.

Create, read, update, and delete the same data
that Oracle Applications use.

For example.

Oracle Application Data

Order Promising

Promising model

Trading Community Architecture

Customer model

Product Information Management

Product model

Configurator

Configuration model

Order Management

Data model

Terminology

  • Source system. An order capture system or application that sends the Order Request object to the Order Import Service web service. For brevity, this document mentions only source system.

  • Internal. An action, process, or object that resides in Order Management. A cross-reference that resides in Order Management and Planning Repository is an example of an internal object.

  • External. An action, process, or object that resides outside of Order Management . A source order that a source system creates in an order capture system is an example of an external object.

  • Source order. An order that a source system creates in an order capture system.

  • Sales order. A source order that Order Management converts into a sales order so it can fulfill the source order.

Should I Use Order Import Service or Receive Order Request Service?

Starting with Release 12, use Order Import Service instead of Receive Order Request Service. Order Management continues to support Receive Order Request Service in Release 12, but will retire it and no longer support it in subsequent releases.

Use Order Import Service instead of Receive Order Request Service to create a sales order.

Order Management no longer supports the Create operation or Submit operation of Receive Order Request Service.

You can use the pause task, apply hold, release hold, and check availability operations of Receive Order Request Service.

Order Import Service

Use the Order Import Service web service to create an integration that sends order requests from your upstream system to Order Management. This web service processes the request, then creates a sales order in Order Management. You can also use it to submit a draft sales order to fulfillment.

Order Import Service is a SOAP (Simple Object Access Protocol) service that uses Order Request Object as the payload. Here are the details.

Details Description

Type

Technical

Required

No

Service Name

OrderImportService

Description

This Service receives source orders from different channel systems.

WSDL

http://host:port/fomImportOrdersService/OrderImportService?wsdl

Input

OrderImportServiceRequest

Output

OrderImportServiceResponse

Use these operations with Order Import Service.

Operation Input Message Output Message

createOrders

createOrders

createOrdersResponse

createOrdersAsync

createOrdersAsync

createOrdersAsyncResponse

stageOrders

stageOrders

stageOrdersResponse

stageOrdersAsync

stageOrdersAsync

stageOrdersAsyncResponse

SubmitDraftOrder

SubmitDraftOrder

SubmitDraftOrderResponse

SubmitDraftOrderAsync

SubmitDraftOrderAsync

SubmitDraftOrderAsyncResponse

Create Orders Operation

Use the createOrders operation to import source orders from different channels into Order Management. Create a sales order in draft mode or submit mode according to the SubmitFlag attribute in the payload.

Stage Orders Operation

Use the stageOrders operation to import orders from different channels to staging tables. You can then run a scheduled process that imports data from interface tables, processes them, then imports each interface record into Order Management as a sales order.

Submit Draft Order Operation

Use the SubmitDraftOrder operation to submit a draft sales order to order fulfillment. For details, see the Service section in book SOAP Web Services for Oracle Supply Chain Management Cloud, on Oracle Help Center.

Receive Order Request Service

Use the Receive Order Request Service web service to do a pause task, apply a hold, release a hold, or check availability.

Receive Order Request Service is a SOAP (Simple Object Access Protocol) service that uses Order Request Object as the payload.

Use the Order Import Service web service instead of Receive Order Request Service to create a sales order.

Here are the details.

Details Description

Type

Technical

Required

No

Service Name

ReceiveOrderRequestService

Description

This service receives source orders from different channel systems.

WSDL

http: //host: port/ soa-infra/ services/ default/ DooDecompReceiveOrderExternalComposite/ReceiveOrderRequestServiceWSDL

Input

ReceiveOrderServiceRequestMessage

Output

ReceiveOrderServiceResponseMessage

Order Information Service

Integrate your source orders. Here are the attributes you can use with the GetOrderDetails operation of the Order Information Service.

Attribute Type Description

SourceTransactionIdentifier

Varchar2

Value that uniquely identifies the transaction.

SourceTransactionSystem

Varchar2

Source system that placed the request for fulfillment.

SourceTransactionNumber

Varchar2

Transaction number that the source system uses.

SourceTransactionRevisionNumber

Varchar2

Revision number of the transaction.

IncludeHeaderAndLineAttributesOnly

Varchar2

Use one of these values.

  • All. Get all details of the sales order. This is the default value.

  • Status. Get the status of the sales order and the order lines, and get all other sales order data except for details in these entities.

    • LotSerialDetails

    • Payments

    • PriceAdjustments

    • SalesCredits

    • Projects

SourceTransactionLineIdentifier

Varchar2

Value that uniquely identifies the internal transaction line. You can repeat this attribute zero or more times.

Guidelines for Using Web Services to Integrate Order Management

Apply guidelines to make sure your integration to other systems with Order Management Cloud goes smoothly.

Plan

Plan Your Integration

Requirement Description

Register source system.

You must register each source system that sends the order request as a source system.

More than one source system might create a source order, so the web service stores details that identify the source system on the order so it can track the source system that sends the order.

The web service uses the source system during cross-referencing to determine the corresponding internal identifier or value that's specific to the source system.

Plan how you will synchronize customer master data.

You must synchronize customer master data before you import a source order.

If the customer on the order doesn't exist in the customer model in Oracle Fusion Trading according to the CreateCustomerInformationFlag preference in the service schema, then Order Management can create the customer details.

Plan for attributes in Oracle Configure, Price, and Quote Cloud.

If you use Oracle Configure, Price, and Quote Cloud (CPQ), then CPQ sends details about the attributes that Order Management requires to use this functionality, such as FreezePriceFlag, FreezeShippingChargeFlag, FreezeTaxFlag, and so on.

Plan for pricing.

You can send a source order that your upstream system already priced, or the web service can price the source order for you.

If you use a predefined implementation of Oracle Configure, Price, and Quote Cloud, then the web service assumes the upstream system already priced the source order and won't allow price changes in Order Management.

Plan how to handle draft sales orders.

Your source system can send a submitted source order or a source order that's in draft status.

  • If the source order is in draft status, then you must submit the sales order that references the source order.

  • Order Management won't run the orchestration process that fulfills your sales order until you submit it.

  • If the web service creates the order in draft status, then you can submit it from the Order Management work area, or you can use operation SubmitDraftOrder in the web service to submit it.

  • If you use SubmitDraftOrder, then you must add the payload that defines it.

Use Asynchronous or Synchronous Services

Asynchronous or Synchronous? Description

The integration platform or application that uses the service supports an asynchronous service.

Use the asynchronous operation because asynchronous is more resilient and fault tolerant than synchronous. If the response from the fulfillment system is delayed for some reason, then an asynchronous operation can continue processing but a synchronous operation might time out and go into an error state.

The platform or application doesn't support an asynchronous service, or you prefer not to use asynchronous because its more complex to implement.

Use synchronous as long as the number of lines in the sales order doesn't result in a timeout after 300 seconds.

If you use synchronous, and if a sales order times out, then you must make sure you set up your implementation to resubmit the sales order.

Process More Than One Sales Order

Use these operations of Order Import Service.

  • stageOrders. The only operation that can accept more than one sales order in the payload.

  • createOrders. Can accept only one sales order in the payload.

The Receive Order Request web service can accept only one sales order in the payload.

For details about input messages and output messages you can use with Order Import Service, see the Service section in book SOAP Web Services for Oracle Supply Chain Management Cloud, on Oracle Help Center.

Make Sure Your Payload Uses the Correct Hierarchy

Entity Hierarchy That Web Services Support

Make sure your payload uses this entity hierarchy.

  • Header

    • Order Payment

    • Order Sales Credit

    • Order Attachments

    • Order Lines

      • Line LotSerial

      • Line SalesCredit

      • Line Payments

      • Line Document References

      • Line Attachments

      • Line Transactional Item Attributes

      • Charge

      • Charge - Charge Components

    • Order Preferences

Logical Data Model

Make sure your payload can accommodate the data model.

Make sure your payload can accommodate the data
model.

Response Payload

Make sure your integration can accommodate the response that Order Management sends. The response payload returns a status.

Status Description

SUCCESS

The response includes source keys and Order Management keys. It sends this response after Order Management successfully creates the sales order.

FAILURE

The response includes the first validation error message.

The response payload uses this structure.

The response payload uses this structure.
Specify Attributes in Payloads

Specify Attributes in Groups

To make sure the payload includes all the required details, the web service processes some attributes as a group. For example, here are the attributes that the web service examines as a group to make sure the payload identifies the buying party.

  1. BuyingPartyId

  2. BuyingPartyName

  3. BuyingPartyNumber

Here's the sequence that the web service uses when it processes each group.

  1. Use the attribute that specifies the identifier, such as BuyingPartyId.

  2. If the attribute that specifies the identifier is empty, then use the attribute that specifies the number, such as BuyingPartyNumber.

  3. If the attribute that specifies the number is empty, then use the attribute that specifies the name, such as BuyingPartyName.

If the attribute that specifies the identifier includes a value, then the web service will always use this value even if the attributes that specify the name or number aren't empty.

If the payload doesn't include a value for the identifier, name, or number, then your order import will likely fail.

Specify Coded Attributes and Their Partners

Some attributes, such as ReturnReasonCode, store an abbreviation for a longer term. The abbreviation is typically text that the user can view to quickly identify the meaning of a lookup value.

You can think of the value of this attribute as coded. A coded attribute typically includes a partner attribute. For example, the ReturnReason attribute is the partner for ReturnReasonCode.

If you provide a value only for the coded attribute in the payload, then Order Management will use the value that the database cross-references from the lookup value to the meaning. For example, it cross-references the RET lookup value to the meaning for RET, which is Return.

Continuing this example, assume you set ReturnReasonCode=RET in the payload, and.

  • You set ReturnReason="Return Order", then the web service will ignore this value and use the code. This behavior is similar to using Identifier when you don't supply the Name.

  • You don't specify a value for ReturnReason, and if the value that the database cross-references to the meaning is Return, then the web service will use Return for the reason.

The web service uses this logic for each of these sets of attributes.

Coded Attribute Partner Attribute

AccountingRulecode

AccountingRule

CancelReasonCode

CancelReason

ChargeDefinitionCode

ChargeDefinition

ChargeSubtypeCode

ChargeSubType

DemandClassCode

DemandClass

FOBPointcode

FOBPoint

FreightTermsCode

FreightTerms

InvoicingRuleCode

InvoicingRule

OrderedUOMCode

OrderedUOM

PaymentMethodCode

PaymentMethod

PaymentTerm

PaymentTermCode

RequestedFulfillmentOrganizationCode

RequestedFulfillmentOrganizationName

RequestedSupplierCode

RequestedSupplierName

ShipmentPriorityCode

ShipmentPriority

ShippingCarrierCode

ShippingCarrier

ShippingModeCode

ShippingMode

ShippingServiceLevelCode

ShippingServiceLevel

SubInventoryCode

Subinventory

SubstitutionReasonCode

SubstitutionReason

TaxExemptReasonCode

TaxExemptReason

TransactionalCurrencyCode

TransactionalCurrencyName

TransactionLineTypeCode

TransactionLineType

Include Identifiers and Values

Use an attribute that includes the word Identifier in the name to send the identifier, such as Requesting Business Unit Identifier. If you send the identifier and the value for the identifier, then the web service uses the identifier.

Master data includes customers and items. The source system can send different details, depending on whether it uses the same master data and references data that Order Management uses.

  • Uses the same data. The source system can send the Oracle identifier or the values.

  • Doesn't use the same data. The source system can send the identifiers and values that it contains. Order Import Service uses them as keys to look up the cross-reference, depending on whether the key references customer data or product data. If the cross-reference resides in.

    • Oracle Trading Community Model, then resolve it into Oracle customer data

    • Oracle Fusion Product Model, then resolve it into Oracle product data

Each service typically uses a pair of synchronous and asynchronous operations. The service appends the operation name with a value.

  • Sync. The other operation in the pair is asynchronous.

  • Async. The other operation in the pair is synchronous.

For example, GetOrderDetails and GetOrderDetailsAsync is a pair of services. GetOrderDetails is synchronous and GetOrderDetailsAsync is asynchronous.

Process Change Orders and Cancel Orders

Process Change Orders

To modify a sales order, you call a web service with a payload that includes these details.

  • Source transaction system

  • Source transaction identifier

  • Order number and source transaction number of a sales order that Order Management already processed

The web service will process the order as a change order according to the combination of source transaction system and source transaction identifier.

  • Use the same web service that you used to create the sales order. The payload structure for a change order is similar to the payload structure for create order.

  • Design your payload so it sends the modified value for each attribute.

  • Make sure your payload includes all attributes for the order line that you modify.

  • If you don't modify any part of an order line, then you can exclude the entire line from the payload.

Cancel Sales Orders

To cancel a sales order or order line, you call the same web service that you use to create the sales order.

Here are details to include in your payload.

What You Must Cancel Description

Cancel the entire sales order.

Set the OperationCode for the order header to CANCEL. You must also identify the source transaction system and include the source transaction identifier.

Cancel the entire order line.

Send the SourceTransactionLineIdentifier and SourceTransactionScheduleIdentifier for the order. Do one of.

  • Set the OperationCode attribute for the order line to CANCEL.

  • Set the Ordered Quantity attribute to 0.

Cancel part of a shipped order line.

Set the ordered quantity to the quantity that already shipped. For example, if the quantity on the original order line is 10 Each, and if 7 shipped, and if 3 were back ordered, then set the ordered quantity in the payload to 7 Each.

Make sure your payload also includes all other attributes from the original order line.

Example of Canceling Part of an Order Line

Consider an example.

  • Quantity originally ordered equals 100

  • Quantity already shipped equals 40

  • Quantity awaiting shipping or backordered equals 60

Use these values.

Scenario Quantity to Send in Payload for Update Service Description

Your customer needs a revised total quantity of 55.

55

The quantity of 55 in the payload replaces the original quality.

40 already shipped, so order fulfillment cancels 45 of the 60 that are currently awaiting shipping or backordered, leaving 15 that are still awaiting shipping or backordered.

You must cancel the quantity that hasn't shipped.

40

The quantity of 40 in the payload replaces the original quality.

Order fulfillment cancels the 60 that are currently awaiting shipping or backordered.

Assume quantity already shipped is 0, quantity awaiting shipping is 100, and you must cancel the entire quantity.

0

The quantity of 0 in the payload replaces the original quality.

Order fulfillment cancels the 100 that are currently awaiting shipping.

Use Security with Web Services

The web service attaches an LPA security policy to the service and the callback. It includes a hybrid policy.

  • oracle/wss11_saml_or_username_token_with_message_protection_service_policy

This policy supports five different assertions, including this one.

  • oracle/wss_username_token_over_ssl_client_policy

The callback includes an attachment.

  • oracle/wss_username_token_over_ssl_client_policy LPA

Use these settings to call the web service only with SSL (Secure Sockets Layer).

Use Files to Import Source Orders

Use the Order Import Template to import source orders. It helps reduce errors and simplifies order import. It contains a structure that the Oracle database requires. For example, it includes a tab for each database table, and it displays these tabs in a specific sequence.

Automate using files to import source orders. Oracle provides a set of web services you can use to upload the completed import template to the server that hosts Oracle WebCenter Content. You then run a scheduled process that imports the uploaded file to the interface tables, processes them, then imports each interface record as a sales order. For details, see the book Using External Data Integration Services for Oracle ERP Cloud on My Oracle Support.

Here are the parameters you use when you run the scheduled process.

Parameter Value

JobDefinitionName

ImportOrdersJob

JobPackageName

oracle/apps/ess/scm/doo/decomposition/receiveTransform/receiveSalesOrder

Reference

Example Web Service Payloads That Integrate Order Management

Get some example payloads in xml files.

To download the xml files, go to White Papers for Order Management Cloud (Doc ID 2051639.1) at https://support.oracle.com/epmos/faces/DocumentDisplay?id=2051639.1, then download the Example Web Service Payloads attachment.

Example Payloads for the Create Order Operation

Here are some example payloads for the Create Order operation of the Order Import Service. These payloads create sales orders.

Description Payload

Create or submit draft sales orders.

draft_sales_order.xml

submit_draft_order_sync.xml

Include pricing.

single_line_priced_in_source_system.xml

single_line_priced_in_oracle_fusion.xml

Note.

  • The single_line_priced_in_oracle_fusion.xml payload includes the text QP, which is an acronym for Quality Pricing. It indicates that Oracle Fusion Pricing calculates pricing for the sales order.

  • The single_line_priced_in_source_system.xml payload includes the text PREPRICED, which means your source system calculates pricing for the sales order.

Include child entities.

child_entity_transactional_item_attribute.xml

child_entity_sales_credits

child_entity_manual_price_adjustment.xml

child_entity_lot_serial.xml

For new customers.

customer_sync_person.xml

customer_sync_organization.xml

Include extensible flexfields.

sales_order_with_extensible_flexfield.xml

This payload includes the text EFF, which is an acronym for extensible flexfield.

Include billing details.

recurring_billing.xml

Include shipment sets.

shipset_order.xml

Here are some more examples that use the Create Order operation.

Description Payload

Return sales orders.

return_order_with_reference.xml

Cancel sales orders.

cancel_sales_order.xml

Cancel order line.

cancel_order_lines.xml

Example of a successful operation.

successful_response_for_CreateOrder.xml

Example of a failed operation.

failed_response_for_CreateOrder.xml

Example Payloads for the Stage Order Operation

The payloads for the Stage Order operation are identical to the payloads for the Create Order operation except you use stageOrders at the beginning and at the end of the body. For example, the draft_sales_order.xml payload uses stageOrders on lines 3 and 10 for the stage order operation. To use the Create Orders operation, you replace stageOrders on lines 3 and 10 with createOrders.

successful_response_for_StageOrder.xml is an example of a successful response for the Stage Order operation.

Other Examples

Project Details

Use the ProjectDetail tag to include project details. Here's an example.

<ns2:Project xmlns:pjc="http://xmlns.oracle.com/apps/flex/scm/doo/processOrder/pjcDff/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:ProjectDetail xsi:type="pjc:OmSalesOrder">
<pjc:projectId>300100010341182</pjc:projectId>
<pjc:taskId>300100010341193</pjc:taskId>
<pjc:expenditureItemDate>2019-03-20</pjc:expenditureItemDate>
<pjc:expenditureTypeId>300100036998309</pjc:expenditureTypeId>
<pjc:organizationId>204</pjc:organizationId>
</ns2:ProjectDetail>
</ns2:Project>

Attributes You Can Use with Web Services

Get details about the attributes you can include in the request payload when you use the Receive Order Request web service.

For more details about objects and operations you can use, see the relevant sections in Oracle Supply Chain Management Cloud SOAP Web Services for SCM On Oracle Help Center at https://docs.oracle.com/en/cloud/saas/supply-chain-management/20a/oessc/business-object-services.html#orderfulfillmentresponseservice-d23347e42708.

  • Order Fulfillment Response Service

  • Order Information Service

Attributes for the Order Header

Required Attributes You Must Include in Your Payload

Attribute Type Description

BuyingPartyId

Number

Value that identifies the person, company, or organization that placed the source order, sometimes known as the Sold To Customer.

TransactionalCurrencyCode

VARCHAR2

Currency code for pricing the transaction.

TransactionOn

Timestamp

Date and time that the transaction started. This value identifies the date that the customer committed to purchase the items that this source order contains. Order Management uses this date to measure the time required to fulfill the sales order.

RequestingBusinessUnitIdentifier

Number

Value that identifies the internal organization that sold the source order.

SourceTransactionNumber

VARCHAR2

Transaction number that the source system uses.

SourceTransactionSystem

VARCHAR2

Source system that placed the request for fulfillment.

SourceTransactionIdentifier

VARCHAR2

Value that uniquely identifies the transaction.

SourceTransactionRevisionNumber

VARCHAR2

Revision number of the transaction.

For details about the attributes you must include in the order header and other child entities when you use the Order Import service, see the Service section in book SOAP Web Services for Oracle Supply Chain Management Cloud, on Oracle Help Center.

Optional Attributes

Attribute Type Description

BuyingPartyName

VARCHAR2

Name of the person, company, or organization that placed the source order, also known as the Sold To Customer.

BuyingPartyNumber

VARCHAR2

Person, company, or organization number that placed the source order, also known as the Sold To Customer.

BuyingPartyOrigSystemReference

VARCHAR2

Cross reference value for the person, company, or organization number that placed the source order. The customer master in the TCA maintains this value.

BuyingPartyContactId

Number

Value that identifies the person who placed the source order or whose the primary contact for the source order.

BuyingPartyContactName

VARCHAR2

Name of the person who placed the source order or whose the primary contact for the source order.

BuyingPartyContactNumber

VARCHAR2

Contact number for the person who placed the source order or whose the primary contact for the source order.

BuyingPartyContactOrigSystemReference

VARCHAR2

Cross-reference value of the person who placed the source order or whose the primary contact for the source order. The customer master in TCA maintains this value.

CustomerPONumber

VARCHAR2

The purchase order number that the customer sends to identify the source order.

TransactionalCurrencyName

VARCHAR2

Currency name that Order Management must use to price the transaction.

CurrencyConversionType

VARCHAR2

Conversion type for foreign currency.

CurrencyConversionRate

Number

The exchange rate that Order Management must use if it converts the value from one currency to another currency.

CurrencyConversionDate

Date

Currency conversion date.

TransactionDocumentTypeCode

VARCHAR2

Specify the type of request.

  • Sales order

  • Purchase order

  • Internal material transfer

CancelReasonCode

VARCHAR2

Brief text that identifies the cancel reason.

CancelReason

VARCHAR2

Reason for the cancel.

RequestCancelDate

Date

Time and day when the user requested the cancel.

Comments

VARCHAR2

Text that describes the transaction.

RequestingLegalUnitIdentifier

Number

Value that identifies the legal entity that formed a contract with the customer.

RequestingLegalUnit

VARCHAR2

Name of the legal entity that formed a contract with the customer.

OrigSysDocumentReference

VARCHAR2

Document number from the source system.

PartialShipAllowedFlag

VARCHAR2

Specify how to ship the items that the source order contains.

  • true. Ship items in more than one shipment, if necessary.

  • false. Ship all items in a single shipment.

ShipToPartyIdentifier

VARCHAR2

Value that identifies the party that must receive the goods.

ShipToPartyName

VARCHAR2

Name of the party that must receive the goods.

ShipToPartyNumber

VARCHAR2

Number that identifies the party that must receive the goods.

ShipToAddress1

VARCHAR2

Address Line 1 of the ship-to destination.

ShipToPartySiteIdentifier

VARCHAR2

Value that identifies the party site of the ship-to destination, such as 1036.

ShipToAddress2

VARCHAR2

Address Line 2 of the ship-to destination.

ShipToAddress3

VARCHAR2

Address Line 3 of the ship-to destination.

ShipToAddress4

VARCHAR2

Address Line 4 of the ship-to destination.

ShipToCity

VARCHAR2

City of the ship-to destination.

ShipToPostalCode

VARCHAR2

Postal code of the ship-to destination.

ShipToState

VARCHAR2

State of the ship-to destination.

ShipToProvince

VARCHAR2

Province of the ship-to destination.

ShipToCounty

VARCHAR2

County of the ship-to destination.

ShipToAddressOrigSystemReference

VARCHAR2

Cross-reference value of the address for the ship-to destination.

ShipToContactPartyIdentifier

VARCHAR2

Value that identifies the contact for the shipping address.

ShipToContactPartyNumber

VARCHAR2

Contact number for the shipping address.

ShipToContactPartyName

VARCHAR2

Contact name for the shipping address.

ShipToContactPartyOrigSystemReference

VARCHAR2

Cross-reference value of the party contact.

BillToCustomerIdentifier

VARCHAR2

Value that identifies the party that's legally responsible for payment.

BillToPartyName

VARCHAR2

Name of the party that's legally responsible for payment.

BillToPartyNumber

VARCHAR2

Number of the party that's legally responsible for payment.

BillToPartySiteIdentifier

VARCHAR2

Value that identifies the party that's legally responsible for payment.

BillToAddress1

VARCHAR2

Address Line 1 of the party that's legally responsible for payment.

BillToAddress2

VARCHAR2

Address Line 2 of the party that's legally responsible for payment.

BillToAddress3

VARCHAR2

Address Line 3 of the party that's legally responsible for payment.

BillToAddress4

VARCHAR2

Address Line 4 of the party that's legally responsible for payment.

BillToCity

VARCHAR2

City of the party that's legally responsible for payment.

BillToPostalCode

VARCHAR2

Postal Code of the party that's legally responsible for payment.

BillToState

VARCHAR2

State of the party that's legally responsible for payment.

BillToProvince

VARCHAR2

Province of the party that's legally responsible for payment.

BillToAddressOrigSystemReference

VARCHAR2

Cross-reference value for the account site.

BillToCounty

VARCHAR2

County of the party that's legally responsible for payment.

BillToAccountContactIdentifier

VARCHAR2

Value that identifies the contact for the billing address.

BillToAccountContactNumber

VARCHAR2

Contact number for the billing address.

BillToAccountContactOrigSystemReference

VARCHAR2

Cross-reference value of the account contact.

BillToAccountContactName

VARCHAR2

Contact name for the billing address.

PricedOn

Date

The date when the document is priced. Order Management populates this attribute with the system date at the beginning of a pricing process.

FreezePricing

VARCHAR2

Set to true or false.

  • true. The source system prices the sales order, prices are frozen so Oracle Fusion Pricing won't price it, and you must provide data for charges and charge components in the import payload.

  • false. Prices aren't frozen, Oracle Fusion Pricing will price it, and you don't need to provide values for charges and charge components in the import payload..

FreezeShippingCharge

VARCHAR2

Set to true or false.

  • true. The source system calculates shipping charges for the sales order, and prices are frozen so Oracle Fusion Pricing won't calculate shipping charges.

  • false. Shipping charges aren't frozen and Oracle Fusion Pricing will calculate them.

FreezeTax

VARCHAR2

Set to true or false.

  • true. The source system calculates tax charges for the sales order, and prices are frozen so Oracle Fusion Pricing won't calculate tax charges.

  • false. Tax charges aren't frozen and Oracle Fusion Pricing will calculate them.

OperationMode

VARCHAR2

A value of CANCEL for this attribute indicates to cancel the sales order. You can use only CANCEL.

Attributes for Order Lines

Required Attributes

Attribute Type Description

SourceTransactionNumber

VARCHAR2

Transaction number that resides in the source system.

SourceTransactionSystem

VARCHAR2

Name of the source system that placed the request for fulfillment.

SourceTransactionIdentifier

VARCHAR2

Value that uniquely identifies the internal transaction.

SourceTransactionRevisionNumber

VARCHAR2

Revision number of the transaction.

SourceTransactionLineIdentifier

VARCHAR2

Value that uniquely identifies the internal transaction line.

SourceTransactionLineNumber

VARCHAR2

Line number of the transaction line. Order Management uses this value to sort transaction lines.

SourceTransactionScheduleIdentifier

VARCHAR2

Value that uniquely identifies the source transaction schedule number.

SourceTransactionScheduleNumber

VARCHAR2

Line number of a schedule line, shipment line, or subline. The source system assigned this value when it captured the source order in the source system.

ProductIdentifier

Number

Value that uniquely identifies the internal product that Order Management processes to fulfill the sales order.

OrderedQuantity

Number

Quantity of the product that the source system requested.

OrderedUOMCode

VARCHAR2

Code for the unit of measure that the source system requested, such as Unit or Kg.

Optional Attributes

Attribute Type Description

ProductNumber

VARCHAR2

SKU (stock keeping unit) that identifies the product to fulfill.

ProductDescription

VARCHAR2

Display name of the product.

SourceSystemProductReference

VARCHAR2

Cross-reference value of the item.

OrderedUOM

VARCHAR2

Unit of measure of the requested product, such as Unit or Kgs.

RequestedFulfillmentOrganizationIdentifier

Number

Value that identifies the requested fulfillment organization.

RequestedFulfillmentOrganizationCode

VARCHAR2

Code that identifies the requested fulfillment organization.

RequestedFulfillmentOrganizationName

VARCHAR2

Name of the organization that shipped the sales order.

BusinessUnitIdentifier

Number

Value that identifies the business unit.

BusinessUnitName

VARCHAR2

Name of the internal organization that fulfills the sales order.

RequestingBusinessUnitIdentifier

Number

Value that identifies the requesting business unit.

RequestingBusinessUnitName

VARCHAR2

Internal organization that started or captured the transaction.

CancelReasonCode

VARCHAR2

Brief text that identifies the cancel reason.

CancelReason

VARCHAR2

Reason for the cancel request.

SubstitutionAllowedFlag

VARCHAR2

Specify whether Order Management substitutes items during fulfillment.

  • true. Substitute items.

  • false. Don't substitute.

SubstitutionReasonCode

VARCHAR2

Brief text that identifies the substitution reason.

SubstitutionReason

VARCHAR2

Reason for the substitution.

CustomerPONumber

VARCHAR2

Purchase order number that the buying party provides.

CustomerPOLineNumber

VARCHAR2

Line number from the purchase order that the buying party provides.

CustomerPOScheduleNumber

VARCHAR2

Schedule number from the purchase order that the buying party provides.

CustomerProductidentifier

Number

Value that identifies the customer product number.

CustomerProductNumber

VARCHAR2

Number that identifies the product that the customer ordered. This number resides in the customer item table.

CustomerProductDescription

VARCHAR2

Product description of an item.

TransactionLineTypeCode

VARCHAR2

Code that identifies the transaction line type.

TransactionLineType

VARCHAR2

Type of line or action that resides in the source system. Some example values include Buy, Replace with, Return For Credit, Upgrade, and so on.

ParentLineReference

VARCHAR2

Value that identifies the line that's the parent of this line in a configurable product hierarchy, or in any other parent and child relationship.

RootParentLineReference

VARCHAR2

Value that identifies the line that resides at the root of the configurable product hierarchy.

ShippingInstructions

VARCHAR2

Comment text for shipping instructions.

PackingInstructions

VARCHAR2

Comment text for packing instructions.

InvoicingRuleCode

VARCHAR2

Value that identifies the invoicing rule.

InvoicingRule

VARCHAR2

Name of the invoicing rule that determines when to recognize the receivable so that Order Management can invoice it.

AccountingRulecode

VARCHAR2

Brief text that identifies that identifies the accounting rule.

AccountingRule

VARCHAR2

Name of the accounting rule that determines the accounting period to use when recording the revenue distribution for an invoice line.

RequestedShipDate

Date

Date that the customer specified to ship the goods.

RequestedArrivalDate

Date

Date that the customer specified to deliver the goods.

DemandClassCode

VARCHAR2

Brief text that identifies the demand class.

DemandClass

VARCHAR2

Name of the demand class. A demand class can represent.

  • A group of customers, such as government customers or commercial customers

  • Sales channels

  • Regions

  • Different sources of demand, such as retail, mail order, or wholesale

ShippingCarrierCode

VARCHAR2

Brief text that identifies the shipping carrier.

ShippingCarrier

VARCHAR2

Name of the carrier who delivered the goods.

PaymentTerm

VARCHAR2

The payment terms to use for this payment.

PaymentTermCode

VARCHAR2

Brief text that identifies the payment term.

TransactionCategoryCode

VARCHAR2

Brief text that identifies the transaction category.

  • ORDER. Process a new source order.

  • RETURN. Process a return of an existing sales order.

ReturnReasonCode

VARCHAR2

Brief text that identifies the return reason.

ReturnReason

VARCHAR2

Reason why the customer must return the product.

ScheduleShipDate

Date

Date that Order Management scheduled to ship the goods.

ScheduleArrivalDate

Date

Date that Order Management scheduled to deliver the goods.

ShippingServiceLevelCode

VARCHAR2

Brief text that identifies the shipping service level.

ShippingServiceLevel

VARCHAR2

Level of service to use when delivering the product.

ShippingModeCode

VARCHAR2

Brief text that that identifies the shipping mode.

ShippingMode

VARCHAR2

Mode that Order Management used to deliver the shipment.

ShipmentPriorityCode

VARCHAR2

Brief text that identifies the shipment priority.

ShipmentPriority

VARCHAR2

Priority that specifies the urgency to use when shipping the product.

InventoryOrganizationIdentifier

Number

Value that identifies the inventory organization identifier.

InventoryOrganization

VARCHAR2

Name of the inventory organization that owns the product.

FreightTermsCode

VARCHAR2

Brief text that identifies the freight terms.

FreightTerms

VARCHAR2

Terms for paying freight charges, such as paid by shipper, collect, prepaid, and so on.

RequestCancelDate

Date

Date when the customer requested to cancel the source order.

OriginalProductIdentifier

VARCHAR2

Value that identifies the internal product that the customer requested or ordered. Order Management subsequently substituted this product with some other product.

OriginalProductDescription

VARCHAR2

SKU (stock keeping unit) that identifies the product that Order Management fulfills.

OriginalProductNumber

VARCHAR2

Display name of the product that Order Management fulfills.

ShipToPartyIdentifier

VARCHAR2

Value that identifies the ship-to party name.

ShipToPartyName

VARCHAR2

Name of the party that receives the goods.

ShipToPartyNumber

VARCHAR2

Number that identifies the party that receives the goods.

ShipToAddress1

VARCHAR2

Address Line 1 of the ship-to party.

ShipToPartySiteIdentifier

VARCHAR2

Value that identifies the party site that receives the goods, such as 1036.

ShipToAddress2

VARCHAR2

Address Line 2 of the ship-to party.

ShipToAddress3

VARCHAR2

Address Line 3 of the ship-to party.

ShipToAddress4

VARCHAR2

Address Line 4 of the ship-to party.

ShipToCity

VARCHAR2

City of the ship-to party.

ShipToPostalCode

VARCHAR2

Postal Code of the ship-to party.

ShipToState

VARCHAR2

State of the ship-to party.

ShipToProvince

VARCHAR2

Province of the ship-to party.

ShipToCounty

VARCHAR2

County of the ship-to party.

ShipToAddressOrigSystemReference

VARCHAR2

Cross-reference value for the party site.

ShipToContactPartyIdentifier

VARCHAR2

Value that identifies the shipping address of the ship-to contact.

ShipToContactPartyNumber

VARCHAR2

Number of the contact for the shipping address.

ShipToContactPartyName

VARCHAR2

Name of the contact who resides at the shipping address.

ShipToContactPartyOrigSystemReference

VARCHAR2

Cross-reference value for the party contact.

BillToCustomerIdentifier

VARCHAR2

Value that identifies the bill-to customer.

BillToCustomerName

VARCHAR2

Name of the party whose legally responsible for payment.

BillToCustomerNumber

VARCHAR2

Number of the party whose legally responsible for payment.

BillToAccountSiteUseIdentifier

VARCHAR2

Value that identifies the party site whose legally responsible for payment.

BillToAddress1

VARCHAR2

Address Line 1 of the party whose responsible for payment.

BillToAddress2

VARCHAR2

Address Line 2 of the party whose responsible for payment.

BillToAddress3

VARCHAR2

Address Line 3 of the party whose responsible for payment.

BillToAddress4

VARCHAR2

Address Line 4 of the party whose responsible for payment.

BillToCity

VARCHAR2

City of the party whose responsible for payment.

BillToPostalCode

VARCHAR2

Postal code of the party whose responsible for payment.

BillToState

VARCHAR2

State of the party whose responsible for payment.

BillToProvince

VARCHAR2

Province of the party whose responsible for payment.

BillToAddressOrigSystemReference

VARCHAR2

Cross-reference value for the account site.

BillToCounty

VARCHAR2

County of the party whose responsible for payment.

BillToAccountContactIdentifier

VARCHAR2

Value that identifies the bill-to account contact.

BillToAccountContactNumber

VARCHAR2

Number for the contact who resides at the billing address.

BillToAccountContactOrigSystemReference

VARCHAR2

Cross-reference value for the account contact.

BillToAccountContactName

VARCHAR2

Name of the contact who resides at the billing address.

TaxExemptFlag

VARCHAR2

Specify whether to exempt the transaction from taxation.

  • true. Exempt from taxation.

  • false. Don't exempt.

TaxClassificationCode

VARCHAR2

Brief text that identifies the tax classification.

TaxExemptionCertificateNumber

VARCHAR2

Number that identifies the tax exemption certificate that a taxing authority grants for a customer whose tax exempt.

PartialShipAllowedFlag

VARCHAR2

Specify whether Order Management ships the items that the sales order contains in more than one shipment.

  • true. Ship in more than one shipment, if necessary.

  • false. Ship in one shipment.

FulfillmentLineIdentifier

Number

Value that uniquely identifies a fulfillment line. Order Management can use this value to identify the fulfillment line that its referencing in the context of the change.

ShipToRequestRegion

VARCHAR2

Identifies the region of the ship-to request. Global Order Promising uses this attribute to process a sales order according to region.

RequestedSupplierCode

VARCHAR2

Brief text that identifies the supplier name.

RequestedSupplierName

VARCHAR2

Name of the supplier whose responsible for shipping the product. You can specify a supplier according to a contractual obligation in a drop ship flow.

RequestedSupplierNumber

VARCHAR2

Number that identifies the supplier whose responsible for shipping the product. You can specify a supplier according to a contractual obligation in a drop ship flow.

RequestedSupplierSiteCode

VARCHAR2

Brief text that identifies the requested supplier site.

SupplierAddressLine1

VARCHAR2

Address Line 1of the organization that supplies and ships the items.

SupplierAddressLine2

VARCHAR2

Address Line 2 of the organization that supplies and ships the items.

SupplierAddressLine3

VARCHAR2

Address Line 3 of the organization that supplies and ships the items.

SupplierAddressLine4

VARCHAR2

Address Line 4 of the organization that supplies and ships the items.

SupplierAddressCity

VARCHAR2

City of the organization that supplies and ships the items.

SupplierAddressState

VARCHAR2

State of the organization that supplies and ships the items.

SupplierAddressPostalCode

VARCHAR2

Postal code of the organization that supplies and ships the items.

SupplierAddressProvince

VARCHAR2

Province of the organization that supplies and ships the items.

SupplierAddressCounty

VARCHAR2

County of the organization that supplies and ships the items.

SupplierAddressCountry

VARCHAR2

Country of the organization that supplies and ships the items.

Comments

VARCHAR2

Text that the user can use to add details that are related to the order line.

UnitListPrice

Number

List price of the item prior to any discounts and adjustments.

UnitSellingPrice

Number

Selling price of the product with discounts and adjustments applied.

DestinationShipppingOrganizationIdentifier

Number

Value that identifies the organization that receives the shipment.

DestinationShippingLocationIdentifier

Number

Value that identifies the shipment destination.

EarliestAcceptableShipDate

Date

Date that specifies the earliest time that the customer is willing to ship the sales order.

LatestAcceptableShipDate

Date

Date that specifies the latest time that the customer is willing to ship the sales order.

LatestAcceptableArrivalDate

Date

Date that specifies the latest time that the customer is willing to receive the sales order at the ship-to address.

PromiseShipDate

Date

Date that the fulfillment process promised to the customer that the item would ship.

PromiseArrivalDate

Date

Date that the fulfillment process promised to the customer that the item would arrive at the ship-to address.

SubInventoryCode

VARCHAR2

Brief text that identifies the subInventory.

Subinventory

VARCHAR2

Subinventory.

You can update this attribute through a web service but not in the Order Management work area. Order Management doesn't use it during processing but does send it to Oracle Fusion Shipping. Global Order Promising doesn't consider it during scheduling. Order Management doesn't send it to Inventory Management Cloud for reservations.

FOBPointcode

VARCHAR2

Brief text that identifies the FOB point.

FOBPoint

VARCHAR2

Location where the seller is willing to pay for transportation of the goods to the port of shipment, plus loading costs.

ExtendedAmount

Number

Monetary value for the fulfill line quantity.

ShipSetName

VARCHAR2

Name of the shipment set.

DefaultTaxationCountry

VARCHAR2

Name of the country that Order Management uses to calculate tax.

FirstpartyTaxRegistration

Number

Registration number that Order Management sends to the supplier. The supplier uses this number to tax the transaction.

ThirdpartyTaxRegistration

Number

Registration number that the customer specifies in the purchase order.

DocumentSubType

VARCHAR2

Name of the sub type that Order Management uses to calculate tax and tax reporting, depending on the requirements of different countries.

FinalDischargeLocationIdentifier

Number

Final destination location for the purchases that the customer makes.

ProductFiscalCategoryIdentifier

Number

Fiscal category of the product that the tax authority uses. For tax purposes.

ProductType

VARCHAR2

Specify the type of transaction line.

  • Goods

  • Services

ProductCategory

VARCHAR2

Classifies the product for tax purposes. If your deployment doesn't use Oracle Inventory to classify products for tax purposes, then Order Management uses the product category.

TransactionBusinessCategory

VARCHAR2

Category of a transaction that a tax authority might require. For tax purposes.

AssessableValue

Number

Price that a tax authority uses to value a product. For tax purposes.

UserDefinedFiscClass

VARCHAR2

Classification of the transaction into different categories. For tax purposes.

IntendedUseClassificationIdentifier

Number

Identifies the intended use. For tax purposes.

TaxExemptReasonCode

VARCHAR2

Brief text that identifies the tax exempt reason.

TaxExemptReason

VARCHAR2

The reason to grant and take a tax exemption.

ExtendedQuantity

Number

Total quantity for a configured product. This value is a sum of the requested quantity of the components that a configured product contains. The configurator populates and uses this attribute.

ComponentIdPath

VARCHAR2

Path to the inventory item identifier for the parent of this line. The configurator populates and uses this attribute.

IsValidConfiguration

VARCHAR2

Specify whether configuration is valid.

  • true. Configuration is valid.

  • false. Configuration isn't valid. The configurator expects that an application that calls the configurator won't submit the sales order.

The web service populates this attribute only for the root order line. The configurator populates and uses this attribute.

ConfiguratorPath

VARCHAR2

Runtime representation of the path to the Inventory Item Id for the component. The configurator populates and uses this attribute.

ConfigHeaderId

Number

Header Id of the configuration. The configurator populates and uses this attribute.

ConfigRevisionNumber

Number

Revision number of the configuration. The configurator populates and uses this attribute.

OperationMode

VARCHAR2

A value of CANCEL for this attribute indicates to cancel the order line. You can use only CANCEL.

Attributes for Order Preferences

Attribute Type Description

CreateCustomerInformationFlag

VARCHAR2

Specify whether to create details for missing attributes.

  • true. Create the missing attribute. For example, if the Sold-to attribute and the Ship-to attribute are each missing, then create a Sold-to attribute and a Ship-to attribute.

  • false. Don't create the missing attribute.

SubmitFlag

VARCHAR2

Specify whether to submit the sales order if an attribute doesn't contain a value.

  • true. If an attribute contains a value, then submit the sales order.

  • false. If an attribute doesn't contain a value, then don't submit the sales order.

To create a sales order in draft status, the user must send a value of false for each attribute. You can then use the SubmitDraftOrder operation to submit a draft order for processing.

Other Optional Attributes You Can Include in the Request Payload

Source Transaction Details

You can include these optional attributes in the request payload for the source transaction.

Attribute Type Description

SourceTransactionNumber

VARCHAR2

External transaction number.

SourceTransactionSystem

VARCHAR2

Name of the source system that placed the request for fulfillment.

SourceTransactionIdentifier

VARCHAR2

Value that uniquely identifies the internal transaction.

SourceTransactionRevisionNumber

VARCHAR2

Revision number of the transaction.

SourceTransactionLineIdentifier

VARCHAR2

Value that uniquely identifies the internal transaction line.

SourceTransactionScheduleIdentifier

VARCHAR2

Value that uniquely identifies the internal transaction for a schedule, shipment, or subline. The source system assigns this value.

You typically include these attributes when you specify one of these objects.

  • Lot Numbers and serial numbers

  • Sales credits

  • Payments

  • Attachments

  • Document references

  • Transaction items

  • Charges

  • Charge components

Lot Numbers and Serial Numbers

You can include these optional attributes in the request payload to define lot numbers and serial numbers.

Attribute Type Description

SourceTransactionLotIdentifier

VARCHAR2

Value that uniquely identifies the internal lot. The source system assigns this value.

LotNumber

VARCHAR2

Number assigned to a quantity of items for identification purposes. A lot number is an identification number that a manufacturer assigns to a quantity of material, typically for quality control. Some manufacturers combine the lot number with the serial number to form an identification number.

SerialNumberFrom

VARCHAR2

Starting serial number of a range of serial numbers.

SerialNumberTo

VARCHAR2

Ending serial number of a range of serial numbers.

ItemRevisionNumber

VARCHAR2

Number that identifies the revision.

LocatorIdentifier

Number

Value that identifies the locator where Order Management ships the item from or received into.

Sales Credits

You can include these optional attributes in the request payload to define sales credits.

Attribute Type Description

SourceTransactionSalesCreditIdentifier

VARCHAR2

Value that uniquely identifies the internal sales credit. The source system assigns this value.

SalesPersonIdentifier

Number

Value that uniquely identifies the internal salesperson. The source system assigns this value.

SalesCreditTypeCode

VARCHAR2

Brief text that identifies the sales credit type.

SalesCreditTypeReference

VARCHAR2

Foreign key that references the sales credit type. This type is Revenue or Non Revenue.

Percent

Number

Number that specifies the sales credit percentage for a salesperson.

Payments

You can include these optional attributes in the request payload to define payments.

Attribute Type Description

PaymentMethodCode

VARCHAR2

Brief text that identifies the payment method.

PaymentMethod

VARCHAR2

Payment method that's associated with the payment instrument for the customer account.

PaymentTransactionIdentifier

Number

Value that identifies the payment details. The source system contains this value.

PaymentSetIdentifier

Number

Value that uniquely identifies a group of payments that belong to one prepaid order. If the set identifies a prepayment, then the foreign key references billing.

SourceTransactionPaymentIdentifier

VARCHAR2

Value that uniquely identifies the internal payment. The source system assigns this value.

Attachments

You can include these optional attributes in the request payload to define attachments.

Attribute Type Description

Title

VARCHAR2

Title of the document.

FileContent

VARCHAR2

Mime type for BLOB (Binary Large OBject) attachment.

FileName

VARCHAR2

File name of the attached document. If the attachment is a URL, then Order Management doesn't use this attribute.

Data

BlobDomain

Data that the attachment contains.

Description

VARCHAR2

Description of the attachment.

URL

VARCHAR2

URL.

DataTypeCode

VARCHAR2

Type of attachment.

Document References

You can include these optional attributes in the request payload to define document references. The web service currently accepts only the original sales order or order line reference when creating a return line for the document reference entity.

Attribute Type Description

DocumentReferenceType

VARCHAR2

Type of business document or object that the source order references, such as asset, sales order, or purchase order.

DocumentIdentifier

VARCHAR2

Value that uniquely identifies the document.

DocumentAdditionalIdentifier

VARCHAR2

Value that identifies more qualifiers for the ID. Used when multipart keys are present.

DocumentNumber

VARCHAR2

User-friendly number that identifies the document, such as asset number, sales order number, or purchase order number.

DocumentAdditionalNumber

VARCHAR2

Number that identifies the document. You can use it as another way to identify the object instance. You can use it to capture more identifying details, as necessary.

DocumentLineIdentifier

VARCHAR2

Value that uniquely identifies the document line. Order Management creates this value internally.

DocumentAdditionalLineIdentifier

VARCHAR2

Value that identifies more qualifiers for the document line. Used when multipart keys are present.

DocumentLineNumber

VARCHAR2

User-friendly number that identifies the document line, such as the line number in a sales order, or the line number in a purchase order.

DocumentAdditionalLineNumber

VARCHAR2

Number that identifies the document line. You can use it as another way to identify the object instance. You can use it to capture more identifying details, as necessary.

DocumentSubLineIdentifier

VARCHAR2

Value that uniquely identifies the document subline. Order Management creates this value internally.

DocumentAdditionalSubLineIdentifier

VARCHAR2

Value that identifies more qualifiers for the subline. Used when multipart keys are present.

DocumentSubLineNumber

VARCHAR2

User-friendly number that identifies the subline.

DocumentAdditionalSubLineNumber

VARCHAR2

Number that identifies the document subline. You can use it as another way to identify the object instance. You can use it to capture more identifying details, as necessary.

Transaction Items

You can include these optional attributes in the request payload to define transaction items.

Attribute Type Description

TransactionAttributeName

VARCHAR2

Item attribute name.

CharacterValue

VARCHAR2

Item attribute value of type character.

NumberValue

Number

Item attribute value of type number.

DateValue

Date

Item attribute value of type date.

TimestampValue

Timestamp

Item attribute value of type time.

Charges

You can include these optional attributes in the request payload to define charges.

Attribute Type Description

BatchIdentifier

Number

Number that identifies the batch.

ChargeDefinitionCode

VARCHAR2

Brief text that identifies the charge definition.

ChargeDefinition

VARCHAR2

Value for the charge definition entity. A charge definition defines the price type, charge type, and the charge subtype. Order Management typically denormalizes these objects on this entity.

ChargeSubtypeCode

VARCHAR2

Brief text that identifies the charge subtype.

ChargeSubType

VARCHAR2

Type of charge, defined for this configuration to aggregate totals.

  • Goods sale

  • Service sale

  • Financing compared to lease

  • Shipping charges

  • Restocking penalties

  • Special charges

The Pricing Engine returns the charge value for each line.

ParentEntityCode

VARCHAR2

Parent entity of the charge.

  • Line

  • Line Coverage

ParentEntityId

Number

ID of the parent entity of the charge.

PriceTypeCode

VARCHAR2

Price type of a charge.

  • One-time

  • Recurring

PricedQuantity

Number

The priced quantity. This quantity equals Line.RequestedQuantity for simple products.

PricedQuantityUOMCode

VARCHAR2

Brief text that identifies the UOM for the priced quantity. For example, Ton. Values for this attribute come from PIM (Product Information Management), or a similar service that Order Management provides.

PrimaryFlag

string

Specify whether this charge is the primary charge.

  • true. Primary charge.

  • false. Not the primary charge.

ApplyTo

long

Specify whether to apply a charge to the item, shipping, or return.

RollupFlag

VARCHAR2

Specify whether this charge is a rollup charge or an aggregate charge.

  • true. Rollup charge.

  • false. Aggregate charge.

SourceChargeIdentifier

VARCHAR2

Value that uniquely identifies the internal charge. The order capture system assigns this value.

Charge Components

You can include these optional attributes in the request payload to define charge components.

Attribute Type Description

ChargeCurrencyCode

VARCHAR2

Brief text that identifies the currency that the charge component uses. Order Management uses this code to standardize service.

HeaderCurrencyCode

VARCHAR2

Brief text that identifies the currency that the header uses. Order Management uses this code to standardize service.

HeaderCurrencyExtendedAmount

Number

Extended amount in the header currency.

PriceElementCode

Number

Brief text that identifies the price element, such as LISTPRICE, NETPRICE, and so on.

SequenceNum

Number

Sequence number for the charge component.

PriceElementUsageCode

VARCHAR2

Brief text that specifies how to use the charge component. A QP lookup provides the values for this attribute. Order Management comes predefined to use one of these values.

  • List Price

  • Invoice Price

ChargeCurrencyUnitPrice

Number

Price or adjustment for each unit in the charge currency for the UOM that the order line uses.

HeaderCurrencyUnitPrice

Number

Price or adjustment for each unit in the charge currency for the UOM that the header uses.

RollupFlag

VARCHAR2

Specifies a charge component as a rollup value or aggregate value for the element code of the charge component price.

SourceParentChargeComponentId

VARCHAR2

Identifier for the charge component for the contributing charge. Order Management uses this attribute only for a charge component where the parent charge is a rollup charge.

SourceChargeIdentifier

VARCHAR2

Value that uniquely identifies the internal charge. The source system assigns this value.

SourceChargeComponentIdentifier

VARCHAR2

Value that uniquely identifies the internal charge component. The source system assigns this value.

Operations and Attributes You Can Use with the Receive Order Request Service

Get details about operations and attributes you can use with the Receive Order Request Service when you integrate Order Management Cloud with other systems.

Operation Description Input Payload

ProcessOrderRequest

Submit a sales order to start a transformation.

Not applicable

SubmitDraftOrder

Create a sales order in a draft status, or create and submit a sales order according to the submitFlag in the SDO.

Not applicable

RequestHold

Request to put the sales order or fulfillment process on hold.

RequestHoldProcessRequest

ReleaseHold

Release a hold that's currently holding a sales order or fulfillment process.

ReleaseHoldProcessRequest

GetAvailabilityCheck

Get the supply of an item that's currently available in an organization or supplier.

GetAvailabilityCheckProcessRequ

ReleasePausedTasks

Release paused tasks according to a combination of search parameters.

ReleasePausedEventTaskRequest

CheckAvailability

Allow an order capture system to get, view, and analyze the availability of a sales order item and the promising options for this item.

CheckAvailabilityInput

GetOrderDetails

Allow an order capture system to get and to view a fulfillment order and orchestration plan details.

GetOrderDetailsProcessRequest

ProcessOrderRequestSync

Submit a sales order to start transformation.

Not applicable

SubmitDraftOrderSync

Create a sales order in a draft status, or create and submit a sales order according to the submitFlag in the SDO.

Not applicable

GetAvailabilityCheckSync

Get the supply of an item that's currently available in an organization or supplier.

GetAvailabilityCheckProcessRequ

GetOrderDetailsSync

Allow an order capture system to get and to view a fulfillment order and orchestration plan details.

GetOrderDetailsProcessRequest

ReleasePausedTasks Operation

The ReleasePausedTasks operation releases paused tasks according to a combination of search parameters. You can use it only as an asynchronous web service. You must include these attributes in a request that uses ReleasePausedTasks.

Attribute Type Required Description

SourceSystem

String

Yes

Source system that provides the release pause request.

EventName

String

Yes

Name of the pause event to release.

InventoryItemId

Long

Yes

Item identifier.

OrderNumber

String

Yes

Sales order number.

LineNumber

Long

Yes

Order line number.

FulfillLineNumber

Long

Yes

Number of the order fulfillment line.

SoldToCustomerId

Long

Yes

Customer identifier.

FulfillOrgId

Long

Yes

Warehouse identifier.

PauseTaskId

Long

Yes

Paused task identifier.

FromOrderDate

DateTime

Yes

Filter sales orders that occur on or after FromOrderDate.

ToOrderDate

DateTime

Yes

Filter sales orders that occur on or before ToOrderDate.

FromScheduledShipDate

DateTime

Yes

Filter sales orders that are scheduled to ship on or after FromScheduledShipDate.

ToScheduledShipDate

DateTime

Yes

Filter sales orders that are scheduled to ship on or before ToScheduledShipDate.

FromPauseWaitUntilDate

DateTime

Yes

Filter pause tasks that are scheduled to release on or after FromPauseWaitUntilDate.

ToPauseWaitUntilDate

DateTime

Yes

Filter pause tasks that are scheduled to release on or before ToPauseWaitUntilDate.

SourceOrderSystem

String

Yes

Source system that provides the source order.

SourceOrderNumber

String

Yes

Order number in the source system.

TaskInstanceId

Long

Yes

Task Instance Identifier.

ReleasePausedTasks provides this response.

Attribute Type Description

NumberOfTasksReleased

Long

Number of tasks released.

ErrorMessage

String

Error message if the service doesn't complete successfully.

ReturnStatus

String

Return status.

CheckAvailability Operation

The CheckAvailability operation allows an order capture system to get, view, and analyze the availability of a sales order item and the promising options for this item. You can use it only as an asynchronous web service. An asterisk ( * ) in the Required column indicates a group of attributes. You must include at least one attribute from the group. You can use these attributes.

Fully Qualified Name of the Payload Attribute Attribute Type Required Description

CheckAvailabilityInput SourceOrderSystem

SourceOrderSystem

String

Yes

Source system.

CheckAvailabilityInput PromisingSet

Promising Set

Group

No

Promising set.

CheckAvailabilityInput PromisingLine

Promising Line

Group

No

List of promising line attributes in the shipment set. Each promising line contains the attributes of the promising line attribute.

CheckAvailabilityInput PromisingModel

PromisingModel

Group

No

Groups promising lines into a configure-to order (CTO) model.

CheckAvailabilityInput PromisingSet

Promising Set

Group

No

Groups promising lines into a shipment set.

CheckAvailabilityInput PromisingSet SetName

SetName

String

Conditional

Name of the shipment set. Required only if you also use promising set.

CheckAvailabilityInput PromisingSet PromisingLine

Promising Line

Group

No

List of promising line attributes that the shipment set contains. Each promising line contains the attributes of the promising line attribute.

CheckAvailabilityInput PromisingModel

PromisingModel

Group

No

Groups promising lines into a configure-to order (CTO) model.

CheckAvailabilityInput PromisingModel RootParentFulfillId

RootParentFulfillId

String

Conditional

Root parent line of the model. Required only if you also use the promising model.

CheckAvailabilityInput PromisingModel ModelType

ModelType

String

Conditional

Type of model. Valid values include ATO (assemble-to order) or PTO-SMC. Required only if you also use the promising model.

CheckAvailabilityInput PromisingModel IncludedItemsFlag

IncludedItemsFlag

Boolean

No

Indicates whether to provide items of the pick-to order (PTO) model as input. Valid values include True or False. If False, Order Management determines the items internally. Default value is True.

CheckAvailabilityInput PromisingModel PromisingLine

Promising Line

Group

No

List of promising line attributes that the model contains. Each promising line includes the same set of attributes that the promising line attribute contains.

CheckAvailabilityInput PromisingLine

PromisingLine

Group

No

Groups the list of attributes that you can specify for the check availability service.

CheckAvailabilityInput PromisingLine PromisingLineIdentifier

PromisingLineIdentifier

String

Yes

Unique identifier for the order line.

CheckAvailabilityInput PromisingLine MasterOrganization

MasterOrganization

String

No

Not used.

CheckAvailabilityInput PromisingLine InventoryOrganization

InventoryOrganization

String

Yes

Item validation organization.

CheckAvailabilityInput PromisingLine ProductName

ProductName

String

No

Not used.

CheckAvailabilityInput PromisingLine RequestedItemId

RequestedItemId

String

Yes

Requested Item.

CheckAvailabilityInput PromisingLine PromisingType

PromisingType

String

Yes

Used with the requested date to determine whether its the Requested Ship Date from the warehouse or the Requested Delivery Date for the ship-to address. Valid values include Ship or Arrival.

CheckAvailabilityInput PromisingLine RequestedDate

RequestedDate

Date

Yes

Date when the item is requested to ship or deliver.

CheckAvailabilityInput PromisingLine RequestedQuantity

RequestedQuantity

Double

Yes

Requested quantity of the item.

CheckAvailabilityInput PromisingLine RequestedQuantityUOM

RequestedQuantityUOM

String

Yes

Unit of measure in the item quantity that's requested.

CheckAvailabilityInput PromisingLine DemandClass

DemandClass

String

No

Demand class of the order line.

CheckAvailabilityInput PromisingLine DeliveryLeadTime

DeliveryLeadTime

Double

No

Default value for the delivery lead time to use when calculating the ship date or arrival date. This value applies only if you don't specify Carrier, Mode, or Service Level. Used in conjunction with DeliveryCostPerUnit.

CheckAvailabilityInput PromisingLine DeliveryCostPerUnit

DeliveryCostPerUnit

Double

No

Delivery cost for each unit of the delivered item. This value applies only if you don't specify Carrier, Mode, or Service Level. Used in conjunction with DeliveryLeadTime.

CheckAvailabilityInput PromisingLine UnitPrice

UnitPrice

Double

Yes

Unit price of the requested item.

CheckAvailabilityInput PromisingLine EarliestAcceptableDate

EarliestAcceptableDate

Date

No

Earliest date when the item can ship or deliver.

CheckAvailabilityInput PromisingLine LatestAcceptableDate

LatestAcceptableDate

Date

No

Latest date when the item can ship or deliver.

CheckAvailabilityInput PromisingLine RequestedCarrier

RequestedCarrier

String

No

Carrier to use for the shipment.

CheckAvailabilityInput PromisingLine RequestedServiceLevel

RequestedServiceLevel

String

No

Level of service of the shipment.

CheckAvailabilityInput PromisingLine RequestedMode

RequestedMode

String

No

Mode of transport of the shipment.

CheckAvailabilityInput PromisingLine SubstitutionsAllowed

SubstitutionsAllowed

Boolean

Yes

Determines whether to allow substitutions. Valid values include True or False.

CheckAvailabilityInput PromisingLine SplitsAllowed

SplitsAllowed

Boolean

Yes

Determines whether the line can split into smaller quantities across dates or source of supply for fulfilling the request. Valid values include True or False.

CheckAvailabilityInput PromisingLine GenerateAlternateAvailability

GenerateAlternateAvailability

Boolean

Yes

Determines whether to create alternative availability options. Valid values include True or False.

CheckAvailabilityInput PromisingLine AlternateAvailabilityBasis

AlternateAvailabilityBasis

String

No

Used to sort the alternate options according to fastest delivery or cost. Valid values include Delivery or Cost. Default value is Delivery.

CheckAvailabilityInput PromisingLine GeneratePegging

GeneratePegging

Boolean

Yes

Determines whether to create pegging. Valid values include True or False.

CheckAvailabilityInput PromisingLine MaxNumberOfAvailabilities

MaxNumberOfAvailabilities

Integer

No

Maximum number of alternative availability options to provide.

CheckAvailabilityInput PromisingLine MinPromiseQuantity

MinPromiseQuantity

Double

No

Not used currently.

CheckAvailabilityInput PromisingLine MinPromisePercentage

MinPromisePercentage

Integer

No

Not used currently.

CheckAvailabilityInput PromisingLine RequestedDropShipSupplier

RequestedDropShipSupplier

String

No

Supplier chosen to fulfill the request. You can specify only one supplier or one warehouse.

CheckAvailabilityInput PromisingLine RequestedDropShipSupplierSite

RequestedDropShipSupplierSite

String

No

Site of the supplier. You can specify this value only if you also choose the supplier.

CheckAvailabilityInput PromisingLine InternalOrderType

InternalOrderType

String

No

Type of internal order. Valid values include TO or ISO.

CheckAvailabilityInput PromisingLine ParentFulfillId

ParentFulfillId

String

Conditional

Parent line of the current order line. Used only for configure-to-order (CTO) models. If the Promising Line resides in a promising model, then this attribute is required.

CheckAvailabilityInput PromisingLine ConfiguredItem

ConfiguredItem

String

No

Configuration item of an assemble-to-order (ATO) model. Used only for configure-to-order (CTO) models.

CheckAvailabilityInput PromisingLine DestinationOrgId

DestinationOrgId

String

No

Destination organization of an internal order.

CheckAvailabilityInput PromisingLine RequestedShipFromOrg InstanceId

InstanceId

String

No

Instance where the warehouse is defined.

CheckAvailabilityInput PromisingLine RequestedShipFromOrg OrgId

OrgId

String

No

Warehouse (inventory organization) chosen to fulfill the request. You can specify only one supplier or one warehouse.

CheckAvailabilityInput PromisingLine MinSplitQuantity

MinSplitQuantity

Double

No

Minimum quantity that must be available in the first delivery when splitting the order line.

CheckAvailabilityInput PromisingLine MinSplitPercentage

MinSplitPercentage

Integer

No

Minimum quantity as a percentage of the ordered quantity that must be available in the first delivery when splitting the order line.

CheckAvailabilityInput PromisingLine CustomerAccountId

CustomerAccountId

String

No

Sold-to customer. Use only prior to release 9 of Order Management. Use Party for release 9 and higher.

CheckAvailabilityInput PromisingLine CustomerShipTo ShipToSiteId

ShipToSiteId

String

No

Ship-to customer Site. Use only prior to release 9 of Order Management. Use ShipTo PartySite for release 9 and higher.

CheckAvailabilityInput PromisingLine CustomerShipTo RequestedRegion

RequestedRegion

String

Yes*

Region that receives the item. Sold To Party and Ship To Party Site, or RequestedRegion, is required.

CheckAvailabilityInput PromisingLine PartyInfo PartyId

PartyId

String

Yes*

Sold-to party. If you provide Sold-to Party, then you must also provide Ship-to Party Site.

CheckAvailabilityInput PromisingLine PartyInfo ShipToPartySiteId

ShipToPartySiteId

String

Yes*

Ship-to party site. Sold To Party and Ship To Party Site, or RequestedRegion, is required.

CheckAvailability provides this response.

Fully Qualified Name of the Payload Attribute Attribute Type Description

checkAvailabilityOutput PromisingResult PromisingLineSetReply

PromisingLineSetReply

Group

Groups the promising result for promising lines in a shipment set.

checkAvailabilityOutput PromisingResult PromisingModelReply

PromisingModelReply

Group

Groups the promising result for promising lines in a configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingLineReply

PromisingLineReply

Group

Groups the promising result for a promising line.

checkAvailabilityOutput PromisingResult PromisingLineSetReply

PromisingLineSetReply

Group

Groups the promising result for promising lines in a shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply SetId

SetId

String

Name of the shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply NumberOfAltOptions

NumberOfAltOptions

Integer

Number of alternate availability options.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption

PromisingLineSetReply > Default AvailabilitySetOption

Group

Groups the default availability option of the promising result for promising lines in a shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption PromisingLineSetResult ExpectedGroupShipDate

ExpectedGroupShipDate

Date

Expected date when the shipment set will ship.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption PromisingLineSetResult ExpectedGroupArrivalDate

ExpectedGroupArrivalDate

Date

Not used.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption PromisingLineSetResult PromisingLineResult

PromisingLineResult

Group

Promising result for the list of promising line attributes in the shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions

PromisingLineSetReply AlternateAvailabilitySetOptions

Group

Groups the alternate availability options of the promising result for promising lines in a shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions PromisingLineSetResult ExpectedGroupShipDate

ExpectedGroupShipDate

Date

Date when the shipment set is expected to ship.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption PromisingLineSetResult ExpectedGroupArrivalDate

ExpectedGroupArrivalDate

Date

Not used.

checkAvailabilityOutput PromisingResult PromisingLineSetReply DefaultAvailabilitySetOption PromisingLineSetResult PromisingLineResult

PromisingLineResult

Group

Promising result for the list of promising line attributes in the shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions

PromisingLineSetReply > AlternateAvailabilitySetOptions

Group

Groups the alternate availability options of the promising result for promising lines in a shipment set.

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions PromisingLineSetResult ExpectedGroupShipDate

ExpectedGroupShipDate

Date

Date when the shipment set is expected to ship.

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions PromisingLineSetResult ExpectedGroupArrivalDate

ExpectedGroupArrivalDate

Date

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineSetReply AlternateAvailabilitySetOptions PromisingLineSetResult PromisingLineResult

PromisingLineResult

Group

Promising result for the list of promising line attributes in the shipment set.

checkAvailabilityOutput PromisingResult PromisingModelReply

PromisingModelReply

Group

Groups the promising result for promising lines in a configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingModelReply RootParentFulfillId

RootParentFulfillId

String

Root parent of the model.

checkAvailabilityOutput PromisingResult PromisingModelReply NumberOfAltOptions

NumberOfAltOptions

Integer

Number of alternate availability options.

checkAvailabilityOutput PromisingResult PromisingModelReply DefaultAvailabilityModelOption

PromisingModelReply->DefaultAvailabilityModelOption

Group

Groups the default availability option of the promising result for promising lines in a configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingModelReply DefaultAvailabilityModelOption PromisingLineModelResult RootParentFulfillId

RootParentFulfillId

String

Root parent of the model.

checkAvailabilityOutput PromisingResult PromisingModelReply DefaultAvailabilityModelOption PromisingLineModelResult ErrorCode

ErrorCode

String

Error code to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingModelReply DefaultAvailabilityModelOption PromisingLineModelResult ErrorMessage

ErrorMessage

String

Error message to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingModelReply DefaultAvailabilityModelOption PromisingLineModelResult PromisingLineResult

PromisingLineResult

Group

Promising result for the list of promising line attributes in the configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingModelReply AlternateAvailabilityModelOptions

PromisingModelReply->AlternateAvailabilityModelOptions

Group

Groups the alternate availability options of the promising result for promising lines in a configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingModelReply AlternateAvailabilityModelOptions PromisingLineModelResult RootParentFulfillId

RootParentFulfillId

String

Root parent of the model.

checkAvailabilityOutput PromisingResult PromisingModelReply AlternateAvailabilityModelOptions PromisingLineModelResult ErrorCode

ErrorCode

String

Error code to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingModelReply AlternateAvailabilityModelOptions PromisingLineModelResult ErrorMessage

ErrorMessage

String

Error message to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingModelReply AlternateAvailabilityModelOptions PromisingLineModelResult PromisingLineResult

PromisingLineResult

Group

Promising result for the list of promising line attributes in the configure-to order (CTO) model.

checkAvailabilityOutput PromisingResult PromisingLineReply

PromisingLineReply

Group

Groups the promising result for a promising line.

checkAvailabilityOutput PromisingResult PromisingLineReply NumberOfAltOptions

NumberOfAltOptions

Integer

Number of alternate availability options.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption

PromisingLineReply->DefaultAvailabilityOption

Group

Groups the default availability option of the promising result for a promising line.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption OptionRank

OptionRank

Integer

Rank of the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption OptionSummary

OptionSummary

String

Determines whether the summary of the availability option is available.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult

PromisingLineResult

Group

Groups the alternate availability options of the promising result for a promising line.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult PromisingLineIdentifier

PromisingLineIdentifier

String

Line identifier.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult TotalPrice

TotalPrice

Double

Total price of the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult TotalProfit

TotalProfit

Double

Total profit when using the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult TotalMargin

TotalMargin

Double

Total margin when using the availability.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult TotalValue

TotalValue

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfSplits

NumberOfSplits

Integer

Number of split shipments that the availability option recommends.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfSubstitutions

NumberOfSubstitutions

Integer

Number of item substitutions that the availability option recommends.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult FillRate

FillRate

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfAtpItems

NumberOfAtpItems

Integer

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfCtpItems

NumberOfCtpItems

Integer

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult SourcingRule

SourcingRule

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail CustomerAccountId

CustomerAccountId

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail CustomerShipToSiteId

CustomerShipToSiteId

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail RequestedRegion

RequestedRegion

String

Region that requested the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail PartyId

PartyId

String

Sold-to party of the customer.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ShipToPartySiteId

ShipToPartySiteId

String

Ship-to party site of the customer.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail InternalSalesOrderDestOrg InstanceId

InstanceId

String

Instance where the warehouse is defined.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail InternalSalesOrderDestOrg OrgId

OrgId

String

Warehouse that supplies the item that will ship.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail PromisingStatus

PromisingStatus

String

Determines whether the request is met completely or not completely.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail RequestedDate

RequestedDate

Date

Date when the item is requested to ship or deliver.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail PromisingType

PromisingType

String

Determines whether to set the requested date to the Requested Ship Date from the warehouse, or to the Requested Delivery Date to the ship-to address. Valid Values include Ship or Arrival.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedArrivalDate

ExpectedArrivalDate

Date

Expected date to deliver the item to the customer address.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedShipDate

ExpectedShipDate

Date

Expected date to ship the item from the warehouse or the supplier.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedPickDate

ExpectedPickDate

Date

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail RequestedItemId

RequestedItemId

String

Item requested.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedAvailableItem

ExpectedAvailableItem

String

Expected item to ship. If an item substitution occurs, then this attribute references the item substitution instead of the requested item.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedAvailabilityOnRequestedDate

ExpectedAvailabilityOnRequestedDate

Double

Expected item availability on the request date.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedAvailableQuantity

ExpectedAvailableQuantity

Double

Expected item quantity that's available through the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedAvailableQuantityUOM

ExpectedAvailableQuantityUOM

String

Unit of Measure of the Expected Available Quantity.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedDropShipSupplier

ExpectedDropShipSupplier

String

Supplier that the availability option recommends to supply the item that ships. The availability option recommends only one warehouse or one supplier at one point in time.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedDropShipSupplierSite

ExpectedDropShipSupplierSite

String

Site of the supplier that the availability option recommends to ship the item.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedMode

ExpectedMode

String

Mode of transport that the availability option recommends for the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedService

ExpectedService

String

Level of service that the availability option recommends for the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedCarrier

ExpectedCarrier

String

Carrier who ships the item.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail CarrierCalendar

CarrierCalendar

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedDemandClass

ExpectedDemandClass

String

Demand class.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedTotalFulfilmentCost

ExpectedTotalFulfilmentCost

Double

Expected total fulfillment cost.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedShippingCost

ExpectedShippingCost

Double

Expected shipping cost.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedMargin

ExpectedMargin

Double

Expected margin.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail Price

Price

Double

Unit price of the item.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail Profit

Profit

Double

Profit projected.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail Value

Value

Double

Value projected.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail LineFillRate

LineFillRate

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ErrorCode

ErrorCode

String

Error code to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ErrorMessage

ErrorMessage

String

Error message to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail ExpectedShipFromOrg

ExpectedShipFromOrg

String

Warehouse that the availability option recommends to ship the item.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions

PromisingLineReply->AlternateAvailabilityOptions

Group

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions OptionRank

OptionRank

Integer

Rank of the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions OptionSummary

OptionSummary

String

Determines whether the summary of the availability option is available.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult`

PromisingLineResult

Group

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult PromisingLineIdentifier

PromisingLineIdentifier

String

Line identifier.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult TotalPrice

TotalPrice

Double

Total price of the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult TotalProfit

TotalProfit

Double

Total profit when using the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult TotalMargin

TotalMargin

Double

Total margin when using the availability.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult TotalValue

TotalValue

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfSplits

NumberOfSplits

Integer

Number of split shipments that the availability option recommends.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfSubstitutions

NumberOfSubstitutions

Integer

Number of item substitutions that the availability option recommends.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult FillRate

FillRate

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfAtpItems

NumberOfAtpItems

Integer

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfCtpItems

NumberOfCtpItems

Integer

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult SourcingRule

SourcingRule

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail CustomerAccountId

CustomerAccountId

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail CustomerShipToSiteId

CustomerShipToSiteId

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail RequestedRegion

RequestedRegion

String

Region that requested the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail PartyId

PartyId

String

Sold-to party of the customer.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ShipToPartySiteId

ShipToPartySiteId

String

Ship-to party site of the customer.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail InternalSalesOrderDestOrg InstanceId

InstanceId

String

Instance where the warehouse is defined.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail InternalSalesOrderDestOrg OrgId

OrgId

String

Warehouse that supplies the item that will ship.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail PromisingStatus

PromisingStatus

String

Determines whether the request is met completely or not completely.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail RequestedDate

RequestedDate

Date

Date when the item is requested to ship or deliver.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail PromisingType

PromisingType

String

Determines whether to set the requested date to the Requested Ship Date from the warehouse, or to the Requested Delivery Date to the ship-to address. Valid Values include Ship or Arrival.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedArrivalDate

ExpectedArrivalDate

Date

Expected date to deliver the item to the customer address.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedShipDate

ExpectedShipDate

Date

Expected date to ship the item from the warehouse or the supplier.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedPickDate

ExpectedPickDate

Date

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail RequestedItemId

RequestedItemId

String

Item requested.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedAvailableItem

ExpectedAvailableItem

String

Expected item to ship. If an item substitution occurs, then this attribute references the item substitution instead of the requested item.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedAvailabilityOnRequestedDate

ExpectedAvailabilityOnRequestedDate

Double

Expected item availability on the request date.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedAvailableQuantity

ExpectedAvailableQuantity

Double

Expected item quantity that's available through the availability option.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedAvailableQuantityUOM

ExpectedAvailableQuantityUOM

String

Unit of Measure of the Expected Available Quantity.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedDropShipSupplier

ExpectedDropShipSupplier

String

Supplier that the availability option recommends to supply the item that ships. The availability option recommends only one warehouse or one supplier at one point in time.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedDropShipSupplierSite

ExpectedDropShipSupplierSite

String

Site of the supplier that the availability option recommends to ship the item.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedMode

ExpectedMode

String

Mode of transport that the availability option recommends for the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedService

ExpectedService

String

Level of service that the availability option recommends for the shipment.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedCarrier

ExpectedCarrier

String

Carrier who ships the item.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail CarrierCalendar

CarrierCalendar

String

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedDemandClass

ExpectedDemandClass

String

Demand class.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedTotalFulfilmentCost

ExpectedTotalFulfilmentCost

Double

Expected total fulfillment cost.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedShippingCost

ExpectedShippingCost

Double

Expected shipping cost.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedMargin

ExpectedMargin

Double

Expected margin.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail Price

Price

Double

Unit price of the item.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail Profit

Profit

Double

Projected profit.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail Value

Value

Double

Projected value.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail LineFillRate

LineFillRate

Double

Not applicable

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ErrorCode

ErrorCode

String

Error code to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ErrorMessage

ErrorMessage

String

Error message to use if an error occurs.

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail ExpectedShipFromOrg

ExpectedShipFromOrg

String

Warehouse that the availability option recommends to ship the item.

GetAvailabilityCheck and GetAvailabilityCheckSync Operations

The GetAvailabilityCheck operation and the GetAvailabilityCheckSync operation gets the supply of an item that's currently available in an organization or supplier. You can use them as a synchronous or asynchronous web service. You must include these required attributes in a request that uses GetAvailabilityCheck or GetAvailabilityCheckSync.

Attribute Type Required Description

SourceOrderSystem

String

Yes

Source order system.

MasterOrganization

String

Yes

Item validation organization.

BusinessUnit

String

Yes

Business unit.

ItemEntry

Group

No

One or more repetitions.

ItemEntry

Group

No

One or more repetitions.

ItemId

String

Yes

Item to reference when determining supply availability.

RequestedDate

Date

Yes

Date when the supply availability is requested.

DestinationOrgId

String

No

Destination organization of an internal sales order.

SupplierId

String

No

Supplier to reference when determining supply availability.

SupplierSiteId

String

No

Supplier site to reference when determining supply availability. You can specify the supplier site only if you also specify the supplier.

OrgInput

Group

No

Zero or more repetitions.

OrgInput

Not applicable

No

Group that captures the warehouse.

OrgId

String

No

Warehouse (inventory organization) that requires the availability of the supply for the item.

GetAvailabilityCheck or GetAvailabilityCheckSync provides this response.

Attribute Type Description

ErrorMessage

String

Error message that displays if a problem occurs in the data or in the setup.

InvalidItems

Group

One or more repetitions.

PromisingSystem

String

Name of the promising system.

PromisingInstance

String

Instance of the promising system.

PromiseDate

Date

Date when the promise is created.

ItemAvailability

Group

One or more repetitions.

InvalidItems

Group

Group that identifies invalid items.

ItemId

String

Item identifier.

ItemAvailability

Group

Group that includes availability details for one item.

ItemId

String

Identifies the item that this operation references when it determines how much supply is available to fulfill this item.

RequestedDate

Date

Date when supply availability is requested.

ErrorCode

String

Error code.

ErrorMessage

String

Error message that displays if a problem occurs in the data or in the setup.

InstanceId

String

Instance identifier.

OrgId

String

Warehouse (inventory organization) that stores the item. If the request doesn't include a warehouse or supplier, then this operation calculates the supply availability for all warehouses and suppliers.

ShelfQty

Double

Total supply that's available for the item. its the cumulative supply minus the cumulative supply that's consumed.

AvailableQty

Double

Total supply that's available for the item and that's not allocated to demand. its the cumulative supply minus the cumulative demand.

RequestHold Operation

The RequestHold operation put the sales order or fulfillment process on hold. You can use it only as an asynchronous web service. You must include these required attributes in a request that uses RequestHold.

Fully Qualified Name of the Payload Attribute Attribute Type Required Description

RequestHoldProcessRequest ApplyHoldRequestParams

ApplyHoldRequestParams

Group

No

One or more repetitions.

RequestHoldProcessRequest ApplyHoldRequestParams

ApplyHoldRequestParams

Group

No

Not applicable

RequestHoldProcessRequest ApplyHoldRequestParams SourceOrderSystem

SourceOrderSystem

string

Yes

Source system that provides the source order.

RequestHoldProcessRequest ApplyHoldRequestParams SourceOrderId

SourceOrderId

string

Yes

Identifier of the source order in the source system.

RequestHoldProcessRequest ApplyHoldRequestParams SourceLineId

SourceLineId

string

No

Order line identifier in the source system.

RequestHoldProcessRequest ApplyHoldRequestParams SourceHoldCode

SourceHoldCode

string

Yes

Hold code that's requested.

RequestHoldProcessRequest ApplyHoldRequestParams HoldComments

HoldComments

string

No

Comments for the hold request.

RequestHold provides this response.

Fully Qualified Name of the Payload Attribute Attribute Type Description

RequestHoldProcessResponse ErrorMessage

ErrorMessage

String

Error message for the call.

RequestHoldProcessResponse ApplyHoldResponseParams

ApplyHoldResponseParams

Group

One or more repetitions.

RequestHoldProcessResponse ApplyHoldResponseParams

ApplyHoldResponseParams

Group

Group that contains the results of the requestHold operation.

RequestHoldProcessResponse ApplyHoldResponseParams SourceOrderSystem

SourceOrderSystem

String

Source system that provides the source order.

RequestHoldProcessResponse ApplyHoldResponseParams SourceOrderId

SourceOrderId

String

Order identifier in the source system.

RequestHoldProcessResponse ApplyHoldResponseParams SourceLineId

SourceLineId

String

Order line identifier in the source system.

RequestHoldProcessResponse ApplyHoldResponseParams SourceHoldCode

SourceHoldCode

String

Hold code that was requested.

RequestHoldProcessResponse ApplyHoldResponseParams RequestStatus

RequestStatus

String

Status of the call.

RequestHoldProcessResponse ApplyHoldResponseParams HoldErrorMessages

HoldErrorMessages

Group

Zero or more repetitions.

RequestHoldProcessResponse ApplyHoldResponseParams HoldErrorMessages

HoldErrorMessages

Group

Group that contains the order line Id and the error message for this line Id record.

RequestHoldProcessResponse ApplyHoldResponseParams HoldErrorMessages DooLineId

DooLineId

String

Order line identifier in Order Management.

RequestHoldProcessResponse ApplyHoldResponseParams HoldErrorMessages ErrorMessage

ErrorMessage

String

Error message for each line.

ReleaseHold Operation

The ReleaseHold operation releases a hold that's currently holding a sales order or fulfillment process. You can use it only as an asynchronous web service. You must include these required attributes in a request that uses ReleaseHold.

Fully Qualified Name of the Payload Attribute Attribute Type Required Description

ReleaseHoldProcessRequest ReleaseHoldRequestParams

ReleaseHoldRequestParams

Group

No

One or more repetitions.

ReleaseHoldProcessRequest ReleaseHoldRequestParams

ReleaseHoldRequestParams

Group

No

Groups the request details for the release hold.

ReleaseHoldProcessRequest ReleaseHoldRequestParams SourceOrderSystem

SourceOrderSystem

String

Yes

Source system that provides the source order.

ReleaseHoldProcessRequest ReleaseHoldRequestParams SourceOrderId

SourceOrderId

String

Yes

Order identifier in the source system.

ReleaseHoldProcessRequest ReleaseHoldRequestParams SourceLineId

SourceLineId

String

No

Order line identifier in the source system.

ReleaseHoldProcessRequest ReleaseHoldRequestParams SourceHoldCode

SourceHoldCode

String

Yes

Hold code to release.

ReleaseHoldProcessRequest ReleaseHoldRequestParams HoldReleaseReasonCode

HoldReleaseReasonCode

String

Yes

Reason code for the release of the hold.

ReleaseHoldProcessRequest ReleaseHoldRequestParams HoldReleaseComments

HoldReleaseComments

String

No

Comments that describe the release reason.

ReleaseHold provides this response.

Fully Qualified Name of the Payload Attribute Attribute Type Description

ReleaseHoldProcessResponse ErrorMessage

ErrorMessage

String

Error message for the call.

ReleaseHoldProcessResponse ReleaseHoldResponseParams

ReleaseHoldResponseParams

Group

One or more repetitions.

ReleaseHoldProcessResponse ReleaseHoldResponseParams

ReleaseHoldResponseParams

Group

One or more repetitions.

ReleaseHoldProcessResponse ReleaseHoldResponseParams SourceOrderSystem

SourceOrderSystem

String

Source system that provides the source order.

ReleaseHoldProcessResponse ReleaseHoldResponseParams SourceOrderId

SourceOrderId

String

Order identifier in the source system.

ReleaseHoldProcessResponse ReleaseHoldResponseParams SourceHoldCode

SourceHoldCode

String

Hold code that was released.

ReleaseHoldProcessResponse ReleaseHoldResponseParams SourceLineId

SourceLineId

String

Order line identifier in the source system.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldReleaseStatus

HoldReleaseStatus

String

Status of the call.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldReleaseDate

HoldReleaseDate

String

Date when the hold was released.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldErrorMessages

HoldErrorMessages

Group

Zero or more repetitions.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldErrorMessages

HoldErrorMessages

Group

Group that contains the order line Id and error message for this line Id record.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldErrorMessages DooLineId

DooLineId

String

Order line identifier in Order Management.

ReleaseHoldProcessResponse ReleaseHoldResponseParams HoldErrorMessages ErrorMessage

ErrorMessage

String

Error message for each order line.

Upstream Source Systems

Integrate Order Management with Source Systems

Set up your source system in Order Management so it can access reference data and master data that your source system uses.

Setting up the source system allows Order Management to identify where the sales order originates and helps to define the characteristics of the source system, such as whether its an order capture system or order fulfillment system, and whether the source system requires Order Management to do cross-referencing when a user creates a sales orders in Order Management. Order Management uses these details to establish cross-reference values for various entities.

If your deployment must integrate with a system that resides outside of Order Management, then you can register a connector that allows Order Management to communicate with it. You must create, deploy, and register the connector. This topic describes how to register the connector and connect Order Management to a source system, such as Oracle Configure, Price, and Quote Cloud. You add a connector that uses a web service that communicates order details with the source system.

Summary of the Set Up

  1. Create a user credential key.

  2. Set up the source system.

  3. Administer the source system.

  4. Add the connector.

  5. Add roles and privileges.

  6. Test your set up.

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

Create Credential Key

You must create a user credential key to integrate Order Management with an external service.

The external interface uses open access protocols, such as HTTP, so extra security setup is required. You must make sure the user credential is valid in the source system you're integrating, and in the security certificate so the integration can encrypt and decrypt messages.

Create a user credential key.

  1. Use Oracle Wallet Manager to add a user credential key to a credential map.

    For details, see Oracle Fusion Middleware Security Guide 11g Release 1 (11.1.1). You must use the administration privilege and administrator role.

  2. In Oracle Wallet Manager, in the Select Map list, select oracle.wsm.security.

  3. Enter the user credential key, user name, and password from the service that you're integrating with Order Management.

  4. Sign into Order Management with administrative privileges.

  5. In the Navigator, click Setup and Maintenance.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

  7. On the Manage Connector Details page, click Actions > Add Row, then set the values that you set in steps 1 through 3.

Set Up the Source System

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

    • Offering: Order Management

    • Functional Area: Customers

    • Task: Manage Trading Community Source Systems

  2. On the Manage Trading Community Source Systems page, click Actions > Create.

  3. On the Create Source System page, set values.

    Attribute Description

    Code

    Enter any text that Order Management can use as an abbreviation for the external system. Order Management uses this code to identify this external system throughout the user interface, such as in lists and logs.

    For example, assume you work for a company named Vision Corporation, and that your deployment must integrate with a legacy order capture system named Vision Capture. You can enter VCAP.

    The Manage Trading Community Source Systems page comes predefined to use Oracle Fusion Order Orchestration and Planning (OPS) for order orchestration and planning. If you use the Order Management work area to create sales orders, then you must not change this behavior, but you can use this page to add the source system you use to import a source order from a channel system.

    Name

    Enter text that describes the source system, such as Vision Capture.

    Type

    Choose a value.

    • Spoke. Identifies a spoke system, such as a legacy system.

    • Purchased. Identifies a purchased system, such as data from a third party provider.

    Options

    Specify the type of data that you will import.

    • Enable for Items. Required. Import data for items.

    • Enable for Trading Community Members. Required. Import data for the trading community. Establishes the Original System Unique Reference (OSR) for customer entities.

    • Enable for Order Orchestration and Planning. Required. Import data for Order Orchestration.

    • Enable for Assets. Optional. Import data for assets.

      For example, if you add a check mark to Enable for Trading Community Members, then you can choose the source system as a data source on various pages in the Order Management work area and the Order Orchestration work area.

  4. Click Save and Close > Done.

Administer the Source System

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Upstream and Fulfillment Source Systems

  2. On the Manage Upstream and Fulfillment Source Systems page, click Actions > Create.

  3. In the Create Source System dialog, set values.

    Attribute Description

    Code

    Choose the code that you created earlier, such as VCAP.

    Time Zone

    Choose the time zone where the server is located.

    Version

    Choose Other.

    Order Orchestration Type

    Choose a value.

    • Fulfillment. Specify the source system as a fulfillment system where Order Management sends fulfillment requests and receives fulfillment replies.

    • Order Capture. Specify the source system as an order capture system that sends source orders to Order Management. You typically use Order Capture with the import web service.

    Collections Allowed

    Contains a check mark.

    Enable Data Cross-Reference

    If the source system.

    • Expects Order Management to do the cross-reference, then enable this option.

    • Uses the same values that Oracle Fusion uses, and you already set up these values in Oracle Fusion, then don't enable this option.

  4. Click Save and Close > Done.

Add the Connector

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

  2. On the Manage Connector Details page, click Actions > Add Row.

  3. In the new row, set values, then click Save and Close.

    Attribute Description

    Target System

    Choose the code you created in the Create Source System dialog, such as VCAP.

    Connector Name

    Enter text that describes the connector. For example, enter Connector_to_VCAP

    Connector URL

    Enter the URL that locates the connector service that resides on the source system. In this example, enter the URL that locates the VCAP system.

    User Name and Password

    Enter the values that the Status Update service requires. For example, the user that you specify must be a valid user, and this user must use the privileges that allow this user to run the Status Update service.

    Order Management uses the credentials you provide so it can communicate with the order capture system when it creates the order, and when it provides a status update.

  4. Optional. Allow more than one source system instance to communicate with Order Management.

    • Use Trading Community Architecture to add a value to the Target System list.

    • Repeat step 3, except set Target System to the value that you added in Trading Community Architecture.

      For example, assume you work for a telecommunications company. You add one connection to a system named PER_ORA_BM_CPQ for personal phone lines, then add another connection to a system named BUS_ORA_BM_CPQ for business lines. CPQ is an acronym for Configure, Price and Quote. Order Management will deliver status notifications and billing notifications to any system that contains the string ORA_BM_CPQ.

      You can add a prefix, a suffix, a prefix and a suffix, or no prefix or suffix to the string. For example, you can use ABC_ORA_BM_CPQ_XYZ.

  5. Verify that Order Management is connected to the source system, and that its communicating sales order data.

    • Use a page in the Order Management work area to verify that it updated the order status. For example, verify that it updated the status from Scheduled to Shipped.

    • Sign into your source system, then verify that it displays the updated status of the sales order that you examined in Order Management. For example, if Order Management updated the status from Scheduled to Shipped on the fulfillment line, then verify that your source system also displays Shipped.

    If Order Management can't connect to your source system, then it might display an error message that indicates it can't connect. For help, see topic Troubleshooting Connection Problems With Source Systems: Procedure.

Connecting to Configure, Price, and Quote

If you connect to Configure, Price, and Quote, then do these steps.

  • Set the Target System for the connector to ORA_BM_CPQ.

  • Use the Manage Business Event Trigger Points page to enable the Fulfillment Line Status Update trigger point.

  • Make sure the connector URL references the BM-CPQ status update service. If it doesn't reference this service, then the Business Events Message page will display an error. The URL is different for each BM-CPQ instance. For example, host:port//BM-CPQ-statusUpdateService, where you replace host:port with your sever address.

  • The setup you make for Fulfillment Line Status Update and the corresponding set up in the Edit Status Rule Set area of the Manage Orchestration Process Definitions page doesn't affect how Order Management communicates status values.

  • Order Management sends only the following status values. You can't modify this behavior.

    • Scheduled

    • Shipped

    • Awaiting Billing

    • Billed

    • Canceled

    • Closed

Add Roles and Privileges

The user who calls the web service must use an application role with web service privilege Manage Order Orchestration Decomposition Web Service (DOO_MANAGE_ORDER_ORCHESTRATION_DECOMPOSITION_WEB_SERVICE_PRIV).

This role and privilege makes sure each service and response request from a source system works correctly when the source system isn't part of Oracle Fusion, or when receiving a request from a task layer that isn't in Oracle Fusion.

Add roles and privileges.

  1. Sign into the security console.

  2. Click Application Roles.

  3. On the General tab, set values, then save your changes.

    Attribute Value

    Display Name

    DOO Modified Role Service

    Role Name

    DOOModifiedAppRole

    Role Category

    SCM - Abstract Roles

    print of screen you use in this step.
  4. Navigate to the Search Authorization Policies tab, then search for DOOCustomAppRole.

  5. In the Functional Policies tab, click New.

    print of screen you use in this step.
  6. In the Untitled tab, set the value, then save your changes.

    Attribute Value

    Name

    DOOCustomRolePolicy

    print of screen you use in this step.
  7. In the Targets area, click Add Target.

  8. In the Search Targets dialog, set values, then click Search.

    Attribute Value

    Display Name Contains

    Web service

    Name Starts With

    DOO

    print of screen you use in this step.
  9. Add the privileges you need for each of the web services that you must grant to the user.

    print of screen you use in this step.
  10. Navigate to the DOOCustomRolePolicy page.

    print of screen you use in this step.
  11. In the DOO Webservice Role area, click Add.

  12. In the Add a User dialog, add a user, then click Map Users.

    print of screen you use in this step.

Test Your Set Up

Create a test user in your test environment to make sure your deployment can authenticate the message that Order Management sends.

  1. Sign into the Administration Console of the Oracle WebLogic Server.

  2. In the Administration Console, click Create Users.

  3. In the Create a New User area, set values, then click OK.

    Attribute Value

    Name

    The value you enter must match the name you used when you created the user credential key earlier in this topic.

    Description

    User name and password to use when sending a message to the test client.

    Provider

    DefaultAuthentication

    Password

    The value you enter must match the name you used when you created the user credential key earlier in this topic.

  4. Test the client in your source system to make sure it can send and receive messages to and from Order Management.

Integrate Names and Codes Between Source Systems and Order Management

If your deployment includes an order capture system, then you must map names and codes from it into Order Management Cloud.

An orchestration reference object is an object that resides in the set of objects that an orchestration process processes so it can determine the meaning of a name or the description of a code, such as a payment term name, freight code, or transport code.

An order capture system typically sends sales order data that contains names or codes to an orchestration process, and the orchestration process must display a meaning for the name or a description for the code. You must collect the data that determines these meanings and descriptions into the Order Orchestration and Planning Data repository.

Assume your order capture system sends sales order data that includes a payment term of 2/10, Net 30 to an orchestration process, and data in the Order Orchestration and Planning Data repository includes a payment term of 2/10, Net 30. The orchestration process uses the matching codes to identify the payment term description.

2% discount earned if paid within 10 days

To get the complete list of orchestration reference objects, you can examine the collected data for them, and view the list of values for the Lookup Type field.

Match Import Data to Order Management Data

Make sure the data you import matches the structure and data type that Order Management uses.

Its important that the data you import or integrate for customer, ship-to, and bill-to attributes is compatible with data in the Order Management database. Use SQL to get data from the Order Management database, then modify your import data to make sure it matches Order Management database requirements for data type and structure.

Get Sold-To Customer

SELECT  dha.ORDER_NUMBER       ,
        dha.source_order_number,
        dha.SOLD_TO_PARTY_ID   ,
        dha.STATUS_CODE        ,
        hz.PARTY_ID            ,
        hz.PARTY_NUMBER        ,
        hz.PARTY_NAME
FROM    fusion.doo_headers_all dha,
        fusion.HZ_PARTIES HZ
WHERE   dha.SOURCE_ORDER_NUMBER = ('&SOURCE_ORDER_NUMBER')
        --        AND status_code <> 'DOO_REFERENCE'
        --        AND Submitted_Flag = 'Y'            -- is this the active/submitted version
         and hz.PARTY_ID =dha.SOLD_TO_PARTY_ID

Get Ship-To Details on Order Header

SELECT  SOURCE_ORDER_NUMBER,
        SOLD_TO_CUSTOMER_ID,
        SOLD_TO_PARTY_ID   ,
        HZP.PARTy_name
        ||
        ' '
        ||
        HZP.PARTY_NUMBER "Sold to Customer",
        DOA.ADDRESS_USE_TYPE               ,
        hza.account_number                 ,
        hzp_ship_to.party_name             ,
        hza.account_name                   ,
        doa.PARTY_SITE_ID                  ,
                hzl.ADDRESS1                                    ,
        hzl.ADDRESS2                                    ,
        hzl.ADDRESS3                                    ,
        hzl.ADDRESS4                                    ,
        hzl.CITY                                        ,
        hzl.POSTAL_CODE                                 ,
        hzl.STATE                                       ,
        hzl.COUNTRY
FROM    FUSION.HZ_PARTIES HZP          ,
        FUSION.HZ_PARTIES HZP_SHIP_TO  ,
        FUSION.DOO_HEADERS_aLL DHA     ,
        fusion.DOO_ORDER_ADDRESSES DOA ,
        fusion.HZ_CUST_ACCOUNTS HZA    ,
        fusion.HZ_CUST_ACCT_SITES_ALL hzcasa,
        fusion.HZ_PARTY_SITES hzps          ,
        fusion.hz_locations HZL
WHERE   HZP.PARTY_ID      = DHA.SOLD_TO_PARTY_ID
        AND dha.header_id = doa.header_id (+)
        AND
        (
                doa.ADDRESS_USE_TYPE     = 'SHIP_TO'
                OR doa.ADDRESS_USE_TYPE IS NULL
        )
        AND doa.party_site_id        = hzps.party_site_id (+)
        AND hzcasa.PARTY_SITE_ID (+) = hzps.PARTY_SITE_ID
        AND hzps.party_id            = hzp_ship_to.party_id (+)
        AND HZcasa.CUST_ACCounT_ID   = hza.CUST_ACCOUNT_ID (+)
        AND hzps.location_id         = hzl.location_id (+)
        AND DHA.SOURCE_ORDER_NUMBER  = ('&SOURCE_ORDER_NUMBER')
        AND DHA.status_code          <> 'DOO_REFERENCE'
        AND DHA.Submitted_Flag         = 'Y' -- is this the active/submitted version

Get Bill-To Details on Order Header

SELECT  SOURCE_ORDER_NUMBER,
        SOLD_TO_CUSTOMER_ID,
        SOLD_TO_PARTY_ID   ,
        HZP.PARTy_name
        ||
        ' '
        ||
        HZP.PARTY_NUMBER "Sold to Customer",
        DOA.ADDRESS_USE_TYPE               ,
        hza.account_number                 ,
        hzp_ship_to.party_name             ,
        hza.account_name                   ,
        doa.PARTY_SITE_ID                  ,
                hzl.ADDRESS1                                    ,
        hzl.ADDRESS2                                    ,
        hzl.ADDRESS3                                    ,
        hzl.ADDRESS4                                    ,
        hzl.CITY                                        ,
        hzl.POSTAL_CODE                                 ,
        hzl.STATE                                       ,
        hzl.COUNTRY
FROM    FUSION.HZ_PARTIES HZP          ,
        FUSION.HZ_PARTIES HZP_SHIP_TO  ,
        FUSION.DOO_HEADERS_aLL DHA     ,
        fusion.DOO_ORDER_ADDRESSES DOA ,
        fusion.HZ_CUST_ACCOUNTS HZA    ,
        fusion.HZ_CUST_ACCT_SITES_ALL hzcasa,
        fusion.HZ_PARTY_SITES hzps          ,
        fusion.hz_locations HZL
WHERE   HZP.PARTY_ID      = DHA.SOLD_TO_PARTY_ID
        AND dha.header_id = doa.header_id (+)
        AND
        (
                doa.ADDRESS_USE_TYPE     = 'SHIP_TO'
                OR doa.ADDRESS_USE_TYPE IS NULL
        )
        AND doa.party_site_id        = hzps.party_site_id (+)
        AND hzcasa.PARTY_SITE_ID (+) = hzps.PARTY_SITE_ID
        AND hzps.party_id            = hzp_ship_to.party_id (+)
        AND HZcasa.CUST_ACCounT_ID   = hza.CUST_ACCOUNT_ID (+)
        AND hzps.location_id         = hzl.location_id (+)
        AND DHA.SOURCE_ORDER_NUMBER  = ('&SOURCE_ORDER_NUMBER')
        AND DHA.status_code          <> 'DOO_REFERENCE'
        AND DHA.Submitted_Flag         = 'Y' -- is this the active/submitted version

Get Ship-To and Bill-To Details on Order Line

SELECT  dha.Source_order_number   ,
        dha.order_number          ,
        dha.submitted_Flag        ,
        dfla.SHIP_TO_PARTY_ID     ,
        dfla.SHIP_TO_PARTY_SITE_ID,
        dfla.BILL_TO_CUSTOMER_ID  ,
        dfla.BILL_TO_SITE_USE_ID
FROM    Fusion.DOO_headers_all dha,
        Fusion.DOO_fulfill_lines_all dfla
WHERE   dha.header_id               = dfla.header_id
        AND dha.source_order_number = '&ENTER SOURCE_ORDER_NUMBER'

Integrate Configured Items

Order Management Cloud supports Oracle Fusion Configurator Runtime so the user can create and validate a configured item.

Order Management calls the ConfiguratorManager service when a sales order includes a configured item. This service creates and validates the configuration.

See My Oracle Support for details about.

  • Configurations, see Supply Chain Management Cloud Configurator Modeling Guide.

  • Setting the Configuration Effective Date parameter, see the Manage Order Management Parameters topic.

  • Using a file to import orders, see the Overview of Using Files to Import Orders into Order Management topic.

  • Using a web service to create an integration that automatically imports source orders, see the Overview of Using Web Services with Order Management topic.

Validations That the Configurator Does on Import Payloads

The configurator makes sure.

  • Model definition exists in Product Information Management for each item that the import payload contains.

    • Configuration node

    • Each item

    • Primary UOM for each item

  • Import payload includes a value for attribute ProductNumber for each order line.

  • Import payload includes a quantity for each order line.

  • The Product Information Management work area allows a decimal quantity for each decimal quantity that the import payload contains.

  • Import payload doesn't include more than one root model instance.

  • Import payload doesn't specify an item more than one time, and that Order Management can resolve this item according to a model in Product Information Management.

  • If the import payload includes an optional model reference, then the payload explicitly states the full input path to this model reference.

How Web Services Resolve Missing Nodes in Import Payloads

If a configuration hierarchy in the import payload includes two levels, but if the model in Product Information Management that the payload references includes a different hierarchy, then the createConfigForModelLine web service attempts to modify the structure in the payload so it matches the hierarchy in Product Information Management.

For example, assume the import payload includes a hierarchy.

  • M1

    • SI1

    • SI2

    • SI5

Assume the model in Product Information Management includes a hierarchy.

  • M1

    • SI1

    • OC1

    • SI5

      • SI2

      • SI5

      • M2

        • OC2

          • SI4

          • SI5

createConfigForModelLine will modify the structure from the import payload to this structure.

  • M1

    • SI1

    • OC1

      • SI2

    • M2

      • OC2

        • SI5

How Web Services Handle Quantities in Import Payloads

If the order import payload specifies only one of these quantities for the configuration line.

  • Unit quantity. Then createConfigForModelLine calculates the ordered quantity.

  • Ordered quantity. Then createConfigForModelLine calculates the unit quantity.

If the import payload specifies the unit quantity and the ordered quantity, and if the unit quantity for the configuration line multiplied by the ordered quantity for the immediate parent line.

  • Equals the ordered quantity for the configuration line. createConfigForModelLine can successfully process the line.

  • Doesn't equal the ordered quantity for the configuration line. createConfigForModelLine creates an error and order import fails.

If the import payload specifies a value in the Quantity Per Model attribute, then createConfigForModelLine ignores it and calculates the unit quantity and ordered quantity according to the quantities that the import payload specifies for all configuration lines.

Downstream Fulfillment Systems

Connect and Route

Set up a connector so Order Management can communicate with your fulfillment system.

Here's a summary of the set up.

  1. Specify how Order Management sends the request to the outbound connector.

    • You specify the URL that locates the outbound connector when you set up the external interface.

    • You deploy the outbound connector on a third-party application server.

    • Your information technology group must set up the WSDL for the outbound endpoint.

  2. Specify the business conditions that will route the request to the connector.

  3. The outbound connector transforms the message into a format that your fulfillment system can understand, then sends the message to your fulfillment system. You can use an integrated development environment, such as Oracle JDeveloper, to specify how to do transformation.

  4. The fulfillment system sends a response to the inbound connector.

    Response Description

    Immediate

    The fulfillment system immediately sends the response.

    A long running task is a task that includes a wait step in the orchestration process. An immediate response doesn't wait to process a fulfillment request that involves a long running task. Instead, it only acknowledges receipt and replies with details that are immediately available.

    For example, assume the message requests a Boolean value, such as whether the customer is credit worthy or not credit worthy, and the fulfillment system already determined this value. The fulfillment system can respond immediately with the requested details.

    Delayed

    The fulfillment system sends the response only after a delay so it can finish the long running task.

    For example, assume the message requests a status update for the Received Date attribute, which is the date that shipping delivered the item to the customer. Shipping is normally a long running task that includes a pause step because shipping a physical item typically requires one or more days to finish. The fulfillment system can't respond immediately with the requested details. It must delay its response while it waits for the shipping task to finish.

    Note.

    • The fulfillment system might also communicate more than one update over time. To process a delayed response, you can add another entry point service in the connector, or you can set up another connector. It isn't necessary to use the external interface to set up the connector that receives the message from your fulfillment system and that sends a delayed response.

    • This topic assumes you use the same connector to send the delayed response to Order Management.

  5. To send the response, the fulfillment system calls the inbound interface that you set up in Order Management. Order Management uses a single service to accept the response for each task type. You specify the URL that locates the WSDL for the service when you set up the connector.

  6. The connector transforms the response into a message that Order Management can understand, then sends it to Order Management.

Here are the task types that the connector uses in Order Management to communicate with your fulfillment system.

Task Type Description

Reservation

Reserve an item in inventory.

Shipping

Ship the item after you reserve it.

Invoice

Invoice the item after it ships.

For details about the flow you integrate, see the How Data Flows Through Order Management topic.

Road Map to Integrating Order Management with Fulfillment Systems

Do the set up that topics and sections describe in the Implementing Order Management guide. The steps in bold font are particularly important regarding achieving connectivity.

Step Chapter, Section, or Topic Description

1

Set Up Task Types

Specify how to process the sales order and order lines.

2

Order Management Statuses

Do.

  • Set up fulfillment line status.

  • Specify how to split fulfillment line status.

  • Update or close fulfillment lines that remain open.

3

Set Up Orchestration Processes

Set up your orchestration process to determine status conditions, status values, and fulfillment line status.

4

Select Fulfillment Lines for Orchestration Process Steps

Create a business rule that selects fulfillment lines, then specify whether to process them.

5

Integrate Order Management with Fulfillment Systems

Set up a connector that enables Order Management to communicate with your fulfillment system.

6

Manage Connector Details in Order Management

Specify the web service that enables Order Management to communicate with your fulfillment system.

7

Route Requests from Order Management to Fulfillment Systems

Specify a rule that selects your fulfillment system connector according to sales order, fulfillment line, or orchestration process attribute.

8

Overview of Setting Up Extensible Flexfields in Order Management

Optional. If you implement an extensible flexfield, then you must set it up, deploy it, and publish it.

Example of Integrating Order Management with an External Fulfillment System

Assume you need to integrate Order Management with your shipment system. Use this topic to learn how.

An external fulfillment system is a fulfillment system that resides outside of Oracle Fusion Applications. Here's an example of how you set up the integration.

example of how you set up the integration

Note.

  1. You will specify status values and status conditions on your fulfillment task according to the values that your fulfillment system uses. You also specify the web services to use when communicating status.

  2. Set up shipping steps on your orchestration process so they call your fulfillment system through the fulfillment task and task type that you set up for your integration. Modify status values and conditions on the orchestration process so they meet your integration requirements.

  3. Set up a connector that includes the URL to your fulfillment system and any sign in requirements, such as user and password. Order Management uses the connector to find your fulfillment system and communicate with it.

  4. Set up a routing rule that routes calls from your fulfillment system to the connector according to the task type that you specify.

  5. At run time, Order Management and your fulfillment system use the connector to communicate status updates throughout the fulfillment lifecycle, such as Started, Picked, Awaiting Shipping, and Shipped.

Summary of the Steps

Assume you must integrate your shipping system, Vision Shipments, with Order Management Cloud so you can fulfill sales orders that you create in the Order Management work area. Vision Shipments uses status values that are unique to Vision Shipments, such as Awaiting Fulfillment and Awaiting Fulfillment Line Aggregation. You specify them in the Setup and Maintenance work area. Here's a summary of the steps you will do in this topic.

  1. Manage task types.

  2. Manage status values and status conditions.

  3. Create a new orchestration process.

  4. Add status values for the fulfillment line.

  5. Publish your orchestration process.

  6. Set up connector and routing rule.

  7. Test your setup.

Note: This example describes one way to integrate Order Management with your shipment system. It is for illustration purposes only. You will need to use different values and procedures, depending on your implementation environment and business requirements.
Manage Task Types

To start, you create task type, task, and services so you can reference them later in this procedure when you set up the orchestration process.

create task type, task, and services so you can
reference them later in this procedure when you set up the orchestration
process

Try it.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Task Types

  2. On the Manage Task Types page, click Actions > Add Custom, set values, then click Save.

    Attribute Value

    Task Type

    Vision Shipments

    You can use any value.

    Description

    Task type we use to communicate with our Vision Shipments fulfillment system.

  3. In the Details area, on the Services tab, add the services you will use to communicate with your Vision Shipments fulfillment system.

    Code Name Operation Code Hold Enabled

    Create Vision Shipments

    Create Vision Shipments

    Create

    Yes

    Vision Shipments Inbound

    Response from Vision Shipments

    Inbound

    -

    Cancel Vision Shipments

    Cancel Vision Shipments

    Cancel

    No

    Hold Vision Shipments

    Hold Vision Shipments

    Apply Hold

    -

    Release Vision Shipments

    Release Vision Shipments

    Release Hold

    -

    Update Vision Shipments

    Update Vision Shipments

    Update

    Yes

    Wait for Vision Shipments

    Wait for Vision Shipments

    Wait

    -

    Its recommend that you use these operations to accommodate the various statuses that Order Management uses when it processes each sales order. This way, the statuses in your fulfillment system will be synchronized with the statues in Order Management.

  4. Click Tasks, click Actions > Add Row, set values, then click Save and Close.

    Code Name Display Name Intermediate Replanning

    Fulfill_Vision_Shipments

    Fulfill Vision Shipments

    Fulfill Vision Shipments

    Doesn't contain a check mark.

    Order Management uses the task to communicate status values with your fulfillment system.

Manage Status Values and Status Conditions

Manage Status Values

Create status values on the Manage Status Values page so you can reference them when you set up the orchestration process.

Create status values on the Manage Status Values
page so you can reference them when you set up the orchestration process.

Note.

  • Add status values on the Manage Status Values Page.

  • Later in this procedure, reference your status value on each orchestration process step.

  • For details, see the Fulfillment Tasks topic.

Try it.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Status Values

  2. On the Manage Status Values page, click Task Types, click Query by Example, enter Vision Shipments in the Type column, then press the Enter key.

  3. In the Status Values area, notice that the Setup and Maintenance work area automatically created a set of status values for you when you created the Vision Shipments task type.

    Status Value Split Priority

    Change Pending

    10

    Not Started

    20

    Started

    30

    Various

    39

    Completed with Various Statuses

    50

    User Action Required

    60

    Awaiting Response

    110

    Not Applicable

    900

    Cancellation Pending

    970

    Canceled

    990

    These values match what Order Management uses. You can add, delete, or modify them to accommodate your fulfillment system, as necessary. In general, its recommended that you keep these statuses so your fulfillment system is synchronized with statuses in Order Management, but you can add more.

    For example, here's the same set of statuses but with a few new ones that Vision Shipments uses. The bold statuses are new. This way, Vision Shipments can communicate its statuses, such as Awaiting Fulfillment or Awaiting Fulfillment Line Aggregation, to Order Management and Order Management can display them in the Order Management work area, or you can reference them in your other set ups, as necessary.

    Status Value Split Priority

    Awaiting Fulfillment

    2

    Awaiting Fulfillment Line Aggregation

    5

    Change Pending

    20

    Not Started

    30

    Started

    40

    Various

    60

    Partially Picked

    70

    Partially Backordered

    80

    Picked

    90

    Backordered

    100

    Shipped

    110

    Canceled

    120

    Not Applicable

    130

    Cancellation Pending

    140

    Awaiting Shipping

    150

    Awaiting Response

    160

    Completed with Various Statuses

    170

    User Action Required

    180

Manage Status Conditions

Create status values on the Manage Task Status Conditions page so you can reference them when you set up the orchestration process.

Create status values on the Manage Task Status
Conditions page so you can reference them when you set up the orchestration
process.
  1. Go to the Setup and Maintenance work area, then go to the task.

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Task Status Conditions

  2. On the Manage Task Status Conditions page, click Query by Example, enter Vision Shipments in the Type column, then press the Enter key.

  3. In the Status Conditions area, notice that the Setup and Maintenance work area automatically created a set of conditions for you when you created the Vision Shipments task type.

    Internal Status Value Internal Status Code Display Status Value Display Status Code

    Awaiting Response

    AWAIT_RESPONSE

    Awaiting Response

    AWAIT_RESPONSE

    Canceled

    CANCELED

    Canceled

    CANCELED

    Cancellation Pending

    CANCEL_PENDING

    Cancellation Pending

    CANCEL_PENDING

    Change Pending

    CHANGE_PENDING

    Change Pending

    CHANGE_PENDING

    Completed with Various Statuses

    COMPLETED_VAR

    Completed with Various Statuses

    COMPLETED_VAR

    Not Applicable

    NOT_APPLICABLE

    Not Applicable

    NOT_APPLICABLE

    Not Started

    NOT_STARTED

    Not Started

    NOT_STARTED

    Started

    STARTED

    Started

    STARTED

    User Action Required

    USER_ACTION

    User Action Required

    USER_ACTION

    Various

    VARIOUS

    Various

    VARIOUS

    As with the status values, these status conditions match what Order Management uses. You can add, delete, or modify them to accommodate your fulfillment system, as necessary.

    Here's the same set with some new conditions. The bold conditions are new. Make sure only the Shipped status contains a check mark in the Mark as Complete column.

    Internal Status Value Internal Status Code Display Status Value Display Status Code

    Awaiting Fulfillment

    AWAIT_FULFILLMENT

    Awaiting Fulfillment

    AWAIT_FULFILLMENT

    Awaiting Fulfillment Line Aggregation

    AWAIT_FLINE_AGGREGATE

    Awaiting Fulfillment Line Aggregation

    AWAIT_FLINE_AGGREGATE

    Awaiting Response

    AWAIT_RESPONSE

    Awaiting Response

    AWAIT_RESPONSE

    Awaiting Shipping

    AWAIT_SHIPPED

    Awaiting Shipping

    AWAIT_SHIPPED

    Backordered

    BACKORDERED

    Backordered

    BACKORDERED

    Canceled

    CANCELED

    Canceled

    CANCELED

    Cancellation Pending

    CANCEL_PENDING

    Cancellation Pending

    CANCEL_PENDING

    Change Pending

    CHANGE_PENDING

    Change Pending

    CHANGE_PENDING

    Completed with Various Statuses

    COMPLETED_VAR

    Completed with Various Statuses

    COMPLETED_VAR

    Not Applicable

    NOT_APPLICABLE

    Not Applicable

    NOT_APPLICABLE

    Not Started

    NOT_STARTED

    Not Started

    NOT_STARTED

    Partially Picked

    PARTIAL_PICK

    Partially Picked

    PARTIAL_PICK

    Picked

    PICKED

    Picked

    PICKED

    Shipped

    SHIPPED

    Shipped

    SHIPPED

    Started

    STARTED

    Started

    STARTED

    User Action Required

    USER_ACTION

    User Action Required

    USER_ACTION

    Various

    VARIOUS

    Various

    VARIOUS

Create a New Orchestration Process

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Orchestration Process Definitions

      For details, see the Orchestration Processes topic.

  2. Create your process.

    • On the Manage Orchestration Process Definitions page, do a search.

      Attribute Value

      Process Name

      DOO_OrderFulfillmentGenericProcess

    • Click Actions > Duplicate, modify the attributes, then click Save.

      Attribute Value

      Process Name

      CustomDOO_Vision_Shipments

      Process Display Name

      Vision Shipments

      Description

      Custom orchestration process that fulfills sales orders in the Vision Shipments fulfillment system.

  3. Modify steps.

    • In the Process Details area, modify values in the row that contains Create Shipment Request in the Step Name attribute.

      Attribute Value

      Step Name

      Fulfill Vision Shipments

      Task Type

      Vision Shipments

      This is the task type you created earlier in this procedure.

      Task

      Fulfill Vision Shipments

      This is the task you created earlier in this procedure.

      Service

      Create Vision Shipments

      This is the service you created earlier in this procedure.

      Update Service

      Update Vision Shipments

      Cancel Service

      Cancel Vision Shipments

      Don't modify any of the other attributes.

    • Modify values in the row that contains Wait for Shipment Advice in the Step Name attribute, then click Save.

      Attribute Value

      Step Name

      Wait for Vision Shipments

      Task Type

      Vision Shipments

      Task

      Fulfill Vision Shipments

      Service

      Wait for Vision Shipments

      Exit Criteria

      Add a check mark to Canceled.

      Add a check mark to Shipped.

      Fulfillment Completion Step

      Contains a check mark.

      Next Expected Task Status

      Shipped

      Don't modify any of the other attributes.

Add Status Values for the Orchestration Process

  1. Click Status Conditions, then, on the Orchestration Process Status Values tab, verify values in the Expression column.

    Sequence Status Value Expression

    600

    Awaiting Shipping

    "Fulfill Vision Shipments" = "AWAIT_SHIP" OR "Fulfill Vision Shipments" = "VARIOUS"

    700

    Backordered

    "Fulfill Vision Shipments" = "BACKORDERED"

    800

    Picked

    "Fulfill Vision Shipments" = "PICKED"

    900

    Shipped

    "Fulfill Vision Shipments" = "SHIPPED"

    1200

    Partially Picked

    "Fulfill Vision Shipments" = "PARTIAL_PICK"

    1300

    Partially Backordered

    "Fulfill Vision Shipments" = "PARTIAL_BACK"

    Make sure you verify the correct rows. For example, several rows contain the Awaiting Shipping status value, but you must verify only row 600.

    If you don't have these values, then modify the expression, as necessary. For example, if you must modify row 600.

    • Click the Calculator icon in the Expression column.

    • In the Expression Builder dialog, delete everything in the Expression window, expand CustomDOO_Vision_Shipments - Fulfill Vision Shipments, click AWAIT_SHIP [ Awaiting Shipping ], then click Insert Into Expression.

    • In the Expression window, enter the text OR after the closing bracket.

    • Click VARIOUS [ Various ], then click Insert Into Expression.

    • Verify that the Expression window contains "AWAIT_SHIP" OR "VARIOUS", then click OK.

  2. Add a new row.

    • Click Actions > Add Row, then set values.

      Attribute Value

      Sequence

      1600

      Status Value

      Awaiting Fulfillment

    • Click the Calculator icon in the Expression column.

    • In the Expression Builder dialog, in the Expression window, enter the name of your task, enclose it with double quotation marks, then add a space and equal sign.

      Recall that in this example you created a fulfillment task named Fulfill Vision Shipments, so enter "Fulfill Vision Shipments" =.

    • Expand CustomDOO_Vision_Shipments - Fulfill Vision Shipments, click AWAIT_FULFILLMENT [ Awaiting Fulfillment ], then click Insert Into Expression.

    • Verify that the Expression window contains "Fulfill Vision Shipments" = "AWAIT_FULFILLMENT", then click OK.

  3. Add a new row.

    • Click Actions > Add Row, then set values.

      Attribute Value

      Sequence

      1700

      Status Value

      Awaiting Fulfillment Line Aggregation

    • In the Expression column, use the Calculator icon to add "Fulfill Vision Shipments " = "AWAIT_FLINE_AGGREGATE".

  4. Click Save.

Add Status Values for the Fulfillment Line

  1. Click Fulfillment Line Status Values, then click Edit Status Rule Set.

  2. On the Edit Status Rule Set page, verify values.

    Sequence Status Value Expression

    1200

    Awaiting Shipping

    "Fulfill Vision Shipments" = "AWAIT_SHIP" OR "Fulfill Vision Shipments" = "VARIOUS"

    1300

    Backordered

    "Fulfill Vision Shipments" = "BACKORDERED"

    1400

    Picked

    "Fulfill Vision Shipments" = "PICKED"

    1500

    Shipped

    "Fulfill Vision Shipments" = "SHIPPED"

    1800

    Partially Picked

    "Fulfill Vision Shipments" = "PARTIAL_PICK"

    1900

    Partially Backordered

    "Fulfill Vision Shipments" = "PARTIAL_BACK"

  3. Click Actions > Add Row, then set values.

    Sequence Status Value Expression

    1930

    Awaiting Fulfillment

    "Fulfill Vision Shipments" = "AWAIT_FULFILLMENT"

  4. Click Actions > Add Row, set values, then click Save and Close.

    Sequence Status Value Expression

    1960

    Awaiting Fulfillment Line Aggregation

    "Fulfill Vision Shipments" = "AWAIT_FLINE_AGGREGATE"

Publish Your Orchestration Process

  1. On the Edit Orchestration Process Definition page, click Actions > Validate.

  2. Click Actions > Release.

  3. Wait for the release to finish, then cancel the Download dialog.

  4. Click Actions > Deploy Process.

Set Up Connector

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

      For details about how to set up a connector, see the Overview of Connecting Order Management to Your Fulfillment System topic.

  2. On the Manage Connector Details page, click Actions > Add Row, set values, then click Save and Close.

    Attribute Value

    Target System

    OPS

    OPS means Oracle Fusion Order Orchestration and Planning.

    Connector Name

    Vision Shipments

    Connector URL

    Enter the URL that locates your fulfillment system.

    Connector Description

    Connect Order Management to the Vision Shipments fulfillment system.

    User Name

    Name of a user you have set up on your fulfillment system.

    Password

    Password you need to access your fulfillment system.

    Invocation Mode

    Synchronous Service

Set Up Routing Rule

Create a routing rule that routes the fulfillment request to your connector according to task type.

Create a routing rule that routes the fulfillment
request to your connector according to task type.

Note.

  • Reference the task type that you created on the Manage Task Types page when you create the If statement.

  • Reference the connector that you created on the Manage Connector Details page when you set the connector name in the Do statement.

Try it.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Integration Routing Rules for Sales Orders

      For details about how to set up a routing rule, see the Use Visual Information Builder topic.

  2. On the Manage External Interface Routing Rules page, click Create New Rule.

  3. Set values, then click Save and Close.

    Attribute Value

    Name

    Route Sales Orders to the Vision Shipments Fulfillment System

  4. Create the If statement.

    If Task Type is equal to Vision Shipments
  5. Create the Then statements.

    Set Connector Name to Vision Shipments
    Set Maximum Time to Wait Before Allowing Cancel to 5 Minutes
    Set Interaction Interface Time to Service Data Object
Test Your Setup

  1. Create a sales order in the Order Management work area, then click Submit.

  2. Monitor the progress of the fulfillment line on the sale order. Verify that it proceeds through the fulfillment statuses as expected.

Connect Order Management to Your Fulfillment System

Set up a connector that allows Order Management Cloud to communicate with your fulfillment system.

This topic assumes these conditions are true.

  • You use Oracle JDeveloper (Java Developer) to create the connector. You can use any similar development tool.

  • You create a fulfillment connector that uses the Fulfillment task layer. You can use a similar approach for other task layers.

  • You use a web service to communicate between Order Management and the connector. The connector can use some other technology that you choose to communicate with your fulfillment system.

  • You use basic security. Your implementation team must incorporate any other security that your business requires.

  • The fulfillment system doesn't understand the Order Management message, so the connector must transform the message.

  • The connector and the fulfillment system use security certificates that a certificate authority (CA) publishes.

  • You have the privileges that you must use to deploy the connector on the fulfillment system, or you licensed Oracle SOA (Service Oriented Architecture) Cloud Service so you can access Oracle JDeveloper on the cloud and integrate with other cloud applications and systems.

  • Services in the fulfillment system all use the same user credentials.

Summary of the Steps

  1. Prepare to make connection.

  2. Create connector.

  3. Add branches for operations.

  4. Set up delayed response.

  5. Secure your connector and deploy your project.

  6. Communicate extensible flexfields to fulfillment system.

  7. Deploy connector.

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

Prepare to Make Connection

Prepare to make the connection.

  1. Get the administrative privileges you need to access the web server where you plan to deploy the connector.

  2. Get source system details from Oracle Trading Community Architecture. You will use them to link connectors in the web service details to the source system.

  3. Install the Java runtime environment on the computer you will use to create the connector.

    For details, see Java Downloads for All Operating Systems at https://www.java.com/en/download/manual.jsp.

  4. Open a web browser, then install Java SE Development Kit.

    For details, see Java SE Development Kit 9 Downloads at http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html.

  5. Install Oracle SOA Suite.

    • Go to page Oracle SOA Suite 12.2.1.3.0 QuickStart Download on Oracle Technology Network at http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html.

    • Download, then unzip these files.

      • SOA Suite 12.2.1.3 - Part 1 of 2

      • SOA Suite 12.2.1.3 - Part 2 of 2

      Download them to the bin folder where you installed Java SE Development Kit, such as C:\Program Files\Java\jdk-9.0.4\bin.

    • Right-click Windows Start menu, then click Command Prompt (Admin).

    • In the DOS command line, navigate to the bin folder where you downloaded the SOA Suite files, enter java.exe -jar fmw_12.2.1.3.0_soa_quickstart.jar, then press Enter on your keyboard.

    • Follow the prompts in the installer until you finish the installation.

  6. Open a web browser, then verify your browser can open the URLs you plan to use for your WSDLs. For details about these WSDLs, see the next section in this topic.

Create Connector

  1. Open Oracle JDeveloper.

    For details about how to use Oracle JDeveloper, see Oracle JDeveloper Tutorials at https://docs.oracle.com/cd/E37547_01/tutorials/toc.htm.

  2. In the Select Role dialog, choose Studio Developer, then click OK.

  3. Click Application > New.

  4. In the New Gallery dialog, in tree Categories, expand General, then click Applications.

  5. In the Items area, click SOA Application > OK.

  6. In the Name Your Application dialog, set values, then click Next.

    Attribute Value

    Application Name

    Enter any value.

    Directory

    C:\JDeveloper\mywork\ConnectorService

    You can accept the default value that populates or choose some other folder. For example.

    • C:\JDeveloper\mywork\ConnectorService

    Application Package Prefix

    oracle.apps

  7. In the Name Your Project dialog, set values, then click Next.

    Attribute Value

    Project Name

    ConnectorServiceComposite

    You can set any value.

    Directory

    C:\JDeveloper\mywork\ConnectorService\ConnectorServiceComposite

  8. In the Configure SOA Settings dialog, set values, then click Finish.

    Attribute Value

    Composite Name

    ConnectorServiceComposite

    Composite Template

    Empty Composite

    Oracle JDeveloper creates an empty composite.

    composite that includes panes Exposed Services,
Components, and External References.

    This composite includes the Exposed Services, Components, and External References panes. You will use these panes during this procedure.

  9. Click File > Save.

  10. Specify the service that will communicate data from your fulfillment system to Order Management.

    • Drag and drop BPEL Process from the Component Palette onto the Components pane.

    • In the Create BPEL Process dialog, set values, then click OK. Make sure you set each value in the same sequence that this table displays them.

      Attribute Value

      BPEL Specification

      BPEL 2.0 Specification

      Name

      ConnectorProcess

      Namespace

      http://xmlns.oracle.com/ConnectorService/ConnectorServiceComposite/ConnectorProcess

      Directory

      C:\JDeveloper\mywork\ConnectorService\ConnectorServiceComposite\SOA\BPEL

      Template Type

      Web Service

      Template

      Base on a WSDL

      Service Name

      connectorprocess_client

      Expose as a SOAP Service

      Contains a check mark.

      WSDL URL

      Specify this WSDL.

      https://host:port/soa-infra/services/default/DooTaskExternalInterfaceVirtualPartnersComposite/fulfillmentrequest_client_ep?WSDL

      The FulfillOrderService uses this WSDL.

      where

      • host. Identifies the computer that hosts your Oracle Fusion Applications.

      • port. Identifies the port that Oracle Fusion Applications uses to communicate data. Port is optional.

      For example, enter this value.

      https://server:port/soa-infra/services/default/DooTaskExternalInterfaceVirtualPartnersComposite/fulfillmentrequest_client_ep?WSDL

      To identify the host and port, see topic Identifying Hosts and Ports for Your Order Management Implementation: Procedure.

      This URL locates the WSDL that FulfillOrderService uses. This service communicates data from your third-party fulfillment system to Order Management. It uses these operations and inputs.

      • The operation processFulfillmentRequest uses input value FulfillmentRequestRequestMessage.

      • The operation processFulfillmentRequestResponseoperation uses input value FulfillmentRequestResponseMessage.

      If you can't access or use this service for some reason, then see section Using Alternative WSDL Files in this topic, immediately after this procedure.

      1. Next to WSDL URL, click Find Existing WSDLs.

      2. In the WSDL Chooser dialog, set Location to home/user/projects/FulfillmentRequestWSDL.

        where

        • user is your user name.

      3. In the window below the location you just set, click FulfillmentRequest.wsdl > OK.

      4. In the Localized Files dialog, add a check mark to Maintain Original Directory Structure for Imported Files, then click OK.

      Port Type

      FulfilmentRequest

      Callback Port Type

      FulfilmentRequestCallback

      Oracle JDeveloper creates the BPEL process.

      screen print of work you perform in this step.
  11. Create the web service you use to send the request to your fulfillment system.

    • In the External References pane, right-click, then click Insert > Direct.

    • In the Create Direct Binding dialog, set values, then click OK.

      Attribute Value

      Name

      FulfillmentApplication

      Type

      Reference

      WSDL URL

      FulfillmentApplication/fulfillmentapplication/process_client_ep?WSDL

      Port Type

      execute_ptt

      Callback Port Type

      callback_ptt

      Copy WSDL

      Doesn't contain a check mark.

      Transaction Participant

      WSDLDriven

  12. Connect the connector to the FulfillmentApplication web service. Drag and drop a connection from the Component Palette to create a connection between the ConnectorProcess node in the Components pane and the FulfillmentApplication node in the External References pane.

  13. Create the web service you use to send the delayed response back to Order Management.

    • In the External References pane, right-click, then click Insert > Web Service.

    • In the Create Web Service dialog, set values, then click OK.

      Attribute Value

      Name

      OM-DelayedResponse

      Type

      Reference

      WSDL URL

      Enter this value.

      https://host:port/soa-infra/services/default/DooTaskFulfillOrderResponseInterfaceComposite/fulfillmentresponse?WSDL

      where

      • host. identifies the computer that hosts your Oracle Fusion Applications.

      • port. identifies the port that your Oracle Fusion Applications use to communicate data.

      This URL locates the WSDL that FulfillmentResponseService uses. This service communicates status updates from your third-party fulfillment system to Order Management. It uses these operations and inputs.

      • The process operation uses the FulfillmentResponseRequestMessage input value.

      • The processResponse operation uses the FulfillmentResponseResponseMessage input value.

      Port Type

      FulfillmentResponse

      Callback Port Type

      FulfillmentResponseCallback

      Copy WSDL

      Doesn't contain a check mark.

      Transaction Participant

      WSDLDriven

  14. Connect the connector to the OM-DelayedResponse web service. Drag and drop a connection from the Component Palette to create a connection between the ConnectorProcess node in the Components pane and the OM-DelayedResponse node in the External References pane.

  15. In the Components pane, right-click the ConnectorProcess node, then click Edit.

    screen print of work you perform in this step.
  16. Define the condition that specifies when to perform the Create operation for the service in the fulfillment system.

    • Drag and drop a Switch activity from Component Palette to immediately after the receiveInput activity.

      screen print of work you perform in this step.
    • Immediately below the switch activity you just added, click Condition, then set values.

      Attribute Value

      Label

      Create

      Description

      CreateFulfillmentReqeuest

      You will create a condition.

      screen print of work you perform in this step.
    • Click Expression Builder.

    • In the Expression Builder dialog, in the BPEL Variables window, click ns4:OperationMode string.

    • In windowFunctions, choose String Functions, then click upper-case.

    • Verify that the Expression window contains this value, then click OK.

      xp20:upper-case(bpws:getVariableData('inputVariable','payload','/ns4:headerTL/ns4:OperationMode')) = "CREATE"
      screen print of work you perform in this step.
    • In the Condition dialog, click OK.

      The Create step now displays in bold font.

      screen print of work you perform in this step.

Using Alternative WSDL Files

You typically use the FulfillOrderService service and FulfillmentResponseService service to communicate with a third-party fulfillment system. If you can't access or use these services for some reason, then do a different set up, depending on whether you use extensible flexfields in your implementation.

Extensible Flexfields Description

You use extensible flexfields.

Click Download Files in the Related Links section at the end of this topic, then use the WSDL and XSD in file FulfillmentRequest.zip that downloads.

You don't use extensible flexfields.

Do these steps.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

  2. On the Manage Connector Details page, click Download WSDL for External Integration.

Setting the WSDL When Your Implementation Uses Business Events

If you set up Order Management to raise a business event, then do these steps.

  1. Use this value when you create the FulfillmentApplication connector.

    Attribute Value

    WSDL URL

    http://host:port/soa-
    infra/services/default/DooTaskExternalInterfaceVirtualPartnersComposite/businesseventsconnetor_client_ep?WSDL

    The connector uses the pushPayload operation and the body input value of FulfillOrderService.

  2. Make sure the web service operation can do these steps.

    • Accept the user name and password you enter on the Manage External Interface Web Service Details page. You use this page later during this integration setup after you finish setting up the connector.

    • Receive a payload that uses the signature in the business_events_connnector_payload.xsd file. To get a copy of this file, click Download Files in the Related Links section at the end of this topic.

  3. Use the Associated Connectors tab to specify the connector that references the WSDL that you set up in step 1.

    You can access this tab when you use the Manage Business Events Trigger Points page to set up the business event.

For details about business events and the Associated Connectors tab, see the Send Notifications from Order Management to External Systems topic.

You typically use FulfillOrderService to handle business events. If you can't access or use this service for some reason, then use a different set up.

Extensible Flexfields Description

You don't use extensible flexfields.

Click Download Files in the Related Links section at the end of this topic, then use the WSDL and XSD in the business_events_wsdl.zip file that downloads.

You use extensible flexfields.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

  2. On the Manage Connector Details page, click Download WSDL for External Integration.

Add Branches for Operations

You will add one branch for each operation that you require for the fulfillment service. For example, the Fulfillment Task layer in this example uses these tasks.

  • Create

  • Update

  • Apply Hold

  • Release Hold

  • Cancel

So you add five switch case branches, one for each task.

You will add these branches.

screen print of work you perform in this step.

For details about these tasks and other tasks that you can use, see the Task Types topic.

Add branches for operations.

  1. Click Add Switch Case.

    screen print of work you perform in this step.
  2. Add an activity that calls the branch.

    • Drag and drop Invoke from Component Palette onto branch Create.

      screen print of work you perform in this step.
    • Right-click Invoke1, then, in the Edit Invoke dialog, set the value.

      Attribute Value

      Name

      InvokeCreateFulfillmentRequest

    • Click Partner Link.

    • In the Partner Link Chooser dialog, click FulfillmentApplication > OK.

    • In the Edit Invoke dialog, set the value.

      Attribute Value

      Operation

      create

    • In the Edit Invoke dialog, in the Variables section, next to the Input window, click Add.

    • In the Create Variable dialog, set the value, then click OK.

      Attribute Value

      Name

      InvokeCreateFulfillmentRequest_create_InputVariable

      For example.

      screen print of work you perform in this step.
    • In the Edit Invoke dialog, click OK.

      The editor adds the InvokeCreateFulfillmentRequest node to the flow.

      screen print of work you perform in this step.
  3. Add an activity that receives a reply from the fulfillment system.

    • Drag a receive activity from Component Palette, then drop it immediately downstream of the InvokeCreateFulfillmentRequest node.

      screen print of work you perform in this step.
    • Right-click the Receive1 node you just added.

    • In the Edit Receive dialog, set values, then click OK.

      Attribute Value

      Name

      ReceiveAcknowledgementForCreate

      Conversation Id

      Leave empty.

      Create Instance

      Leave empty.

      Interact Type

      Partner Link.

      Partner Link

      FulfillmentApplication

      Operation

      createResponse

      Variable

      ReceiveAcknowledgementForCreate_createResponse_InputVariable

      For example.

      screen print of work you perform in this step.
  4. Add an activity that transforms the input value into a message that your fulfillment system can understand.

    • Drag a transform activity from Component Palette, then drop it immediately upstream of the InvokeCreateFulfillmentRequest node.

      screen print of work you perform in this step.
    • Right-click the Transform1 activity you just added.

    • In the Edit Transform dialog, on the General tab, set the value, then click Transformation.

      Attribute Value

      Name

      TransformationInputToCreate

    • On the Transformation tab, in the Source area, click Add, then set values.

      Attribute Value

      Variable

      inputVariable

      Part

      payload

    • Set values.

      Attribute Value

      Target Variable

      InvokeCreateFulfillmentRequest_create_InputVariable

      Target Part

      payload

      Mapper File

      xsl/TransformationInputToCreate

    • In the Mapper File area, click Add.

    • In the page that displays, connect each attribute that you must send from Order Management to the fulfillment system.

      screen print of work you perform in this step.
    • In the Edit Transform dialog, click Apply > OK.

  5. Add an activity that transforms the reply that your fulfillment system sends into a message that Order Management can understand.

    • Drag a transform activity from Component Palette, then drop it immediately downstream of the ReceiveAcknowledgementForCreate node.

      screen print of work you perform in this step.
    • Right-click the Transform1 activity that you just added.

    • In the Edit Transform dialog, on the General tab, set the value, then click Transformation.

      Attribute Value

      Name

      TransformFulfillmentAckToOMAck

    • On the Transformation tab, in the Source area, click Add, then set values.

      Attribute Value

      Variable

      ReceiveAcknowledgementForCreate_createResponse_InputVariable

      Part

      payload

    • Set values.

      Attribute Value

      Target Variable

      outputVariable

      Target Part

      payload

      Mapper File

      xsl/TransformFulfillmentAckToOMAck

    • In the Mapper File area, click Add.

    • In the page that displays, connect each attribute that you must send from the fulfillment system to Order Management.

    • In the Edit Transform dialog, click Apply > OK.

  6. Specify how to send the acknowledgment to Order Management.

    • On the ConnectorProcess process that you created earlier, drag an invoke activity from the Component Palette, then drop it immediately downstream of the TransformFulfillmentAckToOMAck activity.

    • Drag a Receive activity from Component Palette, then drop it immediately downstream of the SendAcknowledgement activity that you just added.

      screen print of work you perform in this step.

      This activity receives the delayed response from the fulfillment system.

    • Right-click Receive1.

    • In the Edit Receive dialog, on the General tab, set values, click Apply > OK.

      Attribute Value

      Name

      ReceiveDelayedResponseFromFulfillment

      Conversation Id

      Leave empty

      Create Instance

      Leave empty

      Interaction Type

      Partner Link

      Partner Link

      FulfillmentApplication

      Operation

      CreateResponse

      Variable

      ReceiveDelayedResponseFromFulfillment_CreateResponse_InputVariable

  7. Repeat steps 1 through 6 for the Update operation.

    For each operation, modify the values slightly to reflect the operation. For example, add the Update operation to the Update branch, and use ReceiveAcknowledgementForUpdate instead of ReceiveAcknowledgementForCreate.

  8. Repeat steps 1 through 6 for the Apply Hold operation.

  9. Repeat steps 1 through 6 for the Release Hold operation.

  10. Repeat steps 1 through 6 for the Cancel operation.

Set Up Delayed Response

You will define the flow that sends a delayed response from the fulfillment system to Order Management. You use the same payload for each operation so you can define a single flow for all operations.

Set up the delayed response.

  1. Drag an Invoke activity from Component Palette, then drop it immediately downstream of the switch node.

    screen print of work you perform in this step.
  2. Right-click Invoke1.

  3. In the Edit Invoke dialog, on the General tab, set values, click Apply > OK.

    Attribute Value

    Name

    SendDelayedResponseToOM

    Conversation Id

    Leave empty

    Invoke as Detail

    Leave empty

    Interaction Type

    Partner Link

    Partner Link

    OM-DelayedResponse

    Operation

    process

    Variable

    SendDelayedResponseToOM_process_InputVariable

  4. Transform the delayed response message that the fulfillment system sends to a message that Order Management can understand.

    • Drag the Transform activity from Component Palette, then, in the create branch, drop it immediately downstream of the ReceiveDelayedResponseFromFulfillment activity.

      screen print of work you perform in this step.
    • Right-click the Transform1 activity you just added.

    • In the Edit Transform dialog, on the General tab, set the value, then click Transformation.

      Attribute Value

      Name

      TransformDelayedResponseToOM

    • On the Transformation tab, in the Source area, click Add, then set values.

      Attribute Value

      Variable

      ReceiveDelayedResponseFromFulfillment_createResponse_InputVariable

      Part

      payload

    • Set values.

      Attribute Value

      Target Variable

      SendDelayedResponseToOM_process_InputVariable

      Target Part

      payload

      Mapper File

      xsl/TransformationDelayedResponseToOM

    • In the Mapper File area, click Add.

    • On the page that displays, connect each attribute that you must send as part of the delayed response from the fulfillment system to Order Management.

    • In the Edit Transform dialog, click Apply > OK.

  5. Add an activity that receives a reply from Order Management.

    • Drag a receive activity from Component Palette, then drop it immediately downstream of the SendDelayedResponseToOM activity.

      screen print of work you perform in this step.
    • Right-click the Receive1 node that you just added.

    • In the Edit Receive dialog, set values, click Apply > OK.

      Attribute Value

      Name

      ReceiveResponseFromOM

      Conversation Id

      Leave empty.

      Create Instance

      Leave empty.

      Interaction Type

      Partner Link.

      Partner Link

      OM-DelayedResponse

      Operation

      processResponse

      Variable

      ReceiveResponseFromOM_processResponse_InputVariable

  6. Define a condition that specifies how to handle errors that Order Management might send.

    • Drag and drop the Switch activity from Component Palette to immediately downstream of the ReceiveResponseFromOM activity.

      screen print of work you perform in this step.
    • Immediately below the switch activity you just added, click Condition, set values, then click OK.

      Attribute Value

      Label

      ErrorCondition

      Description

      Handle errors when processing a delayed response

      Condition

      xp20:upper-case(bpws:getVariableData('ReceiveResponseFromOM_processResponse_InputVariable','payload','/ns3:FulfillmentResponse/ns3:Status') !="SUCCESS"

  7. Add nodes.

    • AssignErrorConditionProcess. Specify actions to take in the Error Condition branch when an error occurs.

    • AssignSucess. Specify actions to take in the Otherwise branch when an error doesn't occur.

    screen print of work you perform in this step.

Including Charges in Delayed Response

If the delayed web service response that calls Order Management includes a charge, then Order Management deletes all previous charges and replaces them with the values that the web service response sends. Therefore, you must make sure the response includes all charges that Order Management sent in the outgoing request.

For example, if Order Management sends the ORA_SHIPPING_FREIGHT value and the QP_NET_PRICE value for the ChargeTypeCode charge, then the response must include ORA_SHIPPING_FREIGHT and QP_NET_PRICE for ChargeTypeCode.

Secure Connector and Deploy Project

Oracle Fusion Applications use these policies to secure your connector.

Policy Description

oracle/wss11_saml_or_username_token_with_message_protection_service_policy

Encrypts and decrypts incoming and outgoing messages.

oracle/wss_username_token_over_ssl_client_policy

Uses SSL (Secure Sockets Layer) to secure communication in the transport layer.

Use Oracle JDeveloper or Oracle Enterprise Manager to secure your connector. This example uses Oracle JDeveloper. For details about Oracle Enterprise Manager, see https://www.oracle.com/technetwork/oem/enterprise-manager/overview/index.html.

Secure your connector and deploy your project.

  1. Specify the security policy for the Request service. In the Exposed Services pane, right-click the end point of ConnectorProcess, then click Configure WS Policies > For Request.

    screen print of work you perform in this step.
  2. In the Configure SOA WS Policies dialog, in the Security area, click Add.

  3. In the Select Server Security Policies dialog, choose this value, then click OK.

    oracle/ws11_saml_or_username_token_with_message_protection_service_policy
    screen print of work you perform in this step.
  4. Specify the security policy for the callback service. In the Exposed Services pane, right-click the end point of ConnectorProcess, then click Configure WS Policies > For Callback.

  5. In the Configure SOA WS Policies dialog, in the Security area, click Add.

  6. In the Select Server Security Policies dialog, choose this value, then click OK.

    oracle/wss_username_token_over_ssl_client_policy
  7. In the Security area, click the row you just added, then click Edit.

  8. Set values.

    Attribute Value

    Override Value

    FUSION_SCM_SOA_APPID-KEY

    This value specifies the key for Credential Store Framework (CSF). You must create this key in the application where you deploy the connector. This key must use the same user name and password that you use to sign into the Order Management Cloud.

  9. Edit and assign the security policy for the delayed response connector.

    Repeat the above steps. Use the same security policies and specify the same Credential Store Framework key.

  10. Create and deploy your project. .

    screen print of work you perform in this step.
  11. Create a user credential key, then add it to the identity store on the server that will call the web service. For details, see topic Creating User Credential Keys: Procedure.

  12. Get the user credentials that the service provider requires when calling their web service. You can typically get these details from the service provider.

  13. Send a request to your IT administrator to add the user credentials that you identified in step 4. Request to add them to the server that will call the web service. Use the CSF-KEY (Credential Store Framework) reference.

Communicate Extensible Flexfields to Your Fulfillment System

The payload includes extensible flexfields that you have defined, by default. If you have defined extensible flexfields, then you must set up the WSDL so it can communicate them to your fulfillment system.

Communicate extensible flexfields to your fulfillment system.

  1. In the transformation activity, navigate to the appropriate EffCategories node, such as FulfillLineEffCategories.

  2. Expand the node.

    Notice that only two attributes are available in the node.

    screen print of work you perform in this step.
  3. In pane Source: FulfillmentRequest.wsdl, in the navigation tree, right-click ns1:FulfillLineEFFCategories, then click Substitute Element or Type.

  4. In the Substitute Element or Type dialog, click j_FulfillLineEFFDooFulfillLineAddInfoPrivate > OK.

    screen print of work you perform in this step.
  5. Expand ns1:FulfillLineEFFCategories.

    The navigation tree displays the hierarchy that includes the contexts and extensible flexfields that you can map to the target XSD.

    screen print of work you perform in this step.
  6. Make sure each attribute you must map exists.

    For example.

    <xsl:if test="/ns1:headerTL/ns1:FulfillLineTLVO1/ns1:FulfillLineEffCategories/ns10:FulfillLineEffBPackShipInstructionprivateVO/ns21:shipDate">
           <ns21:shipDate>
       <xsl:if test="/ns1:headerTL/ns1:FulfillLineTLVO1/ns1:FulfillLineEffCategories/ns10:FulfillLineEffBPackShipInstructionprivateVO/ns21:shipDate/@xsi:nil">
                  <xsl:attribute name="xsi:nil">
             <xsl:value-of select="/ns1:headerTL/ns1:FulfillLineTLVO1/ns1:FulfillLineEffCategories/ns10:FulfillLineEffBPackShipInstructionprivateVO/ns21:shipDate/@xsi:nil"/>
                 </xsl:attribute>
        </xsl:if>
        <xsl:value-of select="/ns1:headerTL/ns1:FulfillLineTLVO1/ns1:FulfillLineEffCategories/ns10:FulfillLineEffBPackShipInstructionprivateVO/ns21:shipDate"/>
         </ns21:shipDate>
    </xsl:if>
  7. Map each attribute.

Mapping Document References

Order Management uses a typical entity to capture the relationship between a document and a transaction in a system that resides outside of Order Management to a fulfillment line. Use these document types to map the data elements between this entity and your fulfillment system.

Attribute Description Example

DocRefType

Abbreviation that identifies the type of business document. You can use these types.

  • EXT_FULFILLMENT_SALES_ORDER. References the sales order or document in your fulfillment system.

  • ORIGINAL_SALES_ORDER. References the source order from a source system or sales order from Order Management Cloud that contains the item that a return is returning.

  • EBS_ORDER. References a sales order created in Oracle E-Business Suite (EBS) where Oracle E-Business Suite is the fulfillment system.

  • DROPSHIP_REQ_REFERENCE. References a requisition for a drop-ship line in a purchasing application.

  • DROPSHIP_PO_REFERENCE. References a purchase order for a drop-ship line in a purchasing application.

DROPSHIP_PO_REFERENCE

DocId

Value that uniquely identifies the document. Order Management creates this value.

Purchase Order Identifier in the purchasing system

DocUserKey

Business document number that an end-user can understand and recognize.

Purchase Order Number

DocAltUserKey

Details that accompany DocUserKey, such as a document revision number.

Change Sequence Number

DocLineId

Value that uniquely identifies the document line. Order Management creates this value.

Purchase Order Line Identifier in the purchasing system

DocLineUserKey

Line number that an end-user can understand and recognize.

Purchase Order Line Number

DocSublineId

Value that uniquely identifies the document subline. Order Management creates this value.

Purchase Order Schedule Identifier in the purchasing system

DocSubLineUserKey

Number for the subline that an end-user can understand and recognize.

Purchase Order Schedule Number

Manage Connector Details Between Order Management and Your Fulfillment System

Use a web service to allow Order Management to communicate with your fulfillment system. Use a predefined web service or create a new one.

The connector in this topic sends each message from Order Management to your fulfillment system, then sends the response message from your fulfillment system to Order Management.

  1. Sign into Oracle Enterprise Manager.

    For details about Oracle Enterprise Manager, see https://www.oracle.com/technetwork/oem/enterprise-manager/overview/index.html.

  2. In the navigation tree, expand Farm_fusion_domain > SOA > soa-infra (soa_server1) > default, then click ConnectorServiceComposite.

  3. In the ConnectorServiceComposite area, click Service Endpoint.

  4. In the Service Endpoint and WSDL dialog, copy the value of the Endpoint URI and the WSDL to your clipboard.

    Here are some examples.

    Attribute Description

    Endpoint URI

    http://server:port/soa-infra/services/default/ConnectorServiceComposite/connectorprocess_client_ep

    WSDL

    http://server:port/soa-infra/services/default/ConnectorServiceComposite/connectorprocess_client_ep?WSDL

  5. In the Navigator, click Setup and Maintenance.

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Interface Web Service Details

  7. On the Manage Connector Details page, click Actions > Add Row, then register the service that Order Management must interact with.

    The external system hosts this service. Set values.

    Attribute Description

    Target System

    Choose a target system.

    Connector Name

    Enter text that describes the connection you're making.

    Connector URL

    Enter the URL that locates the connector that resides on the fulfillment system. For example.

    http://server:port/soa-infra/services/default/ConnectorServiceComposite/connectorprocess_client_ep

    where

    • Replace server:port with the name of the server that hosts your web service and the port number that the web service uses to communicate.

    User Name and Password

    Enter the user name and password that the service requires.

    As an option, use CSF-KEY that references the user credential that Order Management uses to interact with the external web service.

    There's no requirement to match the actual name of the connector, so you can provide a short name. You can then use this short name in a routing rule. The CSF-KEY applies to all services that the external system provides.

    Keystore Recipient Alias

    For each server that runs an external web service that Order Management calls, set up the server to advertise the security certificate in the WSDL. The Oracle WebLogic Server advertises the security certificates, by default. If your servers support this advertisement, then enable it.

    If you set up the server to advertise the security certificate, then use the keystore recipient alias. Do these steps.

    • Ask the service provider for the security certificate.

    • Make sure an IT administrator imports the target server security certificate into the calling server and provides the keystore recipient alias.

    • Add the alias to the external service entry you created when you specified the user credential.

    • Add the alias to the Keystore Recipient Alias attribute on the Manage Connector Details page. This key applies to all services that the target system provides.

    If these options don't work, then set up the servers to use the Oracle security certificate, then import the certificate into your servers. The calling server doesn't require you to set up this security certificate.

    Response Processing Option

    Specify how to proceed when an error occurs.

    • Reject All Lines on First Error. Reject all fulfillment lines as soon as the connector encounters the first error.

      This setting stops processing immediately so you can fix the first error. If subsequent fulfillment lines contain errors, then you must run fulfillment again, correct the error, and repeat until you correct all errors.

    • Reject All Lines When Error on at Least One Line Occurs. Process all fulfillment lines. Add an error status to any all fulfillment line that contains an error. When processing finishes, if any fulfillment line contains an error, then reject all fulfillment lines.

      Use this setting to examine all lines that contain errors and correct them without having to run fulfillment for each error.

    • Reject Groups With Lines That Contain Errors. Reject the entire group of fulfillment lines even if only one line in the group contains an error.

      Your fulfillment system can send fulfillment lines in a group. For example, it can send all lines in a shipment as a group or all lines in a sales order as a group.

    Invocation Mode

    Specify how Order Management calls the connector when the orchestration process requires an interface to a system that resides outside of Order Management.

    • Business Event. Raise a business event so Order Management can interact with the fulfillment system.

      If you use Integration Cloud Service to integrate Order Management with the fulfillment system, then you must choose Business Event. For details, see the Overview of Using Integration Cloud Service to Integrate Order Management with Other Systems topic.

    • Synchronous Service. Make a synchronous call to the web service. Requires Order Management to wait for the response from the web service before it continues processing.

      Use synchronous when Order Management performs depends on the response. For example, use synchronous when calling credit check because Order Management must wait for credit check to finish, then reply with status Credit Check Succeeded before it can send the sales order to order fulfillment.

    • Asynchronous Service. Make an asynchronous call to the web service. Allows Order Management to continue other processing while it waits for the response from the web service.

      Use asynchronous when Order Management doesn't depend on the response. An asynchronous call is useful in an environment where a service, such as a loan processor, can take a long time to process a client request. For example, scheduling an appointment to install an item that includes a computer network might cause a delay but it doesn't affect order processing.

    Note these points about the Business Event invocation mode.

    • To support trade compliance screening during order submit, you must use a business event to integrate with Oracle Global Trade Management.

    • Business Event supports integration only with Oracle Global Trade Management and Oracle Transportation Management

    • Use Business Event to integrate with trade compliance only for compliance screening that occurs when the Order Entry Specialist submits the sales order, and not during order fulfillment.

    Send Attachments

    Choose Yes to enable Order Management to send sales order attachments.

    If you use the OrderInformationService web service to connect with your fulfillment system, then you can use the Send Attachments attribute in the input payload of the GetOrderDetails operation of this web service to allow Order Management to send attachments.

  8. Repeat step 7 until you register all web services where Order Management must interact.

  9. Create a routing rule that selects the web services.

    For details, see the Route Requests from Order Management to Fulfillment Systems topic.

Route Requests from Order Management to Fulfillment Systems

Use a routing rule to route a fulfillment request to your fulfillment system.

Specify each rule so it selects the fulfillment system connector according to sales order, fulfillment line, or orchestration process attribute. At run time, the rule calls the connector that translates the payload into a structure that your fulfillment system can understand.

Here are some examples that describe ways you might use a routing rule.

Example Description

Route sales order according to the value of an orchestration process attribute.

For example, route each sales order that's ready to ship to a fulfillment system according to task type.

  • If type code is Shipment, then route sales order to connector ABCShippingSystem.

Route sales order according to the value of a customer attribute.

For example, assume your company uses two invoicing systems, and that system ABC sends invoices to customer Computer Service and Rentals.

  • If product type is Goods, and if task type is Invoice, then route request to connector ABCInvoicingSystem.

Assume you must create a routing rule that implements a condition.

  • If task type is Shipment, and if quantity is 1000 or more, then route shipment request to Big Warehouse.

Here's the rule you will create.

the rule you will create

Summary of the Set Up

  1. Set up connector.

  2. Create the If statement.

  3. Create the Then statement.

  4. Test your set up.

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

Set Up Connector

Set values.

Attribute Value

Name

Big Shipments Warehouse

Description

Route each shipping request that exceeds a quantity of 999 to the Big Shipments warehouse.

For details, see the Manage Connector Details That Integrate Order Management with Fulfillment Systems topic.

Create the If Statement

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

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage External Integration Routing Rules for Sales Orders

  2. On the Manage External Interface Routing Rules page, click Create New Rule, then set values.

    Attribute Value

    Name

    Route Big Shipments to Big Warehouse

    Description

    Route each shipping request that exceeds quantity of 999 to Big Warehouse.

  3. Add the If condition.

    • Click New Condition.

    • In the Create Condition dialog, enter Task, wait a moment, then click Task Type (Order Header).

    • Click Search.

    • In the Search dialog, enter Shipment, then click Search > OK > OK.

  4. Add the And condition.

    • Click And.

    • In the Create Condition dialog, enter Quantity, wait a moment, then click Ordered Quantity (Order Fulfill Line).

    • Change = to >.

    • Enter 999, then click OK.

Create the Then Statement

  1. On the flowchart, click Then > Do > New Action > Perform an Action.

  2. In the Create Action dialog, choose Set Connector Name, then click Search.

  3. In the Search dialog, set the value, then click Search > OK > OK.

    Attribute Value

    Connector Name

    Big Shipments Warehouse

    Note that the Manage Connector Details page defines the connectors that the Search dialog displays on the Manage External Interface Routing Rules page.

    the Manage Connector Details page defines the connectors
that the Search dialog displays on the Manage External Interface Routing
Rules page
  4. Click Save and Close.

  5. On the Manage External Interface Routing Rules page, click your rule.

  6. In the dialog that displays, add a check mark to Activate Rule, then click Save and Close > Publish.

Test Your Set Up

  1. Navigate to the Order Management work area, create a sales order, add an order line with a Quantity of 1000, then click Submit.

  2. Sign into Oracle Enterprise Manager, navigate to Flow Trace, Instance of EILMainProcess.

    For details about Oracle Enterprise Manager, see https://www.oracle.com/technetwork/oem/enterprise-manager/overview/index.html.

  3. In the Audit Trail area, in the InvokeFulfillmentService area, examine the payload and verify that it includes the Create Fulfill Order service and the ServiceURI that you specified earlier.

Route Requests from Order Management to Fulfillment Systems Without Cross-References

Create a routing rule that routes a request to a fulfillment system when Order Management Cloud can't find a cross-reference that identifies the fulfillment system.

Assume you must implement this logic.

  • If task type on fulfillment line is Shipment, then route shipment request to Big Warehouse.

  • If Order Management can't find a cross-reference for Big Warehouse in an Oracle Application, then get the