3Integrating Order Management

This chapter contains the following:

Web Services

Integrating Order Management: Overview

Order Management Cloud 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. Order Management also provides web services that you can use to integrate with other applications and systems.

You can use web services 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.

  • Integrate 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 applications. Order Management comes integrated with the following 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 web services. Use a web service to do batch or real-time order import, send a request to a fulfillment system, receive a status from a fulfillment system, or integrate to some other cloud or on-premise system. Inventory, shipping, receiving, finance, and order management are each an example of a fulfillment system.

For example, you can set up the following integrations with Order Management.

some of the integrations that you can set up with Order
Management

Using Web Services to Integrate Order Management: Overview

You can use web services to create an integration with Order Management Cloud. Various types of upstream systems and applications can use these web services.

For example:

  • Channels

  • Legacy systems

  • Quoting systems

  • Contract systems

  • Service request systems

  • Inventory systems

  • Purchasing systems

Terminology

This document uses the following terminology:

  • Source system.An order capture system or an application that sends the Order Request object to the Order Import 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 the 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 to a sales order so that it can use it to fulfill the source order.

It is strongly recommended that you use the Order Import Service web service instead of the Receive Order Request web service. Starting with Release 12, you can use Order Import Service instead of Receive Order Request. Order Management continues to support Receive Order Request in Release 12, but will retire it and no longer support it in a subsequent release.

Usage Requirements and Capabilities

Note the following usage requirements and capabilities when you use the Order Import web service:

  • You must register each source system that sends the order request as a source system. Multiple source systems might create a source order, so the web service stores details that identifies the source system on the order so that it can track the source system that sent the order. The web service uses the source system during cross-referencing to determine the corresponding internal identifier or value according to the identifier or value that is specific to the source system that sends the source order.

  • You must synchronize the customer master data before you import a source order. Note that if the customer on the order does not exist in the Oracle Fusion Trading customer model according to the preference CreateCustomerInformationFlag under the order preferences in the service schema, then Order Management can create the customer details.

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

  • Use the Order Orchestration and Planning Repository for other reference entities.

  • Starting in release 12, it is no longer necessary to send unchanged lines. An upstream system can send the entire order or only the changed lines. Before release 12, if the upstream system sends a change order, then it must send a revised order request that includes the changed lines and the unchanged lines.

  • 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 Oracle Configure, Price, and Quote Cloud, then the web service assumes the upstream system already priced source order and will not allow price changes in Order Management.

  • You can send a submitted source order or a source order that is 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 will not 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 the SubmitDraftOrder operation in the web service to submit it. If you use SubmitDraftOrder, then you must add the payload that defines it.

Sending Identifiers and Values

You can use attributes that include the word Identifier in their names to send the identifier, such as Requesting Business Unit Identifier. If you send the identifier and the value for this identifier, then the web service uses the identifier.

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

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

  • Does not use the same data. The source system can send the identifiers and values that it contains. The Order Import web service uses them as keys to look up the cross-reference that resides in one of the following models, depending on whether or not the key references a customer data or product data:

    • Oracle Trading Community Model, and then resolve them into Oracle customer data

    • Oracle Fusion Product Model, and then resolve them into Oracle product data

In most situations, each service uses a pair of synchronous and asynchronous operations, and the service uses the following format to indicate synchronicity:

  • Appends the operation name with Sync. The other operation in the pair is asynchronous.

  • Appends the operation name with Async. The other operation in the pair is synchronous.

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

Processing More Than One Sales Order

Note the following points:

  • The stageOrders operation of the Order Import service is the only operation that can accept more than one sales order in the payload.

  • The createOrders operation of the Order Import service can accept only one sales order in the payload.

  • The ReceiveOrder service can accept only one sales order in the payload.

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

Using Asynchronous or Synchronous Services

If the integration platform or application that consumes the service supports an asynchronous service, then it is strongly recommended that you use the asynchronous operation because asynchronous is more resilient and fault tolerant than synchronous.

If the integration platform or application does not support an asynchronous service, or if you prefer not to use asynchronous because it is more complex for your to implement, then you can use synchronous as long as the number of lines in the sales order does not result in a timeout occurring after 300 seconds. If you use synchronous, and if a sales order times out, then you must make sure you design your implementation to resubmit the sales order.

Order Import Service

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

OrderImportService is a SOAP (Simple Object Access Protocol) service that uses the Order Request Object as the payload. To view an example payload that includes typical values, and to access other example payloads in XML format, see Example Payloads for Create Order Operation of OrderImportService.

OrderImportService includes the following interface 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

OrderImportService includes the following operations.

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

You can use the createOrders operation to import source orders from different channels into Order Management. You can create a sales order in draft mode or submit mode according to the SubmitFlag attribute in the payload. For details about SubmitFlag, see Attributes That Define Order Preferences.

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 the data from the interface tables, processes them, and 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 SOAP Web Services for Oracle Supply Chain Management Cloud, on Oracle Help Center.

Receive Order Request Web Service

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

ReceiveOrderRequestService is a SOAP (Simple Object Access Protocol) service that uses the Order Request Object as the payload. To view an example payload that includes typical values, and to access a variety of other example payloads in XML format, see Example Payloads for ReceiveOrderRequest.

Where possible, it is recommended that you use the OrderImportService web service instead of ReceiveOrderRequestService to create a sales order. Support for using ReceiveOrderRequestService to create a sales order might end in a future release.

ReceiveOrderRequestService includes the following interface 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/ReceiveOrderRequestService?WSDL

Input

ReceiveOrderServiceRequestMessage

Output

ReceiveOrderServiceResponseMessage

ReceiveOrderRequestService includes the following operations.

Operation Input Message Output Message

ProcessOrderRequest

ReceiveOrderServiceRequestMessage

ReceiveOrderServiceResponseMessage

ProcessOrderRequestSync

ReceiveOrderServiceRequestMessage

ReceiveOrderServiceResponseMessage

SubmitDraftOrder

SubmitDraftOrderRequestMessage

SubmitDraftOrderResponseMessage

SubmitDraftOrderSync

SubmitDraftOrderRequestMessage

ReceiveOrderServiceResponseMessage

Process Order Request Operation

You can use the processOrderRequest operation to create a sales order in Order Management. Receive Order Request Service exposes a payload in the Order Request object that consists of the order request header, order request lines, and child entities that reside in the order header and the order line.

Web Services Architecture

This topic describes the architecture that OrderImportService and ReceiveOrderRequestService use.

Entity Hierarchy the Web Services Support

Web services support the following 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

The web services use the following logical data model.

Logical Data Model

Response Payload

The response payload returns one of the following statuses:

  • SUCCESS. The response includes the source keys and the 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 the following structure:

response payload

Processing Change Orders

To change a sales order, you call a web service with a payload that includes the following details:

  • Source transaction system

  • Source transaction identifier

  • Order number and source transaction number of a sales order that Order Management has 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.

Note the following points:

  • 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 the attributes for the order line that you modify.

  • If you do not modify any part of an order line, then you can exclude the entire line from the payload.

Canceling Orders

To cancel a sales order or order line, you call the same web service that you use to create the sales order. You use a payload that includes the following details:

  • 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 the following:

    • Set the OperationCode 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 quantity in the payload to 7 Each. Make sure your payload also includes all other attributes from the original order line.

Using Security with Web Services

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

  • oracle/wss11_saml_or_username_token_with_message_protection_service_policy

This policy supports five different assertions, including the following assertion:

  • oracle/wss_username_token_over_ssl_client_policy

The callback includes the following attachment:

  • oracle/wss_username_token_over_ssl_client_policy LPA

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

Using Other Web Services to Integrate Order Management: Explained

This topic describes some of the other web services that you can use with Order Management Cloud.

Order Information Service

You can use OrderInformationService to get details about a sales order.

Use the following address to access the WSDL:

  • https://host:port/dooDecompOrderDetailSvc/OrderInformationService?WSDL

You can use the following operations with OrderInformationService.

Operation Input Message Output Message

GetOrderDetails

OrderInformationService_GetOrderDetails

OrderInformationService_GetOrderDetailsResponse

GetOrderDetailsAsync

OrderInformationService_GetOrderDetailsAsync

OrderInformationService_GetOrderDetailsAsyncResponse

Get Order Details Operation

The GetOrderDetails operation of OrderInformationService includes the following attributes.

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 the following values:

  • All. Get all details of the sales order.

  • Status. Get only the status of the sales order and the order lines.

SourceTransactionLineIdentifier

Varchar2

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

Using Files to Import Source Orders

You can use the Order Import Template to import source orders in bulk. It helps reduce errors and simplifies order import. This template 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. For details, see the topic named Order Import Template: Explained on Oracle Help Portal, and Document ID 1954259.1 (Using Spreadsheet Files to Import Orders Into Oracle Fusion Order Management Cloud) on My Oracle Support.

You can automate using files to import source orders. Oracle provides a set of web services that you can use to upload the completed import template to the Universal Content Management (UCM) server. You then run a scheduled process that imports the uploaded file to the interface tables, processes them, and then imports each interface record as a sales order. For details, see the guide titled Using External Data Integration Services for Oracle ERP Cloud.

You use the following parameters to run the scheduled process.

Parameter Value

JobDefinitionName

ImportOrdersJob

JobPackageName

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

Reference Details

Example Web Service Payloads That Integrate Order Management: Reference

This topic includes example payloads in xml files that you can use with web services in Order Management Cloud.

Note:

To download the xml files, click the link in the Related Topics section at the end of this topic.

Example Payloads for Order Import Service

This section includes example payloads for OrderImportService.

Example Payloads for the Create Order Operation

You can use the following example payloads for the Create Order operation.

Description Payload

Create or Submit Draft Sales Orders

draft_sales_order.xml

submit_draft_order_sync.xml

Create Sales Orders With or Without Pricing

single_line_priced_in_source_system.xml

single_line_priced_in_oracle_fusion.xml

Note the following points:

  • 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.

Return Sales Orders

return_order_with_reference.xml

Cancel Sales Orders

cancel_sales_order.xml

Cancel Order Line

cancel_order_lines.xml

Create Sales Orders That Include Child Entities

child_entity_transactional_item_attribute.xml

child_entity_sales_credits

child_entity_manual_price_adjustment.xml

child_entity_lot_serial.xml

Create Sales Orders That Synchronize New Customers

customer_sync_person.xml

customer_sync_organization.xml

Create Sales Orders That Include Extensible Flexfields

sales_order_with_extensible_flexfield.xml

Note that the sales_order_with_extensible_flexfield.xml payload includes the text EFF, which is an acronym for extensible flexfield.

Create Sales Orders That Include Billing Details

recurring_billing.xml

Create Sales Orders That Include Ship sets

shipset_order.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.

Example Payloads for Receive Order Request

You can use the following example payloads with ReceiveOrderRequest.

Description Payload

Create or Submit Draft Sales Orders

draft_sales_order.xml

submit_draft_order_sync_response_with_error.xml

submit_draft_order_sync_response.xml

submit_draft_order_sync.xml

Create Sales Orders With or Without Pricing

single_line_priced_in_source_system.xml single_line_priced_in_oracle_fusion.xml

Get Sales Order Details

get_order_details_status.xml

get_order_details_input.xml

get_order_details_all.xml

Get Availability of an Item

get_availability_check_sync_output.xml

get_availability_check_sync_input.xml

check_availability_output.xml

check_availability_input.xml

Create Return Orders

return_order_with_reference.xml

Cancel Sales Orders

cancel_order.xml

Release Hold Input

release_hold_input.xml

Release Hold Output

release_hold_output.xml

Create Sales Orders That Synchronize New Customers

customer_sync_person.xml

customer_sync_organization.xml

Create Sales Orders That Include Recurring Billing

recurring_billing.xml

Import Orders

order_import_service.xml

Create Sales Orders That Include Ship sets

shipset.xml

Create Sales Orders That Include Child Entities

all_child_entities.xml

Create Sales Orders That Include Assemble-to-Order Items

single_level_assemble_to_order.xml

Example of a successful operation

successful_response_for_ReceiveOrderRequest.xml

Example of a failed operation

failed_response_for_ReceiveOrderRequest.xml

Attributes in Request Payloads That Integrate Order Management: Reference

This topic describes the attributes that you can include in the request payload.

Specifying Attributes in Groups

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

  1. BuyingPartyId

  2. BuyingPartyName

  3. BuyingPartyNumber

The web service uses the following sequence when it processes each group of attributes:

  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 are not empty.

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

Specifying Coded Attributes and Their Partners

Some attributes, such as ReturnReasonCode, store an abbreviation for a longer term. This 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 do not supply the Name.

  • You do not 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 the following 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

Attributes That Define the Order Header

This topic describes required and optional attributes that define the order header.

Required Attributes You Must Include in the Request Payload to Define the Order Header

You must include the following attributes in the request payload to define the order header when you use the Receive Order Request web service. For details about the attributes you must define in the order header and other child entities when you use the Order Import service, see the Service section in SOAP Web Services for Oracle Supply Chain Management Cloud, on Oracle Help Center.

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.

Optional Attributes You Can Use in the Request Payload to Define the Order Header

You can include the following optional attributes in the request payload to define the order header. You are not required to include them.

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 who is the primary contact for the source order.

BuyingPartyContactName

VARCHAR2

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

BuyingPartyContactNumber

VARCHAR2

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

BuyingPartyContactOrigSystemReference

VARCHAR2

Cross-reference value of the person who placed the source order or who is 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

Indicates the type of request as one of the following objects:

  • 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

Indicates how to ship the items that the source order contains. Use one of the following values:

  • True. Ship items in multiple shipments, 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

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 is legally responsible for payment.

BillToPartyName

VARCHAR2

Name of the party that is legally responsible for payment.

BillToPartyNumber

VARCHAR2

Number of the party that is legally responsible for payment.

BillToPartySiteIdentifier

VARCHAR2

Value that identifies the party that is legally responsible for payment.

BillToAddress1

VARCHAR2

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

BillToAddress2

VARCHAR2

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

BillToAddress3

VARCHAR2

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

BillToAddress4

VARCHAR2

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

BillToCity

VARCHAR2

City of the party that is legally responsible for payment.

BillToPostalCode

VARCHAR2

Postal Code of the party that is legally responsible for payment.

BillToState

VARCHAR2

State of the party that is legally responsible for payment.

BillToProvince

VARCHAR2

Province of the party that is legally responsible for payment.

BillToAddressOrigSystemReference

VARCHAR2

Cross-reference value for the account site.

BillToCounty

VARCHAR2

County of the party that is 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

Indicates whether or not Order Management can price a sales order. Use one of the following values:

  • True. Can price a sales order.

  • False. Cannot price a sales order.

FreezeShippingCharge

VARCHAR2

Indicates whether or not Order Management can recalculate shipping charges. Use one of the following values:

  • True. Can recalculate shipping charges.

  • False. Cannot recalculate shipping charges.

FreezeTax

VARCHAR2

