Overview of Using Flexfields to Integrate Order Management with Other Oracle Applications

Use a descriptive flexfield to integrate Order Management with Oracle Receivables, Oracle Shipping, Oracle Receiving, or Oracle Procurement.

You can send each value that an extensible flexfield uses to an upstream source system or to a downstream fulfillment system. You use a web service payload to send the value.

Guidelines

Consider these guidelines.

  • Oracle Receivables comes predefined with a separate entity for each descriptive flexfield. You don't have to use separate entities for descriptive flexfields in Shipping, Receiving or Procurement because their predefined entities already have the descriptive flexfields you need.

  • You make attributes available in the main entity.

  • You must make sure your set up only references attributes that each application supports. For a list of attributes, see Entities and Attributes That You Can Use When You Integrate Order Management with Other Oracle Applications.

  • You must reference the database code that identifies each attribute, such as Attribute1 or Attributedate2. You must not use the implemented names to reference the attributes.

  • If you reference a descriptive flexfield according to context, then you must make sure your set up populates AttributeCategory. If you use a global segment, then it isn't necessary to populate AttributeCategory.

  • If your flexfield is on a fulfillment line, then use only one context for each entity. Your set up must not attempt to process two different contexts at the same time. For example, if you need to process two attributes, then add two segments to the same context. Add segment x and segment y to context A. Don't add segment x to context A and segment y to context B.

Automatically Map Extensible Flexfield

Each interaction uses a service data object (SDO). You must use a specific set of web services. For details, see Web Services That You Can Use to Integrate Order Management.

You can use the Copy-of feature in XLST (Extensible Stylesheet Language Transformations) instead of doing this work manually. This feature dynamically maps the input extensible flexfields to the Order Management entities and maps the extensible flexfield entity in Order Management to the SDO or modified node.

Here's where you can use this feature in Order Management.

  • Sales order integration

  • Template tasks

  • Fulfillment tasks

You must manually map other task types.

Example Payloads

You can examine an example payload that uses a flexfield to send custom data to your downstream fulfillment system. Go to Technical Reference for Order Management (Doc ID 2051639.1), download the Payloads and Files attachment, then see the Other section in the attachment.

Here's part of an example orderImportService payload that uses a flexfield to import custom data from an upstream source system. For the entire payload, see the attachment in Doc ID 2051639.1.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns1:createOrders
            xmlns:ns1="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/types/">
            <ns1:request
                xmlns:ns2="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/">
                <ns2:Order>
                    <ns2:SourceTransactionIdentifier>SN_201117_Desktop_02</ns2:SourceTransactionIdentifier>
                    <ns2:SourceTransactionSystem>GPR</ns2:SourceTransactionSystem>
                    <ns2:SourceTransactionNumber>SN_1811_01_Desktop_02</ns2:SourceTransactionNumber>
                    <ns2:BuyingPartyId>1006</ns2:BuyingPartyId>
                    <ns2:TransactionalCurrencyCode>USD</ns2:TransactionalCurrencyCode>
                    <ns2:TransactionOn>2020-11-08T13:50:50.0340</ns2:TransactionOn>
                    <ns2:RequestingBusinessUnitIdentifier>204</ns2:RequestingBusinessUnitIdentifier>
                    <ns2:RequestingLegalUnitIdentifier>204</ns2:RequestingLegalUnitIdentifier>
                    <ns2:FreezePriceFlag>false</ns2:FreezePriceFlag>
                    <ns2:FreezeShippingChargeFlag>false</ns2:FreezeShippingChargeFlag>
                    <ns2:FreezeTaxFlag>false</ns2:FreezeTaxFlag>
                    <ns2:CustomerPONumber>SNVALE</ns2:CustomerPONumber>
                    <ns2:Line>
                    . . .                            
                        <ns2:AdditionalFulfillmentLineInformationCategories
                            xsi:type="ns12:j_FulfillLineEffDooFulfillLinesAddInfoprivate"
                            xmlns:ns12="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/"
                            xmlns:ns22="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/"
                            xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                            <ns8:Category>DOO_FULFILL_LINES_ADD_INFO</ns8:Category>
                            <!--Single Context(DOO_FULFILL_LINES_ADD_INFO)-->
                            <ns12:FulfillLineEffBPackShipInstructionprivateVO>
                                <ns8:ContextCode>PackShipInstruction</ns8:ContextCode>
                                <ns22:_PackingInstruction>Place bubble wrap on
                                    top and at the bottom</ns22:_PackingInstruction>
                                <ns22:_ShippingInstruction>SOMETHINGRIGHT</ns22:_ShippingInstruction>
                                <ns22:_ShippingCost>1999</ns22:_ShippingCost>
                                <ns22:_NeedbyDate>2020-12-01T00:00:00</ns22:_NeedbyDate>
                                <ns22:_PickDate>2020-12-01T00:00:00</ns22:_PickDate>
                            </ns12:FulfillLineEffBPackShipInstructionprivateVO>
                        </ns2:AdditionalFulfillmentLineInformationCategories>
                    </ns2:Line>
                    . . .
                    <ns2:AdditionalHeaderInformationCategories
                        xsi:type="ns12:j_HeaderEffDooHeadersAddInfoprivate"
                        xmlns:ns12="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/headerCategories/"
                        xmlns:ns22="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/headerContextsB/"
                        xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <ns8:Category>DOO_HEADERS_ADD_INFO</ns8:Category>
                        <ns12:HeaderEffBComplianceDetailsprivateVO>
                            <ns8:ContextCode>ComplianceDetails</ns8:ContextCode>
                            <ns22:_ComplianceInfo>This order complies with the
                                all regulations</ns22:_ComplianceInfo>
                            <ns22:_ComplianceReason>ASLDFSome compliance reason</ns22:_ComplianceReason>
                            <ns22:_ComplianceDate>2015-07-02T10:10:10</ns22:_ComplianceDate>
                            <ns22:_CompleteCompliancedate>2015-07-01T10:10:10</ns22:_CompleteCompliancedate>
                            <ns22:_ComplianceValue>12345</ns22:_ComplianceValue>
                        </ns12:HeaderEffBComplianceDetailsprivateVO>
                        <ns12:HeaderEffBHeaderContext1privateVO>
                            <ns8:ContextCode>HeaderContext1</ns8:ContextCode>
                            <ns22:_H1AttributeChar1>3zVendorrelocationtoUSy</ns22:_H1AttributeChar1>
                            <ns22:_H1AttributeChar2>ABC - xyz</ns22:_H1AttributeChar2>
                            <ns22:_H1AttributeNum1>1999</ns22:_H1AttributeNum1>
                            <ns22:_H1AttributeDateTime1>2015-01-01T10:10:10</ns22:_H1AttributeDateTime1>
                        </ns12:HeaderEffBHeaderContext1privateVO>
                        <ns12:HeaderEffBEND_5FUSE_5FPARTYprivateVO>
                            <ns2:ContextCode>END_USE_PARTY</ns2:ContextCode>
                            <ns22:endUserCustomerName>Attr 1 and 3</ns22:endUserCustomerName>
                            <ns22:endUserAddress>4405</ns22:endUserAddress>
                            <ns22:endUserCustomer>1289</ns22:endUserCustomer>
                            <ns22:endUserAddress2>4420</ns22:endUserAddress2>
                        </ns12:HeaderEffBEND_5FUSE_5FPARTYprivateVO>
                    </ns2:AdditionalHeaderInformationCategories>
                </ns2:Order>
            </ns1:request>
        </ns1:createOrders>
    </soap:Body>
</soap:Envelope>