Indicates whether or not Order Management can recalculate taxes. Use one of the following values:

  • True. Can recalculate taxes.

  • False. Cannot recalculate taxes.

OperationMode

VARCHAR2

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

Attributes That Define the Order Lines

This topic describes required and optional attributes that define the order lines.

Required Attributes You Must Include in the Request Payload to Define Order Lines

You must include the following attributes in the request payload to define the order lines.

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 You Can Include in the Request Payload to Define the Order Lines

You can include the following optional attributes in the request payload to define the order lines. You are not required to include them.

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

Indicates whether or not Order Management can substitute the order items during fulfillment. Use one of the following values:

  • True. Can substitute the order items.

  • False. Cannot substitute the order items.

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 is 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 the following:

  • 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. Use one of the following values:

  • 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 who is legally responsible for payment.

BillToCustomerNumber

VARCHAR2

Number of the party who is legally responsible for payment.

BillToAccountSiteUseIdentifier

VARCHAR2

Value that identifies the party site who is legally responsible for payment.

BillToAddress1

VARCHAR2

Address Line 1 of the party who is responsible for payment.

BillToAddress2

VARCHAR2

Address Line 2 of the party who is responsible for payment.

BillToAddress3

VARCHAR2

Address Line 3 of the party who is responsible for payment.

BillToAddress4

VARCHAR2

Address Line 4 of the party who is responsible for payment.

BillToCity

VARCHAR2

City of the party who is responsible for payment.

BillToPostalCode

VARCHAR2

Postal code of the party who is responsible for payment.

BillToState

VARCHAR2

State of the party who is responsible for payment.

BillToProvince

VARCHAR2

Province of the party who is responsible for payment.

BillToAddressOrigSystemReference

VARCHAR2

Cross-reference value for the account site.

BillToCounty

VARCHAR2

County of the party who is 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

Indicates whether or not the transaction is exempt from taxation. Use one of the following values:

  • True. Exempt from taxation.

  • False. Not exempt from taxation.

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 who is tax exempt.

PartialShipAllowedFlag

VARCHAR2

Indicates whether or not Order Management can ship the items that the sales order contains in multiple shipments or only as one shipment.

Use one of the following values:

  • True. Ship in multiple shipments, 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 it is 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 who is 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 who is 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.

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

Specifies one of the following types for the transaction line:

  • Goods

  • Services

ProductCategory

VARCHAR2

Classifies the product for tax purposes. If your deployment does not 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

Contains one of the following values:

  • True. Configuration is valid.

  • False. Configuration is not valid. The configurator expects that any application that calls the configurator will not submit a 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 That Define Order Preferences

This topic describes attributes that define order preferences.

Attribute Type Description

CreateCustomerInformationFlag

VARCHAR2

Indicates whether or not to create details for missing attributes. Use one of the following values:

  • 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. Do not create the missing attribute.

SubmitFlag

VARCHAR2

Indicates whether or not to submit the sales order if an attribute does not contain a value. Use one of the following values:

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

  • False. If an attribute does not contain a value, then do not 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

This topic describes other optional attributes that you can include in the request payload. You are not required to define them.

Source Transaction Details

You can include the following 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 details when you specify one of the following objects:

  • Lot Numbers and serial numbers

  • Sales credits

  • Payments

  • Attachments

  • Document references

  • Transaction items

  • Charges

  • Charge components

Source Transaction Details

You can include the following 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 details when you specify one of the following 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 the following optional attributes in the request payload to define lot numbers and serial numbers.

Attribute Type Description

SourceTransactionLotIdentifier

 

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 the following 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 the following 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 is 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 the following 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 does not 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 the following optional attributes in the request payload to define document references. The 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 the following 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 the following 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. You can use one of the following types:

  • 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. You can use one of the following values:

  • Line

  • Line Coverage

ParentEntityId

Number

ID of the parent entity of the charge.

PriceTypeCode

VARCHAR2

Price type of a charge. You can use one of the following values:

  • 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

Indicates whether or not this charge is the primary charge. Use one of the following values:

  • True. Primary charge.

  • False. Not the primary charge.

ApplyTo

long

Indicates whether or not a charge applies to product, shipping, or return.

RollupFlag

VARCHAR2

Indicates whether or not this charge is a rollup charge or an aggregate charge. Use one of the following values:

  • 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 the following 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 the following 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.

Using the Receive Order Request Service to Integrate Order Management: Reference

This topic describes the operations that you can use in the Receive Order Request Service when you integrate Order Management Cloud with other systems.

You can use the following operations.

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 is currently holding a sales order or fulfillment process.

ReleaseHoldProcessRequest

GetAvailabilityCheck

Get the supply of an item that is 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 is 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 the following 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 the following response.

Attribute Type Description

NumberOfTasksReleased

Long

Number of tasks released.

ErrorMessage

String

Error message if the service does not 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. You can use the following attributes. An asterisk ( * ) in the Required column indicates a group of attributes. You must include at least one attribute from the group.

Fully Qualified Name of the Payload Attribute Attribute Type Required Description

CheckAvailabilityInput SourceOrderSystem

SourceOrderSystem

String

Yes

Source system.

CheckAvailabilityInput PromisingSet

Promising Set

 

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 or not to provide items of the pick-to order (PTO) model as input. Valid values include True or False. If False, the included items are derived 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 it is 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 is 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 do not 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 do not 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 the following 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

 

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

 

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

 

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfAtpItems

NumberOfAtpItems

Integer

 

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult NumberOfCtpItems

NumberOfCtpItems

Integer

 

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult SourcingRule

SourcingRule

String

 

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail CustomerAccountId

CustomerAccountId

String

 

checkAvailabilityOutput PromisingResult PromisingLineReply DefaultAvailabilityOption PromisingLineResult ResultDetail CustomerShipToSiteId

CustomerShipToSiteId

String

 

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

 

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 is 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

 

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

 

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

 

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

 

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

 

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

 

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfAtpItems

NumberOfAtpItems

Integer

 

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult NumberOfCtpItems

NumberOfCtpItems

Integer

 

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult SourcingRule

SourcingRule

String

 

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail CustomerAccountId

CustomerAccountId

String

 

checkAvailabilityOutput PromisingResult PromisingLineReply AlternateAvailabilityOptions PromisingLineResult ResultDetail CustomerShipToSiteId

CustomerShipToSiteId

String

 

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

 

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 is 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

 

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

 

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 is currently available in an organization or supplier. You can use them as a synchronous or asynchronous web service. You must include the following 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

 

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 the following 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 does not include a warehouse or supplier, then this operation calculates the supply availability for all warehouses and suppliers.

ShelfQty

Double

Total supply that is available for the item. It is the cumulative supply minus the cumulative supply that is consumed.

AvailableQty

Double

Total supply that is available for the item and that is not allocated to demand. It is 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 the following 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

 

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 is requested.

RequestHoldProcessRequest ApplyHoldRequestParams HoldComments

HoldComments

string

No

Comments for the hold request.

RequestHold provides the following 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 is currently holding a sales order or fulfillment process. You can use it only as an asynchronous web service. You must include the following 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 the following 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

Integrating Order Management with Source Systems: Procedure

You must define your source system in Order Management Cloud so it can access the reference data and master data that your source system uses.

Defining the source system allows Order Management to identify where the sales order originates and helps to define the characteristics of this source system, such as whether it is an order capture system or an order fulfillment system, and whether this source system requires Order Management to perform 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 an external system, then you can register a connector that allows Order Management Cloud to communicate with it. You must create, deploy, and register this connector. This topic describes how to register the connector and connect Order Management to an external source system, such as Oracle Configure, Price, and Quote Cloud. To do this, you add a connector that uses a web service that communicates order details with the source system.

Summary of the Work

Connect Order Management to source systems:

  1. Create a user credential key.

  2. Define the source system.

  3. Administer the source system.

  4. Add the connector.

  5. Add roles and privileges.

  6. Test your work.

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

Create a Credential Key

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

The external interface layer is an intermediary layer that uses open access protocols, such as HTTP, so extra security setup is required. You must make sure that the user credential is valid in the external system and in the security certificate so that 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 are integrating with Order Management.

  4. Sign into Order Management with administrative privileges.

  5. In the Navigator, click Setup and Maintenance.

  6. On the Setup page, click Order Management.

  7. Search for, and then open Manage External Interface Web Service Details.

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

Define the Source System

Define the source system:

  1. In the Navigator, click Setup and Maintenance.

  2. On the Setup page, click Order Management.

  3. Search for, and then open Manage Trading Community Source Systems.

  4. On the Manage Trading Community Source Systems page, click Actions, and then click Create.

  5. On the Create Source System page, set the following values.

    Attribute Description

    Code

    Enter any text that Order Management can use as an abbreviation for this 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.

    Name

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

    Type

    Choose one of the following values:

    • 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 following types 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.

  6. Click Save and Close, and then click Done.

Administer the Source System

Administer the source system.

  1. On the Search page, search for Manage Upstream and Fulfillment Source Systems, and then open it.

  2. On the Manage Orchestration Source Systems page, click Actions, and then click Create.

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

    Attribute Description

    Code

    Choose the code that you created in step 4, such as VCAP.

    Time Zone

    Choose the time zone where the server is located.

    Version

    Choose Other.

    Order Orchestration Type

    Choose one of the following values:

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

    • Order Capture. Specifies 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

    Do one of the following:

    • Add a check mark if the source system expects Order Management to perform the cross-reference.

    • Do not add a check mark if the source system uses the same values that Oracle Fusion uses, and if you have already set up these values in Oracle Fusion.

  4. Click Save and Close, and then click Done.

Add the Connector

Add the connector:

  1. On the Search page, search for Manage External Interface Web Service Details, and then open it.

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

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

    Attribute Description

    Target System

    Choose the code that you created on 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 that you provide so that it can communicate with the order capture system when it creates an 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 drop-down list.

    • Repeat step 3, except set the 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 lines, and then add another connection to a system named BUS_ORA_BM_CPQ for business lines. Note that 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 this string. For example, you can use ABC_ORA_BM_CPQ_XYZ.

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

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

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

      If the Target System for the connector contains ORA_BM_CPQ, then:

      • Order Management will send only status values Scheduled, Shipped, Awaiting Billing, or Billed. You cannot disable this behavior. Note that the setup you make on the Manage Business Event Trigger Points page for Fulfillment Line Status Update and the corresponding set up in the Edit Status Rule Set area of the Manage Orchestration Process Definitions page does not affect how Order Management communicates these values.

      • The connector URL must reference the BM-CPQ status update service. If the connector URL does not 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.

    If Order Management cannot connect to your source system, then it might display an error message that indicates that it cannot connect. If this situation occurs, then see Troubleshooting Connection Problems With Source Systems: Procedure.

Add Roles and Privileges

The user who calls the web service must use an application role that possesses the web service privilege named 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 this system is not part of Oracle Fusion, or when receiving a request from a task layer that is not in Oracle Fusion.

Add roles and privileges:

  1. Sign into the security console.

  2. Click Application Roles.

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

    Attribute Value

    Display Name

    DOO Modified Role Service

    Role Name

    DOOModifiedAppRole

    Role Category

    SCM_DUTY

    print of screen you use in this step
  4. Navigate to the Search Authorization Policies tab, and 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 following value, and 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 the following values, and 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 require 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, and then click Map Users.

    print of screen you use in this step

Test Your Work

As an option, you can create a test user in your test environment to make sure your deployment can authenticate the message that Order Management sends.

Test your work:

  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 the following values, and 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.

Troubleshooting Connection Problems with Source Systems: Procedure

You can troubleshoot an error message that indicates that Order Management Cloud cannot connect to a source system, such as Oracle Configure, Price, and Quote Cloud.

Troubleshoot a connection problem with a source system:

  1. In the Navigator, click Order Management.

  2. On the Overview page, click Tasks, and then click Manage Order Orchestration Messages.

  3. On the Manage Order Orchestration Messages page, in the Order Orchestration Function field, select Send Event Notification, and then click Search.

  4. Examine the search results:

    • Make sure the Search Results includes an entry that includes the same URL that you specified in the Connector URL field of the Manage Connector Details page. For details about this field, see Integrating Order Management with Source Systems: Procedure.

    • Make sure this URL correctly identifies the connector that resides on the source system. To do this, log into your source system, and then examine the connector services that are running.

    • Wait a minute for the log to refresh, requery the Order Orchestration Messages page, and then examine the search results again to determine whether or not the connection successfully restarted. A network error or some other problem might cause the connection to momentarily fail. If the connection restarted successfully, then the list will include details about the events that are associated with the connector URL.

Integrating Names and Codes Between Source Systems and Order Management: Explained

If your deployment includes an external order capture system, then you must map names and codes from this system 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 this 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 in the Order Orchestration and Planning Data repository.

For example, assume an external order capture system sends sales order data that includes a payment term of 2/10, Net 30 to an orchestration process, and the Order Orchestration and Planning Data repository contains a record that includes a payment term of 2/10, Net 30. In this situation, the orchestration process uses the matching codes to identify the following 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.

Integrating Configured Items in Order Management: Explained

Order Management Cloud supports Oracle Fusion Configurator Runtime so the user can create and validate a configuration. Order Management calls the ConfiguratorManager service when a sales order includes a configuration. This service creates and validates the configuration.

See My Oracle Support for details about the following topics::

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

  • Specifying the Configuration Effective Date parameter, see Managing Order Management Parameters: Procedure.

  • Using a file to import orders, see Order Import Template: Explained.

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

Validations That the Configurator Performs on Import Payloads

The Configurator performs the following validations on the contents of the import payload:

  • Makes sure a definition exists in a model definition in Product Information Management for each of the following items that the import payload contains:

    • Configuration node

    • Each item

    • Primary UOM for each item

  • Makes sure the import payload includes a value for the ProductNumber attribute for each order line.

  • Makes sure the import payload includes a quantity for each order line.

  • Makes sure Product Information Management allows a decimal quantity for each decimal quantity that the import payload contains.

  • Makes sure the import payload does not include more than one root model instance.

  • Makes sure the import payload does not specify an item more than one time, and that Order Management can resolve this item according to a model definition in PIM.

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

How the Web Service Resolves 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 service attempts to modify the structure in the payload so that it matches the hierarchy in Product Information Management.

For example, assume the import payload includes the following hierarchy:

  • M1

    • SI1

    • SI2

    • SI5

Assume the model in Product Information Management includes the following hierarchy:

  • M1

    • SI1

    • OC1

    • SI5

      • SI2

      • SI5

      • M2

        • OC2

          • SI4

          • SI5

In this example, the createConfigForModelLine service modifies the structure from the payload to the following structure:

  • M1

    • SI1

    • OC1

      • SI2

    • M2

      • OC2

        • SI5

How the Service Handles Quantities in Import Payloads

If the order import payload specifies only one of the following quantities for the configuration line:

  • Unit quantity. The createConfigForModelLine service calculates the ordered quantity.

  • Ordered quantity. The createConfigForModelLine service calculates the unit quantity.

If the order 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. The createConfigForModelLine service can successfully process the line.

  • Does not equal the ordered quantity for the configuration line. The createConfigForModelLine service creates an error and the order import fails.

If the order import payload specifies the Quantity Per Model, then the createConfigForModelLine service ignores this value and calculates the unit quantity and ordered quantity according to the quantities that the order import payload specifies for all configuration lines.

Downstream Fulfillment Systems

Integrating Order Management with Fulfillment Systems: Overview

Order Management Cloud uses a connector to communicate with your fulfillment system. You must set up the connector and perform other set up work when you integrate Order Management with a fulfillment system.

You implement the following flow when you integrate Order Management with a fulfillment system.

flow

You perform the following work.

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

    Note the following points.

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

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

    • Your information technology group must define the outbound endpoint WSDL.

  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, and then sends the message to your fulfillment system. You can use an integrated development environment, such as Oracle JDeveloper, to specify how to do the transformation.

  4. The fulfillment system sends a response to the inbound connector. The response indicates that it accepted the message .

    Note the following points.

    • In some situations, the fulfillment system might not respond immediately, but instead respond some time later with a fulfillment update or a status update. It might also communicate multiple updates over time. To process these delayed responses, you can add another entry point service in the connector, or you can set up another connector. Note that it is not necessary to use the external interface layer to define the connector that receives the message from your fulfillment system and that sends a delayed response.

    • This topic uses 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 define in Order Management. Order Management uses a single service to accept the response for each task layer. You specify the URL that locates the WSDL for this service when you set up the connector.

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

The connector uses one of the following task layers in the Order Management architecture to communicate with your fulfillment system.

Task Layer 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 task types and how you use them in the architecture, see the following topics.

  • Architectural Layers in Order Management: How They Work

  • Task Layer: Explained

Road Map to Integrating Order Management with Fulfillment Systems

Integrate Order Management with your fulfillment system. Do the set up described in the following topics and sections in the Implementing Order Management guide. The steps in bold font are particularly important regarding achieving connectivity.

Step Chapter, Section, or Topic Description

1

Setting Up Task Types: Procedure

Specify how to process the sales order and order lines.

2

Order Management Statuses: Explained

Do the following work.

  • Set up fulfillment line status.

  • Specify how to split fulfillment line status.

  • Update or close fulfillment lines that remain open.

3

Managing Orchestration Processes

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

4

Selecting Fulfillment Lines for Orchestration Process Steps: Procedure

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

5

Integrating Order Management with Fulfillment Systems: Procedure

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

6

Managing Connector Details in Order Management: Procedure

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

7

Routing Requests to Fulfillment Systems: Procedure

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

8

Setting Up Extensible Flexfields in Order Management: Overview

Optional. If you implement extensible flexfields, then you must set them up, deploy them, and publish them.

Integrating Order Management with Fulfillment Systems: Procedure

You can set up a connector that allows Order Management Cloud to communicate with your fulfillment system. You can specify how the connector works.

This topic assumes the following 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 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 does not 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 Work

Connect order management to your fulfillment system.

  1. Prepare to make the connection.

  2. Create the connector.

  3. Add branches for operations.

  4. Set up the delayed response.

  5. Secure your connector and deploy your project.

  6. Communicate extensible flexfields to your fulfillment system.

  7. Deploy the connector.

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

Prepare to Make the 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.

    It is recommended that you not use the Order Management Cloud environment to deploy the connector.

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

  3. Install the Java runtime environment on the computer that 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, and 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 the page named 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, and then unzip the following files. Download them to the bin folder where you installed Java SE Development Kit, such as C:\Program Files\Java\jdk-9.0.4\bin.

      • SOA Suite 12.2.1.3 - Part 1 of 2

      • SOA Suite 12.2.1.3 - Part 2 of 2

    • Right-click the Windows Start menu, and 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, and then press Enter on your keyboard.

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

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

Create the Connector

Create the 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, and then click OK.

  3. Click Application, and then click New.

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

  5. In the Items area, click SOA Application, and then click OK.

  6. In the Name Your Application dialog, set the following values, and 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 the following values, and 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 the following values, and then click Finish.

    Attribute Value

    Composite Name

    ConnectorServiceComposite

    Composite Template

    Empty Composite

    Oracle JDeveloper creates the following empty composite. Notice that this composite includes panes Exposed Services, Components, and External References. You will use these panes during this procedure.

    flow
  9. Click File, and then click Save.

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

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

    • In the Create BPEL Process dialog, set the following values, and then click OK. Make sure you set each value in the same sequence that the following 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 the following WSDL that FulfillOrderService uses.

      https://host:port/soa-infra/services/default/DooTaskExternalInterfaceVirtualPartnersComposite/fulfillmentrequest_client_ep?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 the following value.

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

      To identify the host and port, see Identifying the Host and Port 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 the following operations and inputs.

      • The processFulfillmentRequest operation uses the FulfillmentRequestRequestMessage input.

      • The processFulfillmentRequestResponseoperation uses the FulfillmentRequestResponseMessage input.

      If you cannot access or use this service for some reason, then see the 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, and then click OK.

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

      Port Type

      FulfilmentRequest

      Callback Port Type

      FulfilmentRequestCallback

      Oracle JDeveloper creates the following BPEL process.

      flow
  11. Create the web service that you use to send the request to your fulfillment system.

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

    • In the Create Direct Binding dialog, set the following values, and 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

      Does not contain a check mark.

      Transaction Participant

      WSDLDriven

  12. Connect the connector to the FulfillmentApplication web service. Drag, and then 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 that you use to send the delayed response back to Order Management.

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

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

      Attribute Value

      Name

      OM-DelayedResponse

      Type

      Reference

      WSDL URL

      Enter the following 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 the following operations and inputs.

      • The process operation uses the FulfillmentResponseRequestMessage input.

      • The processResponse operation uses the FulfillmentResponseResponseMessage input.

      Port Type

      FulfillmentResponse

      Callback Port Type

      FulfillmentResponseCallback

      Copy WSDL

      Does not contain a check mark.

      Transaction Participant

      WSDLDriven

  14. Connect the connector to the OM-DelayedResponse web service. Drag, and then 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, and then click Edit.

    flow
  16. Define the condition that specifies when to perform the Create operation for the service in the fulfillment system.

    • Drag, and then drop a Switch activity from the Component Palette to immediately after the receiveinput activity.

      flow
    • Immediately below the switch activity you just added, click Condition, and then set the following values.

      Attribute Value

      Label

      Create

      Description

      CreateFulfillmentReqeuest

      You will create the following condition.

      flow
    • Click Expression Builder.

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

    • In the Functions window, choose String Functions, and then click upper-case.

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

      xp20:upper-case(bpws:getVariableData('inputVariable','payload','/ns4:headerTL/ns4:OperationMode')) = "CREATE"
      flow
    • In the Condition dialog, click OK.

      Notice that the Create step in the following flow now displays in bold font.

      flow

Using Alternative WSDL Files

You typically use the services FulfillOrderService and FulfillmentResponseService to communicate with a third-party fulfillment system. If you cannot access or use these services for some reason, and if your Order Management implementation.

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

  • Uses extensible flexfields. Navigate to the Setup and Maintenance work area, open the Manage Connector Details page, and then click Download WSDL for External Integration.

Setting the WSDL When Your Implementation Uses Business Events

If you set up Order Management to it raise a business event, then do the following work.

  1. Use the following 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 bodyinput of FulfillOrderService.

  2. Make sure the web service operation can do the following.

    • Accept the user name and password that 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 Sending Notifications from Order Management to External Systems: Explained and Sending Notifications From Order Management to External Systems: Procedure.

You typically use FulfillOrderService to handle business events. If you cannot access or use this service for some reason, and if your Order Management implementation.

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

  • Uses extensible flexfields. Navigate to the Setup and Maintenance work area, open the Manage Connector Details page, and then click Download WSDL for External Integration.

Add Branches for Operations

In this section you add one branch for each operation that you require for the fulfillment service. For example, the Fulfillment Task layer in this example uses the following tasks, so you add five switch case branches, one for each tasks.

  • Create

  • Update

  • Apply Hold

  • Release Hold

  • Cancel

You will add the following branches.

flow

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

Add branches for operations.

  1. Click Add Switch Case.

    flow
  2. Add an activity that calls the branch.

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

      flow
    • Right-click Invoke1, and then, in the Edit Invoke dialog, set the following value.

      Attribute Value

      Name

      InvokeCreateFulfillmentRequest

    • Click Partner Link.

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

    • In the Edit Invoke dialog, set the following 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 following value, and then click OK..

      Attribute Value

      Name

      InvokeCreateFulfillmentRequest_create_InputVariable

      For example.

      flow
    • In the Edit Invoke dialog, click OK.

      The editor adds the InvokeCreateFulfillmentRequest node to the following flow.

      flow
  3. Add an activity that receives a reply from the fulfillment system.

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

      flow
    • Right-click the Receive1 node you just added.

    • In the Edit Receive dialog, set the following values, and 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.

      flow
  4. Add an activity that transforms the input message into a message that your fulfillment system can understand.

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

      For example.

      flow
    • Right-click the Transform1 activity you just added.

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

      Attribute Value

      Name

      TransformationInputToCreate

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

      Attribute Value

      Variable

      inputVariable

      Part

      payload

    • Set the following values.

      Attribute Value

      Target Variable

      InvokeCreateFulfillmentRequest_create_InputVariable

      Target Part

      payload

      Mapper File

      xsl/TransformationInputToCreate

    • In the Mapper File area, click Add.

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

      flow
    • In the Edit Transform dialog, click Apply, and then click 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 the Component Palette, and then drop it immediately downstream of the ReceiveAcknowledgementForCreate node.

      For example.

      flow
    • Right-click the Transform1 activity you just added.

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

      Attribute Value

      Name

      TransformFulfillmentAckToOMAck

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

      Attribute Value

      Variable

      ReceiveAcknowledgementForCreate_createResponse_InputVariable

      Part

      payload

    • Set the following 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, and then click OK.

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

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

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

      flow

      This activity receives the delayed response from the fulfillment system.

    • Right-click Receive1.

    • In the Edit Receive dialog, on the General tab, set the following values, click Apply, and then click 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 the Delayed Response

In this section, you define the flow to 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 the Component Palette, and then drop it immediately downstream of the switch node.

    flow
  2. Right-click Invoke1.

  3. In the Edit Invoke dialog, on the General tab, set the following values, click Apply, and then click 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 a Transform activity from the Component Palette, and then, in the create branch, drop it immediately downstream of the ReceiveDelayedResponseFromFulfillment activity.

      flow
    • Right-click the Transform1 activity you just added.

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

      Attribute Value

      Name

      TransformDelayedResponseToOM

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

      Attribute Value

      Variable

      ReceiveDelayedResponseFromFulfillment_createResponse_InputVariable

      Part

      payload

    • Set the following values.

      Attribute Value

      Target Variable

      SendDelayedResponseToOM_process_InputVariable

      Target Part

      payload

      Mapper File

      xsl/TransformationDelayedResponseToOM

    • In the Mapper File area, click Add.

    • In 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, and then click OK.

  5. Add an activity that receives a reply from Order Management.

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

      flow
    • Right-click the Receive1 node you just added.

    • In the Edit Receive dialog, set the following values, click Apply, and then click 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 then drop a Switch activity from the Component Palette to immediately downstream of the ReceiveResponseFromOM activity.

      flow
    • Immediately below the switch activity you just added, click Condition, set the following values, and 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 the following nodes.

    • AssignErrorConditionProcess. Specify the actions to take in the Error Condition branch when an error occurs.

    • AssignSucess. Specify the actions to take in the Otherwise branch when an error does not occur.

    For example.

    flow

Secure Your Connector and Deploy Your Project

Oracle Fusion Applications use the following 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.

You can use Oracle JDeveloper or Oracle Enterprise Manager Console to secure your connector. This example uses Oracle JDeveloper.

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 the ConnectorProcess, click Configure WS Policies, and then click For Request.

    flow
  2. In the Configure SOA WS Policies dialog, in the Security area, click Add.

  3. In the Select Server Security Policies dialog, choose the following value, and then click OK.

    oracle/ws11_saml_or_username_token_with_message_protection_service_policy

    For example.

    flow
  4. Specify the security policy for the callback service. In the Exposed Services pane, right-click the end point of the ConnectorProcess, click Configure WS Policies, and then click 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 the following value, and then click OK.

    oracle/wss_username_token_over_ssl_client_policy
  7. In the Security area, click the row you just added, and then click Edit.

  8. Set the following values.

    Attribute Value

    Override Value

    FUSION_SCM_SOA_APPID-KEY

    This value specifies the key for the Credential Store Framework (CSF). You must create this key in the application where you deploy the connector. This key uses the user name and password that you use for 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. .

    flow
  11. Create a user credential key, and add it to the identity store on the server that will call the web service. For details, see 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 the 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 following node.

    flow
  3. In the Source: FulfillmentRequest.wsdl pane, in the navigation tree, right-click ns1:FulfillLineEFFCategories, and then click Substitute Element or Type.

  4. In the Substitute Element or Type dialog, click j_FulfillLineEFFDooFulfillLineAddInfoPrivate, and then click OK.

    flow
  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.

    flow
  6. Make sure each attribute that 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 standard entity to capture the relationship between a document and a transaction in a system that resides outside of Order Management Cloud to a fulfillment line. You can use the following 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 the following 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

Managing Connector Details That Integrate Order Management with Fulfillment Systems: Procedure

You can use a web service to allow Order Management Cloud to communicate with a fulfillment system through the external interface layer. You can use a predefined web service or create a new one.

The connector that manage in this topic communicates each message from Order Management to your fulfillment system, and then communicates the response message from your fulfillment system to Order Management.

Manage connector details in Order Management.

  1. Sign into Oracle Enterprise Manager.

  2. In the navigation tree, expand Farm_fusion_domain, expand SOA, expand soa-infra (soa_server1), expand default, and 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 example values.

    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. On the Setup page, click Order Management.

  7. Search for, and then open Manage External Interface Web Service Details.

  8. On the Manage Connector Details page, click Actions, click Add Row, and then register the service that Order Management must interact with. The external system hosts this service. Set the following values:

    Attribute Description

    Target System

    Choose a target system.

    Connector Name

    Enter the name of the web service.

    Connector URL

    Enter the URL that locates the web service that resides on the fulfillment system. For example.

    http://server:port/soa-infra/services/default/ConnectorServiceComposite/connectorprocess_client_ep

    where

    • You 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, you can use the CSF-KEY that references the user credential that Order Management must use to interact with the external web service. There is 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, it is recommended that you configure this 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 configure the server to advertise the security certificate, then it is recommended you use the keystore recipient alias. You must do the following work:

    • 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 this alias to the external service entry you created when you specified the user credential.

    • Add this alias to the Keystore Recipient Alias field on the Manage Connector Details page. This key applies to all services that the target system provides.

    If these options do not work, then configure the servers to use the Oracle security certificate, and then import this certificate into your servers. No setup is required on the calling server for the security certificate.

    Invocation Mode

    Set to one of the following values to determine 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 that Order Management can interact with a 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 Using Integration Cloud Service to Integrate Order Management with Other Systems: Overview.

    • 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 the work that Order Management is performing depends on the response. For example, use synchronous when calling credit check because Order Management must wait for credit check to finish and reply with a credit check succeeded status 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 the work that Order Management is performing does not 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 does not affect order processing.

    Note the following 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 allow Order Management to send the attachments that you add to a sales order.

    If you use the web service OrderInformationService 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. For details about using web services, search for Document ID 2051640.1 (Using Web Services with Oracle Fusion Order Management Cloud) on My Oracle Support at https://support.oracle.com.

  9. Repeat step 8 until you register all services where Order Management must interact.

  10. Create a routing rule that selects the web services. For details, see Routing Requests to Fulfillment Systems: Procedure.

Routing Requests from Order Management to Fulfillment Systems: Procedure

An external interface routing rule specifies how to route a fulfillment request to a fulfillment system. You can 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 the structure that the fulfillment system can understand.

The following examples describe ways that you might use an external interface routing rule.

Example Description

Route a sales order according to the value of an orchestration process attribute.

Route each sales order that is ready to ship to a fulfillment system according to the task type. You can write the following external interface routing rule to meet this requirement, :

  • If the type code is Shipment, then route the sales order to the ABCShippingSystem connector.

Route sales order according to the value of a customer attribute.

Assume your company uses two invoicing systems. and that system ABC sends invoices to a customer named Widget Company. You can write the following external interface routing rule to meet this requirement:

  • If the product type is Goods, and if the task type is Invoice, then route the request to the ABCInvoicingSystem connector.

Make sure each only one routing rule applies for each condition. If more than one routing rule meets the connector selection criteria, then Order Management might randomly choose any one of the connectors.

Assume you must create a routing rule that implements the following condition:

  • If the task type is Shipment, and if the quantity is 1,000 or more, then route the shipment request to the Big Shipments Warehouse.

You will create the following rule.

rule that You will create

Summary of the Work

Create an external interface routing rule:

  1. Create the If statement.

  2. Create the Then statement.

This topic describes how to declare variables, use Advanced Mode, use Tree Mode, use the Condition Browser, and so on. It is strongly recommended that you make sure you are familiar with these concepts. For details see Using the Business Rules Editor: Procedure and Using Advanced Mode and Tree Mode in Business Rules: Explained.

For details about how to use a simplified rule builder, see Using Visual Information Builder to Create Rules: Explained.

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

Create the If Statement

You will create the following If statement.

If statement that you will create

Create the If statement:

  1. In the Navigator, click Setup and Maintenance.

  2. On the Setup page, click Order Management.

  3. Search for, and then open Manage External Interface Routing Rules.

  4. On the Manage External Interface Routing Rules page, next to the View list, click Add, click Add Rule, click Expand, click Show Advanced Settings, and then set the following values.

    Attribute Value

    Name

    Route Shipping Request

    Description

    Rule that routes invoice requests for item 2TX to the Big Server fulfillment system.

    Active

    Contains a check mark

    Advanced Mode

    Contains a check mark

    Tree Mode

    Contains a check mark

    Root

    Order Header

  5. In the If area, set the following values.

    Attribute Value

    Field to the left of Is A

    header

    Field to the right of Is A

    Order Header

  6. Click Add Test, click Simple Test, and then click Left Value.

  7. In the Condition Browser, expand header, click Task Type, and then click OK.

  8. Set the following values.

    Attribute Value

    Right Value

    "Shipment"

    You must include the double quotation marks.

  9. Click Add Pattern, and then set the following values.

    Attribute Value

    Field to the left of Is A

    fline

    Field to the right of Is A

    header/Order Fulfill Line

  10. Click Add Test, click Simple Test, and then click Left Value.

  11. In the Condition Browser, expand fline, click Ordered Quantity, and then click OK.

  12. Set the following values.

    Attribute Value

    Right Value

    "1000"

    You must include the double quotation marks.

Create the Then Statement

You will create the following Then statement:

the Then statement that you create

Create the Then statement:

  1. In the Then area, click Add Action, and then click Call.

  2. Click Select a Target, and then click More.

  3. Page down a number of times, click Set Connector Name, and then click OK.

  4. Click Edit Properties.

  5. In the Arguments dialog, enter the following value, and then click OK

    Name Value

    Connector Name

    "Big Shipments Warehouse"

    You must include the double quotation marks.

  6. Click Save and Close.

  7. Define a connector named Big Shipments Warehouse.

    For details, see Integrating Order Management with Fulfillment Systems: Procedure.

Test Your Work

Test your work.

  1. Create a sales order with a Quantity of 1001, and then submit it.

    To get an example payload, click Download Files in the Related Links section at the end of this topic, and then use one of the payloads in the example_payloads.zip file that downloads.

  2. Sign into Oracle Enterprise Manager Console, navigate to Flow Trace, Instance of EILMainProcess.

  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.

Routing Requests from Order Management to Fulfillment Systems Without Cross-References: Procedure

This topic describes how to create a routing rule that routes a request to a fulfillment system when Order Management Cloud cannot find a cross-reference that identifies this system.

Assume you must implement the following routing rules:

  • If the task type on the fulfillment line is Shipment, then route the service request to Shipping Fulfillment System A.

  • If Order Management cannot find a cross-reference for Shipping Fulfillment System A in an Oracle Application, then get the cross-reference from your fulfillment system.

You will create the following routing rule.

external interface routing rule

Summary of the Work

Create an external interface routing rule that handles a situation where Order Management cannot find a cross-reference:

  1. Create the If statement.

  2. Create the Then statement.

Note the following points:

  • This topic describes how to create a business rule. It is strongly recommended that you get details about how to create business rules. For details see Using the Business Rules Editor: Procedure.

  • You must complete fields in the same sequence that each table in the following procedure displays them because the rules editor filters the values you can choose in some fields according to the values you set.

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

Create the If Statement

You will create the following If statement:

  • If the task type on the fulfillment line is Shipment

If statement of the routing rule

Create the If statement:

where:

  • Root: Order Header. Specifies to display objects at the root level or below the root level while you create the rule. This filtering helps to make sure you correctly maintain the object hierarchy.

  • Shipment Equals Ignore Case header.Task Type. Specifies to examine the value of the Task Type attribute of the header to determine whether it contains a value of Shipment.

  1. In the Navigator, click Setup and Maintenance.

  2. On the Setup page, click Order Management.

  3. Search for, and then open Manage External Interface Routing Rules.

  4. On the Manage External Interface Routing Rules page, click Add, click Add Rule, and then set the following values.

    Attribute Value

    Name

    Shipping Fulfillment System A

    You can enter any value. To simplify managing your set up, it is recommended that you enter the name you used when you added the connector to this fulfillment system on the Manage Connector Details page. For details, see Integrating Order Management with Fulfillment Systems: Procedure.

    Description

    Rule that routes each request to a fulfillment system when a cross-reference for this system does not exist.

  5. Next to Shipping Fulfillment System A, click Expand, click Show Advanced Settings, and then set the following values.

    Attribute Value

    Advanced Mode

    Contains a check mark.

    Tree Mode

    Contains a check mark.

    Root

    Order Header

  6. In the If area, set the following values, and then click Save.

    Attribute Value

    Field to the left of Is A

    Enter header.

    Field to the right of Is A

    Select Order Header.

    Left Value

    Enter "Shipment".

    You must include the double quotation marks.

    Field to the right of Left Value

    Equals Ignore Case

    Right Value

    In the Condition Browser, expand header, click Task Type, and then click OK.

Create the Then Statement

You will create the following Then statement:

the Then statement for the rule

The first assert specifies the following action:

  • Use Shipping Fulfillment System A to fulfill the item

It uses the following code:

  • Assert New Result ( resultObj:"Shipping Fulfillment System A", resultObjKey:"SERVICE_NAME" )

where:

  • Assert New Result. Asserts the Result fact into the DOOExternalInterfaceLayer dictionary. Note that the Manage External Interface Routing Rules page implicitly uses this dictionary, so it is not necessary to explicitly reference it.

  • Shipping Fulfillment System A. Specifies the name of the shipping system to use.

  • SERVICE_NAME. Instructs the rule to use a service to ship the item.

The second assert specifies the following action:

  • ( resultObj:"Yes", resultObjKey:"RESOLVE_XREF_FOR_CUSTOMERINFO" )

where:

  • Assert New Result. Asserts the Result fact into the DOOExternalInterfaceLayer dictionary.

  • RESOLVE_XREF_FOR_CUSTOMERINFO. Specifies the service to use to resolve the cross-reference.

  • resultObjKey and resultObj. Are each a property of the Result fact. In this example, resultObj specifies the value to send to the object that resultObjKey identifies.

The value that you set for RESOLVE_XREF_FOR_CUSTOMERINFO instructs the cross-reference service to do one of the following:

  • Yes. Use a cross-reference from an Oracle Application.

  • No. Use a cross-reference from the fulfillment system.

If Order Management can find a cross-reference for the fulfillment system in an Oracle Application, then your rule must set the value of RESOLVE_XREF_FOR_CUSTOMERINFO to Yes.

Create the Then statement:

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

  2. Click Select a Target, and then click Result.

  3. Click Edit Properties.

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

    Name Value

    ResultObj

    "Shipping Fulfillment System A"

    You must include the double quotation marks.

    ResultObjKey

    "SERVICE_NAME"

    You must include the double quotation marks.

  5. Click Add Action, and then click Assert New.

  6. Click Select a Target, and then click Result.

  7. Click Edit Properties.

  8. In the Edit Properties dialog, enter the following values, and then click OK.

    Name Value

    ResultObj

    "Yes"

    You must include the double quotation marks.

    ResultObjKey

    "RESOLVE_XREF_FOR_CUSTOMERINFO"

    You must include the double quotation marks.

  9. Click Save and Close.

Actions You Can Set in Routing Rules: Explained

Use actions in your routing rules to specify how to route a request to your fulfillment system.

For details about.

  • Where you set these actions in a routing rule, see Using Visual Information Builder to Manage External Interface Routing Rules: Procedure.

  • How to specify these actions in the payload that the Fulfillment Order service uses, see Task Layer: Explained.

You can specify the following actions.

Action Description Value Attribute to Use in Payload Data Type to Use in Payload

Override Compensation Pattern

Override the compensation pattern that the orchestration process specifies.

Use one of the following values.

  • CANCEL_CREATE

  • CANCEL_UPDATE

  • CANCEL_UPDATE_CREATE

  • UPDATE

  • UPDATE_CREATE

COMPENSATION_PATTERN

String

Override Operation

Override an operation. Order Management uses operations, such as Create, Update, Process, and so on. Your fulfillment system might not recognize these operations. You can use this action to specify an operation that your fulfillment system recognizes.

Text or alphanumeric value.

MODIFIED_OPERATION

String

Prepare Result

Do not use this action or the ResultKey and ResultValue parameters that it uses. They are for Oracle internal only.

Not applicable

Not applicable

Not applicable

Resolve Cross-Reference for Customer

Determines whether to use a cross-reference. If the fulfillment system uses the same attribute values that Order Management uses, then it is recommended that you set Resolve Cross-Reference for Customer to No because a cross-reference is useful only when these values are different. For details, see Creating Cross-References in Order Management: Explained.

Use one of the following values.

  • Yes

  • No

RESOLVE_XREF_FOR_CUSTOMERINFO

String

Set Acknowledgement Timeout

Time period to wait before exiting out of an implicit wait during an interaction with your fulfillment system or with an Oracle Fusion Application.

Use a numeric value for days, hours, minutes, or seconds. For example, 10 minutes.

ACK_TIMEOUT_PERIOD

Number

Set Connector Name

Connector name that the web service uses to communicate details to your fulfillment system. This name helps Order Management route the message to the web service URL that this connector references. For details about how to define a connector so you can specify it in this action, see Managing Connector Details That Integrate Order Management with Fulfillment Systems: Procedure.

You can use the following predefined connectors.

  • Connector to Oracle Fusion Receivables system.

  • Connector to Oracle Fusion Inventory Management system.

  • Connector to Oracle Fusion Receiving system.

  • Connector to Oracle Fusion Shipping system.

SERVICE_NAME

String

Set Interaction Interface Type

Format to use when Order Management interacts with the fulfillment system.

Use one of the following values.

  • Service Data Object

  • Enterprise Business Message

    . Use this value only if you are upgrading from a release that occurs earlier than release 11.

InterfaceType

String

Set Maximum Lines to Aggregate and Send

For details, see the Aggregating Requests section later in this topic.

Not applicable

AGGREGATOR_MAX_FLINES

Number

Set Maximum Time to Wait Before Allowing Cancel

Order Management sends a request to your fulfillment system or to some other Oracle Fusion Application, and then waits to receive a reply. The reply typically arrives within a few seconds. You can use this action to specify how long to wait for the reply and avoid a situation where Order Management goes into a perpetual wait state because of a problem in the transaction, such as the network going down. The Set Acknowledgement Timeout action sets the following wait times, by default.

  • 30 minutes. If the reply does not arrive in 30 minutes, then Order Management enables the Cancel Current Task action in the orchestration process that processes the fulfillment line. If the Order Entry Specialist uses the Cancel Current Task action, then Order Management places the fulfillment line in error recovery, and can then end the task.

  • One month. If the reply does not arrive in one month, then Order Management places the fulfillment line in error recovery.

Use a numeric value to express time of day, such as days, hours, minutes, or seconds.

ABORT_ENABLE_PERIOD

Number

Set Maximum Time to Wait Before Sending

For details, see the Aggregating Requests section later in this topic.

Not applicable

AGGREGATOR_MAX_TIMEOUT

Number

Note the following points.

  • Do not use the Set a Value operation in the DO clause.

  • You must set the Connector Name and the Interface Type. All other actions are optional.

  • You can use any action when you integrate with an application that is not an Oracle Fusion Application. You can also use the Set Acknowledgement Timeout or Set Maximum Time to Wait Before Allowing Cancel actions when you integrate when another Oracle Fusion Application.

Aggregating Requests That Order Management Sends to Your Fulfillment System

You can set the following actions to aggregate requests to your fulfillment system to help minimize problems that might occur with the timing of the requests.

Action Description

Set Maximum Lines to Aggregate

Specify the number of pending requests that must aggregate before calling the fulfillment system.

Send or Set Maximum Time to Wait Before Sending

Specify the amount of time to wait before calling the fulfillment system. This time starts when the aggregator receives the first request.

An aggregator sends the requests that it has aggregated as a single request when a time limit expires or when it has aggregated a number of fulfillment lines for the sales order. If the sales order includes more than one fulfillment line, and if these lines complete the task before the timeout occurs, then it sends all requests when the task completes. Note the following points.

  • The aggregator can aggregate only one time for each fulfillment system for each sales order. If Order Management receives more fulfillment lines for the sales order after the aggregator sends a request, then it sends each of these lines individually.

  • The default timeout is five minutes.

  • You can use the aggregator only with the Fulfill Order task or with a task that you define.

  • If you specify Set Maximum Lines to Aggregate and also set Send or Set Maximum Time to Wait Before Sending, then Order Management uses the first action that meets the conditions. For example, assume you set the following values and 50 lines aggregate before 10 minutes elapse. Order Management will send the lines as soon as 50 lines aggregate. If only 40 lines aggregate after 10 minutes, then Order Management will not send any lines until 10 minutes elapse.

    Action Value

    Set Maximum Lines to Aggregate

    50

    Send or Set Maximum Time to Wait Before Sending

    10

Note the following points.

For Behavior. . . . . .You Specify

Consider only wait time.

Ignore maximum fulfillment lines.

Set action Set Maximum Lines to Aggregate to 0.

This setup is equivalent to the default behavior when you do not specify Set Maximum Lines to Aggregate.

Ignore wait time.

Send only one line for each request.

Set action Set Maximum Lines to Aggregate to 1.

This setup is equivalent to the default behavior when you do not specify either action.

For example, assume the following.

  • You set action Set Maximum Lines to Aggregate to 10.

  • You set action Send or Set Maximum Time to Wait Before Sending to 5.

  • An Order Entry Specialist creates a sales order and adds 16 order lines.

  • Three minutes elapse between the time that the aggregator receives the first order line on the template task and the tenth order line.

Set Maximum Lines to Aggregate equals 10, so Order Management will send 10 lines to the fulfillment system in the first request as soon as the aggregator receives the tenth order line.

Next, assume five minutes elapse by the time the aggregator receives the eleventh order line. During this time, the aggregator receives another three order lines. The value of action Send or Set Maximum Time to Wait Before Sending equals 5, so Order Management will send these four order lines in the second request to the fulfillment system.

For another example, assume the following.

  • You set action Set Maximum Lines to Aggregate to 0.

  • You set action Send or Set Maximum Time to Wait Before Sending to 5.

  • An Order Entry Specialist creates a sales order and adds 16 order lines.

  • Five minutes elapse by the time the aggregator receives the first order line. During this time, the aggregator receives another eleven order lines.

The value of action Send or Set Maximum Time to Wait Before Sending is 5, so Order Management will send these 12 lines in the first request to the fulfillment system.

Cross-References

Creating Cross-References in Order Management: Explained

You must create and maintain cross-references and domain value maps that relate business data between source systems, fulfillment systems, and Order Management Cloud.

Each cross-reference helps to manage data across systems. For example, your source system might use the value Net 30 Days for a payment term while your billing system uses 30 Days. You can use a cross-reference and a domain value map in Order Management to standardize how you represent this payment term.

Order Management uses cross-references when it interacts with the following systems.

Interaction Description

Receives a source order from a source system

The web service that receives the source order resolves the source system to the common value according to cross-references in the Order Orchestration and Planning repository. If cross-reference values do not exist between the source system and the common value for the various attributes, then the order submit process fails with an error.

Sends a request to the fulfillment system.

Order Management cross-references values from the common value to the source system value. If it cannot find the source system value in the Order Orchestration and Planning repository, in the Trading Community model, or product model, then fulfillment goes into error.

Types of Cross-References

You can use the following types of cross-references.

Type of Cross-Reference Description

Customer Cross-Reference

The following work occurs.

  1. A source system sends a source order to Order Management that includes customer data.

  2. If the customer already exists in the Oracle customer master, then Order Management uses a customer cross-reference to get the master customer record and the customer ID of the fulfillment system.

  3. Order Management sends the sales order, including the customer ID and other attributes that it gets from the Oracle customer master, to the fulfillment system.

Note the following points.

  • The Oracle Trading Community Model maintains customer cross-references. You can use an external customer hub with Order Management, but you must maintain cross-references in this model.

  • You can create customer cross-references in the Oracle customer model when you create customer details when you set up your implementation. This set up allows Order Management to resolve Oracle customer values.

Item Cross-Reference

An item cross-reference creates the following types of relationships.

  • Source system. A relationship between the source item and the Oracle item when your deployment uses a product hub.

  • Named item. A relationship between the source item and the Oracle item when your deployment brings items from different systems into the Oracle Product Model, which is a repository that stores master product details.

Other Cross-Reference

The Order Orchestration and Product Data Repository stores cross-references for attributes that are not customer attributes or item attributes. You can use a domain value map for attributes that reside in the Order Orchestration and Planning Data Repository. The collections process uses these maps to map values from one system to another system, which is useful when different systems represent the same data in different ways.

How Order Management Cross-References Customers

You can maintain cross-references between the TCA Registry (Oracle Trading Community Architecture) and a source system that you define. It records the Originating System reference and the Original System Unique Reference (OSR) for each record that your source system sends. The web service uses the Original System Unique Reference to map the record identifier that resides in the source system to the registry identifier that resides in the record in Trading Community Architecture.

The following flow illustrates an example source system and fulfillment system where Order Management uses the OSR to map customer details to the Registry ID in the Oracle Fusion Customer Registry.

Source system and a fulfillment system where Order Management
uses the OSR to map customer details to the Registry ID in the Oracle
Fusion Customer Registry

For example, assume your source system sends a record that includes an identifier value of O-524. In this situation, the web service does the following work.

  1. Loads this record into the TCA Registry.

  2. Assigns a registry ID of P242 for this record in the TCA Registry.

  3. Creates a cross-reference between the source ID, O-524, and the registry ID, P242.

Order Management can use values, such as customer name, contact name, or address, when it synchronizes the following data. It expects the value in Oracle Customer Model will match the value in your source system. If your source system sends a value, then the web service will use it to identify and resolve the master data instead of using the Original System Unique Reference.

Data in Source System Data in Oracle

Reference data that resides on your source system

Customer master data that resides in the Oracle Customer Model repository that the Trading Community Model uses.

Note the following points.

  • To help identify each attribute that references a source system, it is recommended that you include the phrase Original System Reference in the attribute name when you cross-reference your customer master data. For example.

    • Buying Party Original System Reference

    • Ship To Address Original System Reference

    • Bill To Address Original System Reference

  • To cross-reference the product or item data, use the Source System Product Reference attribute.

Collecting Orchestration Data

Order Management cross-references attributes and data that reside in an order capture system and each fulfillment system so it can use a single representation across these different systems. The order capture systems and fulfillment systems use these values to communicate with Order Management. You must use the Oracle Fusion Customer and Product Models to set up customer data, product master data, and cross-references.

Make sure you collect the following types of data for validation and cross-referencing.

  • Activity types

  • Currencies, conversions, and types

  • Demand class

  • Document category

  • FOB points

  • Freight term

  • Invoicing and accounting rules

  • Payment methods

  • Payment terms

  • Receipt methods

  • Return reason

  • Resources

  • Sales credit types

  • Shipment priority

  • Shipping carriers

  • Shipping class of service

  • Shipping mode of transport

  • Tax classification code

  • Tax exemption reason

  • Units of measure

  • Warehouse

These attributes are not related to the customer or the item.

You can use the following data collection tools.

  • Continuous collection. Collects data incrementally. It provides fast collection for each entity that Order Management must source.

  • Targeted collection. Refreshes data for a selected business object. You can run a scheduled process that performs targeted collection as needed or on a schedule.

Cross-referencing a Large Volume of Items

If you must cross-reference a large volume of items, then it is recommended that you use Open Interface tables to import them. You can automatically create cross-references for a spoke system when you use item batches through Open Interface tables or web services to import a spoke system item. For details about how to import cross-references, see Document ID 1311629.1 (Oracle Fusion PIM: Sample SQL to Import Item Cross References into Oracle Fusion Product Information Management Using Open Interface Tables) on My Oracle Support.

Creating Cross-References in Order Management: Procedure

The cross-references that you create in your Order Management Cloud deployment depend on whether you use the product model or the product hub.

Creating Cross-References When You Use the Product Model

Order Management uses the Product Model to store the product definition. It uses the Item Relationship Model in the Product Model to create a cross-reference between the product that resides on your source system and the product that resides in the Product Model. The Item Relationship Model allows Order Management to use a cross-reference to create a relationship between an internal item and another item, or to use a source system item to reference the item.

If your deployment uses only the Product Model, then you can use the Cross-References item relationship. The Product Model allows you to use a value and cross-reference so that you can map details about an item. For example, you can map a cross-reference between an item and a part number in the source system, where the value is the part number that resides in the source system, and the type is Source Item.

Order Management does not come predefined with cross-reference types. You must use the Manage Cross Reference Types page to define them. The lookup code must match the value that Orig System (ORIG_SYSTEM) contains in the source system definition.

You can use item import or Item Service to manage the following types of item relationships.

  • Source System Item Relationship

  • Item Cross-Reference

For details about how to use item import or the service, see the documentation on Oracle Applications Help.

For details about how to create cross-references, including using the Manage Item Relationships page, see Document ID 1309859.1 (Oracle Fusion Product Information Management - Understanding Item Cross References), on My Oracle Support.

Create cross-references when you use the Product Model.

  1. Sign into Order Management with administrative privileges.

  2. In the Navigator, click Setup and Maintenance.

  3. On the Setup and Maintenance page, search for, and then open Manage Standard Lookups.

  4. On the Manage Standard Lookups page, in the Search area, enter the following value, and then click Search.

    Attribute Value

    Meaning

    Item Cross Reference Types

    Note that Oracle Fusion Applications define each item cross-reference type as a standard lookup.

  5. Make a note of the following rows that the Search Results list displays. You must add the source system to each of these lookup codes.

    • Charge Master

    • Old Item Number

    • Supplier Part Number

    • Golden Tax Adaptor

  6. Click Cancel.

  7. On the Search page, search for, and then open Manage Item Relationships.

  8. In the Search Results area, click Actions, and then click Create.

  9. In the Create Cross-Reference Relationship dialog, set the following values.

    Attribute Description

    Organization

    Set to the organization where Order Management must create the item relationship.

    Item

    Do not modify this value. The dialog defaults the value in this field to the item that you must cross-reference.

    Type

    Set the Type to the same value that Order Management uses when it cross-references the item that resides on the source system.

  10. Click Save and Close.

    Order Management creates a cross-reference between the items that you specified.

Creating Cross-References When You Use the Product Hub

If you use the Oracle Product Data Hub instead of the Product Model, then Order Management creates the product cross-reference in the Item Relationship Model differently. It uses the Item Relationship Type for the source system item when it establishes the cross-reference. This relationship is helpful when Order Management must map and identify an item that it has consolidated from more than one source system into a single master item.

Create cross-references when you use the Product Hub.

  1. On the Manage Item Relationships page, click Actions, and then click Create.

  2. In the Create Source System Item Relationship dialog, set the following values.

    Attribute Description

    Organization

    Set to the organization where Order Management must create the item relationship.

    Item

    Choose the item that resides in the Product Model that you must cross-reference.

    Source System

    Choose the source system that contains the item that you must cross-reference.

    Source System Item

    Enter a value that identifies the item that resides on the source system. You must enter the value or the user key that the source system uses to uniquely identify the item.

    Start Date

    Choose the date when this relationship must go into effect.

  3. Click Save and Close.

    Order Management creates a cross-reference between the item that you specified in the Item field and the item that you specified in the Source System Item attribute.

  4. Repeat steps 1 through 3 for each item that you must cross-reference.

Ignoring Cross-References for Downstream Customer Attributes

You can create a business rule that ignores cross-referencing for customer attributes. If you create this rule, and if customer cross-reference values.

  • Do not exist. Order Management sends only the Oracle Fusion identifiers for customer data elements to the fulfillment system. It does not send cross-references. This option allows you to publish the fulfillment request when the fulfillment system does not contain a record for the customer. You must make sure the downstream integration creates or synchronizes customer details before Order Management sends the fulfillment request.

  • Exist. Order Management sends source system values and Oracle Fusion identifiers. This set up allows you to integrate when the fulfillment request is for a new customer who does not exist in the fulfillment system. It allows you to create and synchronize customer details to the downstream connector before you send the fulfillment request to the fulfillment system.

To ignore cross-references for customer attributes, create an external interface routing rule. For details about rules, see Using Business Rules With Order Management: Overview.

  1. Set the root.

    Attribute Value

    Root

    DOOExternalInterfaceLayer.HeaderTLVO

  2. Create the If statements.

    If Value

    header is a

    DOOExternalInterfaceLayer.HeaderTLVO

    header.TaskTypeCode is

    "FulfillOrder"

    header.OrgId is

    204

  3. Create the Then statements.

    Assert New Result

    DOOExternalInterfaceLayer.Result

    (resultObj:"NFFulfillment", resultObjKey: "SERVICE_NAME")

    DOOExternalInterfaceLayer.Result

    (resultObj:"YES", resultObjKey: "RESOLVE_XREF_FOR_CUSTOMERINFO")

    This result implements the cross-reference functionality that this topic describes.

For example.

routing rule

Defining Domain Value Maps That Cross-Reference Data in Order Management: Procedure

You can set up a domain value map to communicate details between Order Management Cloud and your source systems and fulfillment systems.

Order Management uses domain value maps because each system might use different terminology, codes, or identifiers to describe an instance of the same entity that resides in more than one system. For example, the source system might use the value Net 30 Days for a payment term while the billing system uses 30 Days.

Note the following points.

  • Almost all Order Management integrations use cross-references to map these entities between your integrated systems. Order Management uses the term common value to refer to the instance of the reference data that represents the record in Oracle Fusion.

  • Order Management uses a domain value map to cross-reference the common value to each instance of the referenced data that exists in systems outside of Order Management, such as the source system, fulfillment system, billing system, and so on.

  • Data Collections collects data into the Order Orchestration and Planning Repository. It uses domain values to map the values that one system uses to the value that another system uses. Data Collections examines domain value maps to determine whether a row exists that it can use to map the incoming reference data with a common value, and that it can then use to cross-reference and populate the value for the entity during order orchestration planning, and to store the cross-reference for the internal value and the user key value in the repository. You must define a domain value map for each reference entity that is a global entity.

  • You can collect data through a web service or through staging tables. If your source system is an Oracle Fusion application, then you use a scheduled process to collect data through staging tables. For details, see Data Collections, Order Orchestration, and Order Promising: How They Fit Together.

In this example, you will modify a domain value map to map payment terms between your source system and Order Management. You use a web service to collect data for the payment term entity.

Define domain value maps that cross-reference data in Order Management.

  1. Open a web browser, and then sign into SOA Composer at the following address.

    https://server:port/soa/composer

    where

    • server:port identifies the server that hosts your Order Management implementation and the port that Order Management uses to communicate.

    Sign in with the same user name and password that you use to administer Order Management.

  2. On the SOA Composer page, click Open, and then click Open DVM.

  3. In the Select a DVM to Open dialog, notice the domain value maps that you can use to map an entity in your source system to a common value according to the cross-reference in the repository.

    For example.

    Select a DVM to Open dialog
  4. Click the row that includes mscPaymentTerm.dmv in the DMV File column, and then click Open.

  5. Notice that this domain value map comes predefined to map different payment terms from two difference source systems. It maps them to a single common payment term in Order Management. It maps the following payment terms.

    • Maps the N_30 payment term from the GPR source system to N30 in Order Management.

    • Maps the Net_30 payment term from the LEG source system to N30 in Order Management.

    For example.

    mscPaymentTerm.dmv in the DMV File
  6. Click the row that includes LEG in the SourceSystem column, and then click Edit Domain Values.

  7. In the Edit Domain Values dialog, in the SourcePaymentTerm row, make the following modification, click OK, and then click Save.

    Old Value New Value

    Net_30

    Net 30

  8. Call the Collections web service. Use the following example payload. This payload collects the Net 30 payment term value from source system LEG.

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/apps/scm/advancedPlanning/collection/configuration/publicS ervice/types/">
    <ns1:processOrderManagementCodesLBO>
    <ns1:instanceCode>LEG</ns1:instanceCode>
    <ns1:omcList xmlns:ns2="http://xmlns.oracle.com/apps/scm/advancedPlanning/collection/configuration/publicS ervice/">
    <ns2:srInstanceCode>LEG</ns2:srInstanceCode>
    <ns2:PaymentTerms>
    <ns2:sourceTermId>155</ns2:sourceTermId>
    <ns2:name>Net_30</ns2:name>
    <ns2:language>US</ns2:language>
    <ns2:setId>155</ns2:setId>
    <ns2:srInstanceCode>LEG</ns2:srInstanceCode>
    <ns2:PaymentTermBase>
    <ns2:startDateActive>2011-01-01</ns2:startDateActive>
    <ns2:name>Net 30</ns2:name>
    <ns2:srInstanceCode>LEG</ns2:srInstanceCode>
    </ns2:PaymentTermBase>
    <ns2:PaymentTermTranslation>
    <ns2:srInstanceCode>LEG</ns2:srInstanceCode>
    <ns2:name>Net 30</ns2:name>
    <ns2:language>US</ns2:language>
    <ns2:sourceLang>US</ns2:sourceLang>
    <ns2:description>Net_30</ns2:description>
    </ns2:PaymentTermTranslation>
    </ns2:PaymentTerms>
    </ns1:omcList>
    </ns1:processOrderManagementCodesLBO>
    </soap:Body>
    </soap:Envelope>
  9. Verify your cross-reference set up.

    For example, use the msc_xref_mapping entity in the following query on the Order Orchestration and Planning Data Repository, and then examine the query results to verify the mapping occurs as you expect.

    select master_organization_id from msc_parameters where refresh_number = 16705
    select master_organization_id from msc_parameters where sr_instance_id = 1000010026240311
    select * from msc_xref_mapping where refresh_number = 17509

    This query returns cross-reference data that Order Management populates in the msc_xref_mapping entity for cross-reference attributes of the payment term entity according to your domain value map. At run time, Order Management uses data in msc_xref_mapping to look up values from the source system or fulfillment system, and their common values in Order Management.

    For example.

    This query returns the cross-reference data that Order
Management populates in the MSC_XREF_MAPPING entity

    For details about this repository, see Data Collections, Order Orchestration, and Order Promising: How They Fit Together.

Creating Cross-References in Order Management: Reference

You can use the Order Orchestration and Planning repository to store data that you collect from different source systems and fulfillment systems, and then use them to cross-reference the entities that Order Management uses during order import or to resolve cross-references.

This repository can store the following types of entities.

Type of Entity Description

Global

References more than one instance of an entity that resides in more than one source system. Data Collection collects each entity into the Order Orchestration and Planning repository, validates it, and then consolidates all the entities it collects into a single record that represents all of the entity instances across all systems. This single record is the global entity. For details about these entities, see Data Collection Entities: Explained.

Source

Do not represent the same data in more than one source system. The instances of source data are distinct. For example, one source system might consider Warehouse as an organization while another source system uses some other classification.

Data Collection collects the transactions that are related to supply and demand so Global Order Promising can do planning and promising. It collects these transactions into the Order Orchestration and Planning Repository. You set up the source system so Order Management can store details that identify the source of records, and to manage this collection and consolidation process. This repository uses these details so it can identify the source system where the details originated.

Data Collection can collect the following global entities. The Domain Value Map column identifies the abbreviation that Order Management uses to set up the cross-reference for each global entity in the repository.

Entity Domain Value Map

Activity Types

mscDOOActivityType

Conversion Types

mscCurrConvType

Currencies

mscCurrCode mscCurrName

Demand Classes

mscDemandClass

Document Categories

mscDocCategory

Free on Board

mscFOBPoint

Freight Carriers

mscCarrier

Freight Terms

mscFreightChargeTerms

Invoicing and Accounting Rules

mscInvoiceAcctRule

Payment Terms

mscPaymentTerm

Receipt Methods

mscReceiptMethod

Return Reasons

mscReturnReason

Sales Credit Types

mscSalesCreditType

Ship Class of Service

mscServiceLevel

Ship Mode of Transport

mscShipModeTransport

Shipment Priority

mscShipmentPriority

Tax Classification Codes

mscTaxCode

Tax Exemption Reason

mscTaxExmptReason

Unit of Measure

mscUOMCode mscUOMName

Data Collection can collect the following source entities.

  • Reason

  • Warehouse

Attributes Order Management Uses to Set Up Domain Value Maps

Order Management cross-references the following attributes in order orchestration and planning for each entity that it cross-references. Yes or No in the Attribute Used to Set Up Domain Value Map column indicates whether Order Management uses the cross-referenced attribute to set up the domain value map.

Reference Entity Attribute Used to Set Up Domain Value Map

Carrier

Carrier_id. No.

Name. Yes.

Currency

Currency_code. Yes.

Name. Yes.

Currency conversion type

Conversion type. Yes.

Document category

Category_id. No.

Category_name. Yes.

Invoicing and accounting rule

Rule_id. No.

Name. Yes.

Payment term

Term_id. No.

Name. Yes.

Receipt method

Receipt_method_id. No.

Name. Yes.

Sales credit type

Sales_credit_type_id. No.

Name. Yes.

Unit of measure

Uom_code. Yes.

Unit_of_measure. Yes.

Activity type

Demand class

Free on board point

Mode of transport

Payment method

Return reason

Service level

Shipment priority

Tax classification code

Tax exemption reason

Lookup_code. No.

Meaning. Yes.

Integration Cloud Service

Using Integration Cloud Service to Integrate Order Management: Overview

You can use Oracle Integration Cloud Service to integrate Order Management Cloud with some other Oracle Application or with an application that resides outside of Oracle. Oracle provides Integration Cloud Service as an integration platform in the cloud to help you maximize the value of your investments in SaaS (Software as a Service) and on-premise applications.

You can leverage the convenience and ease of use that Integration Cloud Service provides to create integrated business processes that operate across multiple application systems in the cloud or on premise, without having to rely on dedicated information technology resources. You can use Integration Cloud Service to integrate Oracle ERP with your commercial applications and software solutions.

You typically require specialized information technology staff to create an integration between applications. Integration Cloud Service simplifies this work so someone who does not have this level of technical expertise can create the flow. A business analyst can create the flow and map the attributes from the Order Information Service to the web service on the channel that your order fulfillment system uses. The analyst can use a WYSIWYG (what you see is what you get) interface to create the mapping.

Communicating with Subscribers

Oracle ERP Cloud adapter uses business events so that you can achieve the following results.

  • Send a notification to a subscriber when a condition occurs.

  • Use the setup on the Manage Business Event Trigger Points page that already exists. Use this setup as the criteria to raise business events.

  • Use one integration for each subscriber system. This subscriber can use a single web service that listens for the conditions through the business event that you specify.

  • Allow the subscriber to request data enrichment in the integration.

The following diagram illustrates how you can deploy a single web service on each of your subscriber systems to receive the notification for each condition that triggers a business event. You can use the Subscribe to ICS integration to subscribe each channel system to this business event. Order Management will send a single event notification to Integration Cloud Service, and then Integration Cloud Service broadcasts it to each of the subscribers that you integrate. If you set up the web service that you deploy on these channel systems to subscribe to this business event, and if they share the same underlying schema, then mapping between the business event output schema and each web service is very similar.

how you can deploy a single web service on each
of your subscriber systems to receive the notification for each condition
that triggers a business event

Order Management can send a notification each time one of the following conditions occurs when you use the Sales Order Notification business event. Order Management sends a notification each time one of the following conditions occurs.

  • Update order header status.

  • Update fulfillment line status.

  • Split fulfillment line.

  • Close fulfillment line.

  • Apply hold.

  • Change the jeopardy priority.

  • Update a predefined attribute on a sales order.

  • Finish changing a fulfillment plan.

Specifying the Data to Communicate

The following diagram illustrates how you can configure the Oracle ERP Cloud Endpoint in Integration Cloud Service to publish web services and business events.

integrate

Order Information Service

Order Management publishes the Orchestration Order business object and the web service OrderInformationService to the catalog in the Order ERP cloud. You can choose this business object and web service, and then choose one of the following operations.

Operation Description

GetOrderDetails

Get details about the progress of a sales order from Order Management.

ChangeOrderAllowed

Determine whether Order Management allows changes on the sales order or fulfillment line.

ChangeOrderAttributeAllowed

Determine whether Order Management allows changes on a sales order attribute.

GetCrossReferencedData

Allow a source system that subscribes to the Sales Order Notification business event to get cross-referenced values that the calling application can use. Use this operation as the enrichment service when receiving the Sales Order Notification business event. For details about cross-references, see Creating Cross-References in Order Management: Explained.

You can use the OrderImportService web service to send new sales orders and to revise existing sales orders.

For details about how to specify the data to communicate, see the Creating Connections section and Creating Integrations section of the guide Using Oracle Integration Cloud Service on Oracle Help Center.

Order Fulfillment Response Service

The following diagram illustrates how you can use the Order Fulfillment Response Service to process the response from a fulfillment system.

how you can use the Order Fulfillment Response
Service to process the response from a fulfillment system

Explanation of Callouts

Order Management uses the following sequence when you use this service.

  1. Order Management raises a business event so that it can send a fulfillment request to the fulfillment system.

  2. Integration Cloud Service calls the document service of the business event to send the request to the fulfillment system. The output payload of the document service includes the data that the fulfillment system requires to fulfill this request. You can map this output payload to the web service interface that processes the inbound call on the fulfillment system.

  3. The fulfillment system receives the fulfillment request from Order Management, and then calls the processAcknowledgement operation of the Order Fulfillment Response Service to acknowledge that it received the fulfillment request.

  4. Integration Cloud Service routes the acknowledgment to Order Management.

  5. The fulfillment system fulfills the request, and then calls the processFulfillmentResponse operation to communicate the result of the fulfillment request to Order Management.

  6. Integration Cloud Service sends the response to Order Management, and then Order Management processes the response.

You can use the following operations of the OrderFulfillmentResponse service.

Operation Description

processAcknowledgement

The fulfillment system sends an acknowledgment that confirms it received the fulfillment request. processAcknowledgement accepts and processes this acknowledgment.

processFulfillmentResponse

The fulfillment system calls processFulfillmentResponse to communicate the result of the fulfillment request to Order Management.

Note that the service automatically adds the suffix Response to the operation name, which results in a response port name of processFulfillmentResponseResponse. The operation name processFulfillmentResponse indicates that it processes a fulfillment response in reply to an Order Management fulfillment request. Adding the suffix is by design.

StageFulfillmentResponse

For future use.

Mapping Source to Target

Integration Cloud Service provides a drag and drop interface that you can use to map the source payload to the target payload. The following diagram includes part of the mapping for the response payload of the GetOrderDetails operation of the Order Information Service, to a target web service.

part of the mapping for the response payload of
the GetOrderDetails operation of the Order Information Service, to
a target web service

If you map a data element on the source to an element on the target, then this interface adds a green check mark to the source and target. Note the following points.

  • The target also displays the name of the data element at the source.

  • The mapping applies to one target web service, so you must perform this mapping for each target system.

  • If your deployment includes more than one channel system that must call GetOrderDetails, or if it must perform other operations under the Order Information Service, then you must create an integration in Integration Cloud Service, and then map the source payload to the target payload for each channel. However, you only require one connection between the ERP Service Catalog and Integration Cloud Service because it can support an integration under each web service that you publish under the catalog with a WSDL (Web Services Description Language).

For details about how to create a mapping, see the Mapping Data chapter of the guide Oracle Cloud, Using the Oracle Mapper on Oracle Help Center.

Using Integration Cloud Service to Integrate Order Management: How It Works

An Order Management Cloud implementation that includes Oracle Integration Cloud Service uses setup data for the business event trigger points so it can send a notification to a subscriber when the order status changes. The subscriber can also request to get more details about the sales order.

The following diagram illustrates an example flow that uses Integration Cloud Service to integrate Order Management with a channel system that resides in the cloud. Integration Cloud Service can integrate Order Management with a cloud or noncloud channel system.

an example flow that uses Integration Cloud Service
to integrate Order Management with a channel system

Explanation of Callouts

Assume Integration Cloud Service uses the following example flow to integrate Order Management with your subscribers. Assume you configure this integration to broadcast the Sales Order Notification event to subscribers when Order Management updates the order status, such as from Processing to Closed.

  1. A channel system receives the shipment for a sales order, and then sends a notification to Order Management regarding the successful delivery.

  2. Order Management changes the order status from Processing to Closed.

  3. Order Management raises a business event. It examines the configuration on the Manage Business Event Trigger Points page and finds that you configured the Order Header Status Update event so that it is Active, and is also configured to raise an event when the order header status updates to Closed.

  4. Assume you configured the Oracle ERP Cloud Adapter to do the following.

    • Use the OrderInformationService to perform the GetOrderDetails operation.

    • Map order attributes in the GetOrderDetailsResponse source payload to the InvokeOrderInformationServiceResponse target payload.

    • Listen for the Sales Order Notification events that are occurring on https://my_server.com:9999/fndAppCoreServices/ServiceCatalogService?wsdl.

    The Oracle ERP Cloud Adapter recognizes the event, and then uses the configuration that you specified for the Oracle ERP Cloud Endpoint to determine the service and operation to use.

  5. The Oracle ERP Cloud Adapter reads the source to target mapping that you created to determine how to map the source payload to the target payload.

  6. Integration Cloud Service sends a notification to the subscriber at the channel system.

Using Integration Cloud Service to Integrate Order Management: Procedure

To use Oracle Integration Cloud Service with Order Management Cloud to communicate business events, you manage trigger points, create a connection, create an integration, track business events, and then test your work.

Summary of the Work

Use Integration Cloud Service with Order Management to communicate events.

  1. Manage business event trigger points.

  2. Create a connection between Integration Cloud Service and Order Management.

  3. Create an integration that monitors business events.

  4. Track business events.

  5. Test your work.

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

Manage Business Event Trigger Points

Manage business event trigger points.

  1. In the Navigator, click Setup and Maintenance.

  2. On the Setup page, click Order Management.

  3. Search for, and then open Manage Business Event Trigger Points.

  4. Configure the trigger points so that Order Management raises a business event and sends a notification to each subscriber for each of the trigger points that your integration requires.

    For example, send a notification to each subscriber when the status of the sales order header changes to Closed.

    • On the Manage Business Event Trigger Points page, click the Order Header Status Update row, and then make sure the Active option in this row contains a check mark.

    • In the Details area, in the Closed row, add a check mark to the Raise Event option.

    • Click Save.

Manage Business Event Trigger Points to Send Status Updates on Fulfillment Lines

Configuring the trigger points so that Order Management sends a notification to each subscriber when the status updates on a fulfillment line requires that you modify the orchestration process definition.

Manage business event trigger points to send status updates on fulfillment lines.

  1. On the Manage Business Event Trigger Points page, click the Fulfillment Line Status Update row, and then make sure the Active option in this row contains a check mark.

  2. Click Save and Close.

  3. On the Setup page, search for, and then open Manage Orchestration Process Definitions.

  4. On the Manage Orchestration Process Definitions page, search for the orchestration process that your deployment uses.

    For example, search for OrderFulfillmentGenericProcess.

    Each orchestration process controls the status value for each fulfillment line, so you must modify the orchestration process that controls the status value. In this example, you modify the orchestration process that controls the shipping status value.

  5. In the Search Results, click the row that contains OrderFulfillmentGenericProcess, click Actions, and then click Edit.

  6. In the Process Details area, click Status Conditions, click Fulfillment Line Status Values, and then click Edit Status Rule Set.

  7. On the Edit Status Rule Set page, add a check mark to the Notify External System option for each Status Value where your deployment must send a notification.

    For example, to send a notification when the fulfillment line status changes to Shipped, add a check mark to the Notify External System option in the Shipped row.

  8. Repeat step 7 for other status value, as necessary.

    Order management will send a notification when each fulfillment line that references this orchestration process definition reaches the status that you specify in steps 7 and 8.

  9. Repeat steps 4 through 8 for each orchestration process definition in your deployment that updates status values, as necessary.

Create a Connection Between Integration Cloud Service and Order Management

Create a connection between Integration Cloud Service and Order Management.

  1. Log a service request so the Cloud Operations team can register the CSF-KEY (Credential Store Framework) that allows you to log into Integration Cloud Service. You must request a separate key for each order administrator who must access Integration Cloud Service. For details, see Requesting CSF Keys for Oracle Integration Cloud Service: Procedure.

  2. Get access to the SOA Infra Operations Duty role.

    The Order Administrator job role and the Supply Chain Application Administrator job role each come predefined so that they include SOA Infra Operations Duty.

    Note the following points.

    • If you use a different role, such as Order Manager, then use the Security Console to get access to the SOA Infra Operations Duty role.

    • When you create a connection in Integration Cloud Service that you plan to use to publish the Sales Order Notification event to Integration Cloud Service, you must specify the login credentials of an Oracle Cloud Application user so that you can access the Event Catalog URL. You must assign the SOA Operator Role role to this Oracle Cloud Application user.

    • Assign the Order Manager job role so that this same user can call the web services that Order Management uses. Integration Cloud Service requires a single set of Oracle Cloud Application login credentials to define the integrations at design time, and to call the web services at run time. If you use this connection to publish a business event to Integration Cloud Service, and to call Order Management web services, then the Oracle Cloud Application user must use the Order Manager job role and the SOA Infra Operations Duty role.

    For details about job roles, see Assigning Job Roles in Order Management: Explained.

  3. Log into Integration Cloud Service.

  4. On the Welcome page, click Create Connections.

  5. On the Connections page, click New Connections.

  6. In the Create Connection - Select Adapter dialog, click Oracle ERP Cloud.

  7. In the New Connection - Information dialog, set the following values, and then click Create.

    Attribute Description

    Connection Name

    Enter any text that helps describe the connection. For example, enter Connection_for_Order_Status_Update.

    Identifier

    Enter any text that helps describe the connection. For example, enter CONNECTION_FOR_ORDER_STATUS_UPDATE.

    Connection Role

    Select Trigger and Invoke.

    Description

    Enter any text that helps describe the connection. For example, enter Connection for the order status update.

  8. On the page that displays, click Configure Connectivity.

  9. In the dialog that displays, set the following values, and then click OK.

    Attribute Description

    ERP Services Catalog WSDL URL

    Enter the URL that locates the WSDL. Use the following format.

    https://server:port/fndAppCoreServices/ServiceCatalogService?wsdl

    For example.

    https://my_server.com:9999/fndAppCoreServices/ServiceCatalogService?wsdl

    ERP Events Catalog URL (optional)

    Enter the URL that locates the events catalog. Use the following format.

    http://server:port/soa-infra

    For example.http://my_server.com:7818/soa-infra

    These URLs allow Integration Cloud Service to connect to Oracle ERP so that Integration Cloud Service can get details about the services and events that are available in Oracle ERP Cloud. It is recommended that you contact your system administrator to determine the URLs that you must use.

  10. Click Configure Security.

  11. In the Credentials dialog, enter the user name and password that you use to access Order Management as an administrator, and then click OK.

  12. At the top of the page, click Test, and then wait for the indicator that displays immediately to the right of Test to change to a green color, and to display 100%.

  13. Click Save, and then click Exit Connection.

Create an Integration That Monitors Business Events

In this section, you create an integration that resembles the following setup.

integrate

Create an integration that monitors business events.

  1. On the Connections page, Click Integrations.

  2. On the Integrations page, Click New Integration.

  3. In the Create Integration - Select dialog, click Basic Publish to ICS.

    This procedure provides a partial integration example. In an actual integration, it is more likely you will choose Map My Data. To create a full, end-to-end configuration, see the Integration Cloud Service documentation.

  4. In the Create New Integration dialog, set the following values, and then click Create.

    Attribute Description

    What do you want to call your integration?

    Enter any text that helps describe the connection. For example, enter Connection_for_Order_Status_Update.

    Identifier

    Enter any text that helps describe the connection. For example, enter CONNECTION_FOR_ORDER_STATUS_UPDATE.

    Version

    Accept the value that displays.

    What does your integration do?

    Enter any text that helps describe the connection. For example, enter Connection for the order status update.

    Which package does your integration belong to?

    Leave empty.

  5. On the page that displays, you will identify the source of the connection that provides the details. For this example, in the search window, enter Connection_for_Order_Status_Update, which is the integration that you created earlier, and then click ENTER.

  6. Drag, and then drop Connection_for_Order_Status_Update from the search results onto the Drag and Drop a Trigger area.

  7. In the Oracle ERP Cloud Endpoint Configuration Wizard, you specify the events and scenarios that reside in the ERP Cloud connection. Set the following values, and then click Next.

    Attribute Description

    What do you want to call your endpoint?

    Enter any text that helps describe the endpoint. For example, enter PublishOrderStatusUpdated.

    What does this endpoint do?

    Enter any text that helps describe the connection. For example, enter Publishes the OrderStatusUpdated event.

  8. Choose the With Business Events option.

    Integration Cloud Service uses the URLs that you defined earlier to get the event catalog, and then display it in the Business Event for Subscription list. This list will help you to choose from the events that are available in Oracle ERP Cloud.

  9. In the Business Event for Subscription list, enter Order, click Sales Order Notification, and then click Next.

  10. On the page named Configure the Response to Send to the Oracle ERP Cloud Application, note that Integration Cloud Service is only listening for events in this configuration, and then sends them to subscribers without replying to Order Management. So, click None, and then click Next.

  11. On the Summary page, click Done.

Track Business Events

In this section, you set up Integration Cloud Service to track business events so that you test, and then monitor your configuration. It is recommended that you track at least one business event so that you can monitor your deployment during normal operations.

Track business events.

  1. On the page that displays, click Tracking.

    You can use Tracking for testing purposes. It allows you to view the business events that your integration raises in the monitoring system that Integration Cloud Service provides.

  2. For this example, on the Business Identifiers for Tracking page, in the Source tree, under the result branch, click Load More.

    You will choose the following business identifiers to track.

    business identifiers you choose to track
  3. Drag, and then drop SourceTransactionNumber from the hierarchy tree to the first row of the Tracking Field column.

  4. Drag, and then drop Event from the hierarchy tree to the second row of the Tracking Field column.

  5. In the result branch, expand LineStatusUpdate, and then click Load More.

  6. Drag, and then drop StatusCodeNewValue from the hierarchy tree to the third row of the Tracking Field column.

  7. Click Done.

  8. On the page that displays, click Save, and then click Exit Integration.

  9. On the Integrations page, in the Connection_for_Order_Status_Update row, click Pending Activation.

  10. In the Confirmation dialog, add a check mark to the Enable Tracing option, and then click Yes.

Test Your Work

Test your work.

  1. Log into Order Management, create a sales order, add one order line, use the Shipment Details tab to set the Requested Date to a time that occurs in the future, and then click Submit.

  2. In the Confirmation dialog, make a note of the order number that displays, such as 492634, and then click OK.

    The shipment step of an orchestration process runs, sets the Status to scheduled, and then displays this status on the fulfillment line in the Order Lines tab. This shipment step raises the business event that you specified earlier. Note that you must have already configured this orchestration process and finished other setup work in Order Management.

  3. Navigate back to Integration Cloud Service, and then click Monitoring.

  4. On the Integrations Dashboard, click Tracking, and then click anywhere in the Messages area.

  5. In the search window, enter the order number that you noted earlier, such as 492634, and then click ENTER.

  6. In the search results, notice that Order Management raised multiple events for the sales order. Click the event at the top of the list, which is the most recent event.

  7. On the page that displays, click Business Identifiers, and then verify that the tracking information you set up for tracking earlier displays.

    In this example, you set up tracking for the following items.

    • SourceTransactionNumber. Identifies the order number.

    • Event. Identifies the business event that gets triggered, which is FulfillmentLineStatusUpdate.

    • StatusCodeNewValue. Identifies the new status value of the fulfillment line, which is Scheduled.

    For example.

    identify

Filtering Details when Using Integration Cloud Service with Order Management: Procedure

The setup that you perform on the Manage Business Event Trigger Points page is independent of the systems that monitor these business event notifications. If you must control the event notification that your channel or fulfillment system receives at a finer level, then you can use the filter capability in Oracle Integration Cloud Service to filter this data.

Filter details from the Integration Cloud Service:

  1. Use the Manage Business Event Trigger Points page to set up the trigger points that enable the Order Status Updated event.

  2. Create the integration in Integration Cloud Service.

    For details, see the following resources on the Oracle Help Center:

    • Using Integration Cloud Service with Order Management to Communicate Events: Procedure

    • Tutorials for Oracle Integration Cloud Service

    • Videos for Oracle Integration Cloud Service

    • Developing Integration Flows with Integration Cloud Service athttp://www.oracle.com/webfolder/technetwork/tutorials/obe/cloud/ics/DevelopingIntegrationFlowswithIntegrationCloudServicesOBE/ICS_OBE.html

  3. Log into Integration Cloud Service and add the filters:

    • Open the mapping that maps the integration to Order Management Cloud.

    • To allow events that only originate for sales orders from Order Management, create a filter on the Source Transaction System attribute.

    • To ignore events for a trigger that you define on the Manage Business Event Trigger Points page, create a filter on the Event Code attribute for each trigger that you must filter.

    For details, see the following topics in the Using Oracle Integration Cloud Service section on the Oracle Help Center:

    • Configuring Oracle ERP Cloud Trigger Request Properties

    • Configuring Oracle HCM Cloud Trigger Request Properties

    • Creating Routing Expression Logic in Both Expression Mode and Condition Mode in Creating Integrations

    • Note that you can use different attributes, such as Country, SourceTransactionSystem, or EventCode, to create an expression.

Requesting CSF Keys when Using Integration Cloud Service with Order Management: Procedure

The CSF-KEY (Credential Store Framework) key allows you to log into Oracle Integration Cloud Service. You must log a service request so the Cloud Operations team can register the CSF-KEY.

Request the CSF-KEY for Oracle Integration Cloud Service:

  1. Create a service request that requests Oracle to create the CSF-KEY. Include the following details in your request.

    Service Request Section Description

    Subject line

    Include the following text:

    Create the CSF-KEY that we can use to integrate Order Management Cloud with Oracle Integration Cloud Service

    Body

    Provide the identity domain that your integration can use for Order Management Cloud and for Oracle Integration Cloud Service subscriptions. For example, icssvc.identity.domain=idm2152.

    Request a separate CSF-KEY for each order administrator who must access Integration Cloud Service.

  2. Wait for Oracle to reply to your service request. When Oracle does reply, provide them with the user name and password that you use to access Integration Cloud Service. Oracle will then create the CSF-KEY.

Transportation

Integrating Order Management with Transportation Management: Overview

You can integrate Order Management Cloud with Oracle Transportation Management or some other transportation management system that resides outside of Oracle so that it sends sales orders for transportation planning, and receives updates at fulfillment milestones, such as plan completion or proof of delivery.

An integration between Order Management and Oracle Transportation Management can help you achieve the following results:

  • Allow your users to search sales orders according to scheduled ship date, scheduled arrival date, actual delivery date, or transportation planning order.

  • Use Transportation Management to schedule and optimize shipments, finalize the transportation plan, tender shipments to carriers, and send updated schedule dates to Order Management, providing the Order Manager with visibility to the new shipment schedule.

  • Update Order Management after the customer receives the shipment. You can use these dates and statuses to identify exceptions and control the orchestration process flow.

  • Provide the final Delivered status after the item ships.

  • Allow Order Management to leverage your transportation management system so that it provides efficient transportation planning. The transportation management system can optimize the shipment that ships your sales orders to minimize freight costs while meeting your customer delivery requirements.

  • Allow Order Management to use the same process for order changes that it uses for the original sales order.

Integrating Order Management with Transportation Management: How It Works

An integration between Order Management Cloud and Oracle Transportation Management can include several Oracle solutions, such as Oracle Global Trade Management, Inventory Management Cloud, and so on.

Note that Order Management does not come predefined to integrate with Transportation Management or Global Trade Management. However, starting in Release 13, you can use Integration Cloud Service, a synchronous web service, or an asynchronous web service to create an integration with a transportation management system. In releases earlier than Release 13, you can use only an asynchronous web service. For details, see Using Integration Cloud Service to Integrate Order Management with Other Systems: Overview.

The following diagram illustrates the flow that this integration uses.

the flow that this integration uses

Explanation of Callouts

In general, this integration uses the following flow:

  1. A Compliance Manager uses the administrative interface in Global Trade Management to define the party that identifies the customer and to classify the item.

  2. An Order Entry Specialist creates a sales order in Order Management. This sales order references the customer and item that the Compliance Manager created.

  3. Screening performs the following process:

    process that screening performs

    This process includes the following details:

    • Inventory Management Cloud sends a screening request through Integration Cloud Service to Global Trade Management. Note that you can also configure Order Management to perform trade compliance screening before submitting the sales order, and you can use Inventory Management Cloud to screen during shipping.

    • Global Trade Management screens the party for trade compliance according to the request details that you specify in Inventory Management Cloud. For example, you can request to screen shipment lines at a desired stage in the fulfillment process according to your business requirements, such as when fulfillment has staged the fulfillment lines but has not yet shipped them. Global Trade Management can also screen the transaction for export controls, and can screen the party and transaction for licensing.

    • Global Trade Management sends the screening results through Integration Cloud Service to Inventory Management Cloud.

  4. Order Management orchestrates the sales order.

  5. Transportation Management receives a transportation management request for the fulfillment line from Order Management, acknowledges the request, and converts it to an order release. Note the following points:

    • Transportation Management also creates a transportation planning order.

    • Transportation Management examines the supply chain configuration, creates an optimal transportation shipment for one or more fulfillment lines, creates a transportation plan, and then creates and sends a shipment request to Oracle Fusion Shipping.

    • Transportation Management can create different types of direct or consolidated shipments, including single origin truckload, single destination truckload, multistop truckload, less than truckload (LTL), parcel, ocean, rail, and so on.

  6. The Order Management work area updates the screening status on the Order page during orchestration. It also updates the transportation planning order and orchestration process number on the Fulfillment Lines tab, and it updates the status of the orchestration plan on the Orchestration Process tab with the updates that it receives from Transportation Management. For example:

    updates on the screening status on the Order page
during orchestration
  7. Oracle Fusion Shipping picks and packs the sales order in the warehouse.

  8. Global Trade Management creates the export documents, if necessary. It also creates the Shipment Trade Transaction. As an option, it can also screen for compliance according to how you configure it for screening during order fulfillment, and then send the screening results and reason to Shipping.

  9. Oracle Transportation Management creates and sends the tender to carrier. If necessary, Global Trade Management declares the export.

  10. Oracle Shipping ships the item and sends a shipment advice to Order Management and Transportation Management. The customer receives and acknowledges receipt, and then Transportation Management sends the shipment delivery confirmation to Order Management. Order Management sends the fulfillment line to Oracle Fusion Accounts Receivable for invoicing, and then sets the fulfillment line status to Closed.

Setting Up Orchestration Processes to Perform Transportation Management Tasks

You can set up an orchestration process so that it performs Transportation Management tasks. For details, see Integrating Order Management with Transportation Management: Procedure. Note the following points:

  • You use the DOO_TransportationPlanning task type in an orchestration process to create the integration. This task type allows Order Management to send a new request to the transportation management system, and to update or cancel an existing request.

  • You can reference DOO_TransportationPlanning at any point in the stepwise sequence of an orchestration process, depending on your business requirements. For example, you can configure an orchestration process so that it identifies the source of supply, reserves inventory, and then performs transportation planning.

  • Order Management can process the response it receives from Transportation Management at different steps in the orchestration process, such as after the transportation plan finishes, or after it receives proof of delivery. Order Management can use this response after the transportation plan finishes even if the orchestration process is not currently running the DOO_TransportationPlanning task.

  • The DOO_TransportationPlanning task type uses an indicator to mark each fulfillment line that Transportation Management planned so that some other system can process it. For example, the predefined integration with Inventory Cloud sets a transportation planning hold on each shipment request that references a fulfillment line that contains this indicator. This integration releases the hold only after Transportation Management receives the transportation shipment plan.

The following relationship exists between the fulfillment line and the DOO_TransportationPlanning task type in the orchestration plan.

the relationship between the order line and the
DOO_TransportationPlanning task type in the orchestration plan

Integrating Order Management with Transportation Management: Procedure

You use Integration Cloud Service to create an integration between Order Management Cloud and Transportation Management. You can also set up an orchestration process so it performs Transportation Management tasks.

In the example in this topic, you will create the following orchestration process so that it sends the request for transportation planning after the fulfillment system identifies a source and reserves inventory.

orchestration process that sends the request for
transportation planning

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

Integrate Order Management with Transportation Management:

  1. Use Integration Cloud Service to create an integration between Order Management and Transportation Management.

    Make sure you set the business event trigger points that your deployment requires to start this integration process. For details, see Using Integration Cloud Service to Integrate Order Management with Other Systems: Overview.

  2. Log into Order Management with administrative privileges.

  3. In the Navigator, click Setup and Maintenance.

  4. On the Setup page, click Order Management.

  5. Search for, and then open Manage Orchestration Process Definitions.

    For details about how to configure an orchestration process, see Defining Orchestration Processes: Explained.

  6. On the Manage Orchestration Process Definitions page, search for ShipOrderGenericProcess.

  7. In the Search Results, click Actions, and then click Duplicate.

    Note that you can integrate Order Management with Transportation Management only through a long-running task.

  8. In the Edit Orchestration Process Definition dialog, set the following values, and then click Save.

    Attribute Value

    Process Name

    Enter any text. For this example, enter ShipOrder_PlanTransportation.

    Process Display Name

    Enter any text. For this example, enter Ship Order and Plan Transportation.

    Process Class

    Ship Order Class

  9. Click Status Conditions.

  10. In the Orchestration Process Status Values area, add the following status values.

    Attribute Value

    Awaiting Transportation Planning Response

    "Transportation Planning" = "DOO_TP_AWAIT_ACCEPT"

    You can use this expression as an exit condition for the Wait step.

    Transportation Planning Request Accepted

    "Transportation Planning" = "DOO_TP_REQ_ACCEPT"

    Transportation Planning Request Rejected

    "Transportation Planning" = "DOO_TP_ REQ _REJECT"

    Transportation Planning Completed

    "Transportation Planning" = "DOO_TP_PLANNED"

  11. On the Step Definition tab, add the following step at any location in the sequence of steps. This step sends the sales order to the fulfillment system for transportation planning. For this example, add this step immediately after the Create Reservation step.

    Attribute Value

    Step Name

    Send Request to Transportation Management

    Step Type

    Service

    Task Type

    DOO_TransportationPlanning

    Task

    TransportationPlanning

    Service

    Create Transportation Planning

    Update Service

    Update Transportation Planning

    Cancel Service

    Cancel Transportation Planning

    Use Transactional Item Attributes

    Contains a check mark.

    Use Flexfield Attributes

    Contains a check mark.

  12. Optional. Add the following step immediately after the Send Request to Transportation Management step.

    This step temporarily pauses the orchestration process so that Transportation Management can validate the planning request before the orchestration process creates the shipment request. It is recommended that you configure your orchestration process so that it processes the response while waiting on a pause step. However, an orchestration process can process the response on any step. If you do not add this step, then the orchestration process will continue to run and fulfill the sales order without waiting for validation from Transportation Management.

    Attribute Value

    Step Name

    Wait for Transportation Management

    Step Type

    Service

    Task Type

    DOO_TransportationPlanning

    Task

    TransportationPlanning

    Service

    Wait for Transportation Planning Validation

    Exit Criteria

    Add a check mark to each of the following criteria:

    • Canceled

    • Transportation Planning Request Accepted

    This exit criteria causes the orchestration process to wait until the Transportation Planning Request Accepted status equals Y, or until Order Management cancels the request, such as through a time out.

    Next Expected Task Status

    Transportation Planning Request Accepted

    Use Transactional Item Attributes

    Contains a check mark.

    Use Flexfield Attributes

    Contains a check mark.

eBusiness Suite

Integrating Order Management with Oracle eBusiness Suite: Overview

If you own an application that is part of Oracle E-Business Suite, Enterprise Resource Planning (Oracle EBS ERP), and plan to migrate to Order Management Cloud in phases, then you can integrate Order Management with E-Business Suite so that you can continue to use to E-Business Suite to perform some of the fulfillment functionality.

You can deploy a connector that resides between Order Management and the Integrated SOA Gateway in E-Business Suite. It allows you to send sales orders and communicate status updates between Order Management and E-Business Suite. This connector uses a SOA (service-oriented architecture) and BPEL (Business Process Execution Language) composite that you can use to deploy to an SOA server. The example in this section implements the following functionality:

  • Allows Order Management to send sales orders to eBusiness Suite so that eBusiness Suite can fulfill the sales order, including shipment and invoice.

  • Allows eBusiness Suite to send status updates to Order Management. If the customer details do not already exist in eBusiness Suite, then this integration synchronizes it when eBusiness Suite receives the sales order.

These integration flows use a connector that you deploy on an SOA server. They also use services from Order Management and the Integrated SOA Gateway in eBusiness Suite. This gateway is part of Oracle eBusiness Suite, release 12.1 and higher. It includes the following parts:

  • Integration Repository. Allows you to use public APIs (application program interface) in eBusiness Suite that create and deploy the integration as a web service. You can use this integration to send sales orders from Order Management to eBusiness Suite, and to use an API in eBusiness Suite named Process Order as a SOA (service-oriented architecture) web service. In general, this document describes APIs that use PL (Procedural Language) or SQL (Structured Query Language).

  • Service Invocation Framework (SIF). Uses the business events that eBusiness Suite raises, and it uses event details to call an external web service. This integration uses the Service Invocation Framework in ISG to send the status update from eBusiness Suite to Order Management. Order Management uses a web service to process the status update response that the Service Invocation Framework calls.

Oracle provides this connector and example integration only for testing purposes. Oracle does not support this connector or example integration in a production environment.

For details about:

  • Integrations and the architecture that Order Management uses, see the section that describes the Order Management architecture in the Implementing Order Management Guide on Oracle Help Center at https://docs.oracle.com/en/cloud/saas.

  • Integrated SOA Gateway, see Oracle E-Business Suite Integrated SOA Gateway Implementation Guide, Release 12.1, Part Number E12169-06 on http://docs.oracle.com. In particular, see the following topics: Administering Native Services, Implementing Service Invocation Framework, and Creating and Using Integration Interfaces.

Features That This Integration Supports

This integration supports the following features.

Feature Description

Synchronize sales orders

This integration can synchronize the following entities when creating a sales order in eBusiness Suite:

  • Customers

  • Addresses

  • Contacts

Create new sales orders

This integration can create sales orders that include the follow types of items and configured items:

  • Items

  • Ship sets

  • Pick-to-order configured item

  • Assemble-to-order configured item

  • Kits

  • Return Material Authorization (RMA)

Revise sales orders

This integration can support the following types of sales order revisions:

  • Revise order, such as modify values in the order header.

  • Cancel order.

  • Revise order lines:

    • Cancel order line.

    • Revise an order line, including revising quantity, product configuration, and pricing.

    • Revise addresses, contacts, and so on.

    • Add a new order line to an existing sales order.

    • Revise addresses, contacts, and so on.

Synchronize status updates

This integration synchronizes order status updates and sales order splits. This synchronization includes the following details:

  • Order Line status, including Awaiting Shipping, Shipped, Fulfilled, Awaiting Return, and Returned

  • Scheduled Ship Date

  • Scheduled Arrival Date

  • Warehouse

  • Shipping Method

  • Line Split

Features That This Integration Does Not Support

This integration does not support the following features.

  • Entities that a sales order or order line references, such as.

    • Sales credit

    • Attachment

    • Shipping charge

    • Tax

    • Lot serial number

  • Status updates for shipping details and invoice details

  • Warranty or extended warranty

  • Sales order flows for assets

Requirements for Using This Integration

This integration requires the following items.

Requirement Description

Release

You must use the following releases with this integration:

  • Order Management release 11 with PB5

  • eBusiness Suite release 12.1.3 and OM Patch 23249299:R12.ONT.B

Statuses

This integration assumes that Order Management sends the following statuses:

  • Schedule Ship Date

  • Shipped

  • Fulfilled

  • Returned

  • Canceled

Returns

This integration assumes the following:

  • Order Management allows a return order to reference the original order so that it can identify the sales order that you are returning.

  • Order Management sends only the model to eBusiness Suite for returns. It does not send the order lines that the model references.

Synchronization

You must synchronize item data before you use this integration.

Bill of Materials

The BOM (bill of materials) structure for each kit, pick-to-order, and assemble-to-order must be identical in the Oracle Fusion Product Master and in eBusiness Suite.

Customer details

If you modify customer details in Order Management, then this integration does not synchronize these details directly from the customer master in Order Management to the customer master in eBusiness Suite. This integration synchronizes these details only if it uses the customer or address during ordering, and it only synchronizes the addresses and contacts that this sales order references.

Deployment Options

You can use this integration with Order Management, the on-premise version of eBusiness Suite, and with connectors deployed on the SOA Cloud Service (PAAS) platform.

Integrating Order Management with eBusiness Suite: How it Works

Order Management Cloud uses the fulfillment task layer to communicate details to and from eBusiness Suite.

Order Management to eBusiness Suite Flows

This section describes how details flow from Order Management to eBusiness Suite.

Creating Sales Order

Order Management uses the following flow to create a sales order.

integrate

Explanation of Callouts

This integration uses the following sequence to create, and then fulfill a sales order.

  1. An end-user creates a sales order, and then Order Management sends it to the Fulfillment Task Layer.

  2. The Fulfillment Task Layer sends a message to the External Interface Layer (EIL).

  3. The External Interface Layer uses a rule to identify the fulfillment system where it must send the request, uses the set up of the web service to identify the URL that locates this fulfillment system, and then sends the sales order to the connector.

  4. The connector receives the sales order as a message, transforms it, calls services from the Integration Repository, and then uses these services to send the sales order to eBusiness Suite.

  5. eBusiness Suite fulfills the sales order and sends status updates to Order Management during this fulfillment. Note the following points:

    • eBusiness Suite calls a business event when it changes an order status. This event allows the Service Invocation Framework to call the connector so that this integration can send the status update to Order Management.

    • If scheduling occurs in eBusiness Suite, or if eBusiness Suite changes the Scheduled Ship Date or the Scheduled Arrival Date because an attribute that influences scheduling changes, then eBusiness Suite creates an event that sends these dates, the Warehouse attribute, and the Ship Method attribute to Order Management. Order Management then updates these attributes.

  6. The connector sends each status that it receives to Order Management.

Sales Order Details That Order Management Sends to eBusiness Suite

Order Management sends the following sales order details to eBusiness Suite.

Details Description

Customer details

This information includes the following details:

  • Bill To Account

  • Ship To Account

  • Bill To Address

  • Ship To Address

  • Contacts

Order Lines

This information includes the following details:

  • Products, including simple products or complex products, such as kits or pick-to-order configured items.

  • Prices. This integration sets the CALCULATE_PRICE_FLAG attribute to P when it is synchronizes the sales order so that eBusiness Suite does not recalculate pricing on the order lines. This setting primarily affects freight charges.

  • Ship Set.