+ All Categories
Home > Documents > Oracle OM Bussiness Events

Oracle OM Bussiness Events

Date post: 02-Jun-2018
Category:
Upload: srinivassagar
View: 281 times
Download: 3 times
Share this document with a friend

of 25

Transcript
  • 8/10/2019 Oracle OM Bussiness Events

    1/25

    Business Events in Oracle Order Management(An Oracle White Paper, Nov 2013)

    by Srecko Bartl, Sarath Nimmagadda and Vaibhav KapoorEdited by - Anusha Parava and Radha Batchu

  • 8/10/2019 Oracle OM Bussiness Events

    2/25

    Document Structure.............................................................................................................. 3

    Intended Users..................................................................................................................... 3

    DocumentationReferences ................................................................................................... 3Introduction.......................................................................................................................... 4

    The Oracle Workflow Business Event System ............................................................................ 4Business Events in Oracle Order Management............................................................................ 5

    Business Event oracle.apps.ont.oi.xml_int.status...................................... 6

    Set-Up Considerations ........................................................................................................... 6Parameter Details.................................................................................................................. 6

    When raised due to Processing Constraint setup......................................................................7When raised due to Workflow Sub-process setup.................................................................... 8

    Business Event oracle.apps.ont.genesis.outbound.update ..................... 9

    Set-Up Considerations .......................................................................................................... 10Parameter Details................................................................................................................. 10

    Business Event oracle.apps.ont.oip.processfailure.update ................. 11Set-Up Considerations .......................................................................................................... 11Parameter Details................................................................................................................. 11

    Business Event oracle.apps.ont.oip.statuschange.update..................... 12

    Set-Up Considerations .......................................................................................................... 12Parameter Details................................................................................................................. 12

    Business Event oracle.apps.ont.hold.action................................................... 13Set-Up Considerations ..........................................................................................................13Parameter Details................................................................................................................. 13

    Use Case AFully Functional CustomExtension.............................................................14Requirement ....................................................................................................................... 14Setup ................................................................................................................................. 14

    Conclusion ..................................................................................................................... 25

    Business Events in Oracle Order Management Page 2 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    3/25

    Document Structure

    This document starts with a brief introduction of Workflow Business Events as available withOracle e-Business Suite Technology Stack.

    Next, the business events supported out of the box by Oracle Order Management are described.The salient parameters associated with these business events are explained.

    Subsequent sections of the white paper elaborate the set up to be done by Oracle OrderManagement Administrator/Super User, to enable Order Management to emit business eventswith relevant payload (of event parameter values).

    Towards the final phases of the document, an illustrated example delineating the integrationprocess (defining subscriptions to the business events) is presented in Use Case A FullyFunctional Custom Extension.

    Intended Users

    Oracle Applications System Administrators and Third-Party System Integrators find theinformation contained in this document particularly useful.

    Documentation R eferences

    O Oracle Applications - Order Management Open Interfaces, API & Electronic MessagingGuide, part # B14446-01, Chapter 7 (Electronic Messaging Technical Information) and

    Chapter 8 (Electronic Messaging Implementation Considerations).O Oracle Workflow Administrators Guide, API Reference Guide, and Developers Guide.

    Business Events in Oracle Order Management Page 3 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    4/25

    Introduction

    The Oracle Workflow Business Event System

    The Oracle Workflow Business Event System is an application service that leverages the OracleAdvanced Queuing (AQ) infrastructure to communicate business events between applicationsystems. The Business Event System consists of the Event Manager and workflow process eventactivities.

    The Event Manager contains a registry of business events, systems, named communication agentswithin those systems, and subscriptions indicating that an event is significant to a particularsystem. Events can be raised locally or received from an external system or the local systemthrough AQ.

    When an event occurs, the subscribing code gets executed.

    Subscriptions can include the following types of processing:

    O Executing custom code on the event informationO Sending event information to a workflow processO Sending event information to other queues or systems.

    The uses of Business Event System include:

    1. System integration messaging hubs2. Distributed applications messaging3. Message-based system integration4. Business event based workflow processes

    5. Customization of packaged applications in a non-invasive manner

    Business Events in Oracle Order Management Page 4 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    5/25

    Business Events in Oracle Order Management

    Subject to the completion of certain set-up steps, Oracle Order Management raises Business Eventsat salient points during the processing of a given sales order. This allows for the use: Customizationof Oracle Order Management in a non-invasive manner simply by registering suitable subscriptions to therelevant Business Events.

    The following table displays a quick summary of Business Events raised by Order Management:

    Activity of Interest in OrderProcessing

    Supported byName of the Business Event Raised by

    Order

    Processing of ElectronicMessages (XML, EDItransactions) andOrder Import.

    Automatically byseeded workflows.

    oracle.apps.ont.oi.xml_int.status

    Create a sales order (line);Modify a sales order (line);and

    Cancel a sales order (line).

    Defining aprocessing constraintof type:Raise Integration

    Event.

    oracle.apps.ont.oi.xml_int.status

    Status Change Utilizing the seededworkflow sub-process Raise ShowSales Order EventSub Process (ofworkflow item typeOESO i.e., OM ShowSales Order)

    oracle.apps.ont.oi.xml_int.status

    Apply a hold;Release a hold; some flowstatus changes

    For sales orderscreated from order

    sources marked asAIA Enabled

    oracle.apps.ont.genesis.outbound.update

    Process Failure When the profileOM: Raise StatusChange BusinessEvent is set to Yes

    Oracle.apps.ont.oip.processfailure.update

    Status Change When the profileOM: Raise StatusChange BusinessEvent is set to Yes

    Oracle.apps.ont.oip.statuschange.update

    Apply a hold;Release a hold

    When the profile OM:Raise Status ChangeBusiness Event is set toYes.This event will raise forall the sales ordersindependent of Ordersource. i.e AIA& NonAIA enabled.

    oracle.apps.ont.hold.action

    Business Events in Oracle Order Management Page 5 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    6/25

    Oracle.apps.ont.oi.xml_int.status is available in release 11i and up.

    Oracle.apps.ont.genesis.outbound.update is available in 11i10 and R12.1 and up, but not in R12.0.x.

    Oracle.apps.ont.oip.processfailure.update is available on top of 12.1.3 and in 12.2.2, but not in R12.0.x,

    11i.Oracle.apps.ont.oip.statuschange.update is available on top of 12.1.3 and in 12.2.2, but not in R12.0.x,

    11i.Oracle.apps.ont.hold.action is available on top of 12.1.3 and in 12.2.2, but not in R12.0.x and 11i.

    Patch# 16998134:R12.ONT.B provides the following Business events that will be raised in life cycle of

    an Order:

    1. Oracle.apps.ont.oip.processfailure.update

    2. Oracle.apps.ont.oip.statuschange.update

    3. Oracle.apps.ont.hold.action

    Business Eventoracle.apps.ont.oi.xml_int.status

    Set-Up Considerations:

    A raise of this event by Order Management is controlled by the profile option: OM: Electronic MessageIntegration Event Sources. The possible values are XML (default value), XML & EDI and All.

    This profile determines order sources that are capable of raising this business event. The OrderManagement Super User sets this profile option value accordingly.

    Parameter Details:

    The event oracle.apps.ont.oi.xml_int.status is raised with the following parameters:

    Parameter Name Parameter Description Comments

    XMLG_INTERNAL_CONTROL_NUMBER Unique document numbergenerated byXML Gateway for inboundmessages.

    Overloaded to provide aunique id for EDIinbounds and OrderImport as well.

    XMLG_MESSAGE_ID Unique message idgenerated by XMLgateway for

    outbound messages.

    XMLG_INTERNAL_TXN_TYPE Typically 'ONT'except for ConfirmBOD which isowned by 'ECX'.

    Business Events in Oracle Order Management Page 6 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    7/25

    XMLG_INTERNAL_TXN_SUB TYPE Identifies XML transactionType.

    Overloaded tocontainEDI and OrderImporttransaction type,namely '850','860', '855','865', 'GENERIC'

    DOCUMENT_DIRECTION 'IN' or 'OUT'

    XMLG_DOCUMENT_ID Unique ID provided by OMfor outbound messages.

    Overloaded toprovide aunique identifierfor outbound EDItransactions.

    TRADING_PARTNER_TYPE 'C'

    TRADING_PARTNER_ID TP Party ID

    TRADING_PARTNER_SITE TP Party Site ID

    DOCUMENT_NO Sales Order Number

    ORG_ID Organization ID

    PARTNER_DOCUMENT_NO Purchase Order Number

    DOCUMENT_REVISION_NO Change Sequence

    ONT_DOC_STATUS 'ACTIVE', 'SUCCESS','ERROR'

    MESSAGE_TEXT FNDMESSAGEdetailing what

    WF_ITEM_TYPE Workflow Info for XML/EDI

    ProcessingWF_ITEM_KEY Workflow Info for

    XML/EDI

    ORDER_SOURCE_ID Order Source

    SOLD_TO_ORG_ID Customer ID

    ORDER_TYPE_ID Order Type ID

    CONC_REQUEST_ID Processing ConcurrentRequest ID

    PROCESSING_STAGE Code to identifywhy this event was

    raised. Samplevalues include'INBOUND_IFACE','OUTBOUND_SENT'.

    SUBSCRIBER_LIST Comma delimitedlist of product shortnames of theintendedsubscribers e.g.,'ONT, CLN.

    Business Events in Oracle Order Management Page 7 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    8/25

    DOCUMENT_STATUS 'SUCCESS', 'ERROR'

    RESPONSE_FLAG 'Y' for 3A8Change POResponse

    HEADER_ID Order Header identifier

    LINE_IDS Only applicable forevents raised viaProcessingConstraints.

    It may be noted that not every parameter will be populated in all cases, as described in subsequentsections.

    When raised due to Processing Constraint setup:

    The following table contains a Yif a particular parameter is populated for Processing Constraint basedEvent Raise:

    Parameter Name Parameter Populated (Electronic Message Types)

    DOCUMENT_NO Y

    ORG_ID Y

    PARTNER_DOCUMENT_NO Y

    DOCUMENT_REVISION_NO Y

    ORDER_SOURCE_ID Y

    SOLD_TO_ORG_ID Y

    HEADER_ID Y

    SUBSCRIBER_LIST Y (DEFAULT)

    LINE_IDS YColon-delimited string of Line Ids for Line-level triggering.NULL for header-level triggering.

    Note: Regarding the colon-delimited string of Line Ids for line-level triggering: if the valuespopulating the line_id string exceed 2000 characters, the relevant business event will be raised multiple

    times. The Raise Integration Event operation in the Processing Constraints window will not failbecause the line_id string can accommodate more characters.

    Business Events in Oracle Order Management Page 8 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    9/25

    When raised due to Workflow Sub-process setup:

    The following table contains a Y if a particular parameter is populated for workflow sub-processbased event raise (using the Raise Show Sales Order Event Sub Process):

    Parameter Name Parameter Populated (Electronic Message Types)

    DOCUMENT_NO Y

    ORG_ID Y

    PARTNER_DOCUMENT_NO Y

    DOCUMENT_REVISION_NO Y

    ORDER_SOURCE_ID Y

    SOLD_TO_ORG_ID Y

    HEADER_ID Y

    SUBSCRIBER_LIST Y (DEFAULT)

    LINE_IDS Y (ALL)

    Note:Because the event passes no useful line id as its parameter, Raise Show Sales Order Event SubProcess is only suitable to raise events from header-level (OM Order Header) workflow processes.To raise events from a line-level (OM Order Line) workflow process, you can add Event nodes to itsdefinition, with Event Action = Raise, the desired Event Name, and with line id as one of theparameters. Standard activity Set Event Property can be used to set the parameter value(s) asdesired. For more details on this topic, see Oracle Workflow Developers Guide.

    Business Event oracle.apps.ont.genesis.outbound.update

    Set-Up Considerations:

    This business event is raised for orders that are generated from an order source marked as AIAEnabled in the Order Import Sources definition.

    Business Events in Oracle Order Management Page 9 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    10/25

  • 8/10/2019 Oracle OM Bussiness Events

    11/25

    Business Event oracle.apps.ont.oip.processfailure.update

    Set-Up Considerations:

    A raise of this event by Order Management is controlledby the profile option :OM: RaiseStatus Change Business Event. If this profile option is set to Yes then the event is raisedwhen:Any process fails in the Order cycle. Currently this business event is available for only Order Bookingprocess.

    Parameter Details:

    The event oracle.apps.ont.oip.processfailure.update is raised with the following parameters:

    Parameter Name Parameter Description Comments

    HEADER_ID Order Header Identifier header_id is always populated.

    STATUS_CODE Indicates the Order/Line StatusIt canhave the followingvalues ENTERED.

    PROCESS_NAMEIndicates the Process which has failed BOOK_ORDER

    Business Events in Oracle Order Management Page 11 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    12/25

    Business Event oracle.apps.ont.oip.statuschange.update

    Set-Up Considerations:

    A raise of this event by Order Management is controlledby the profile option :OM: RaiseStatus Change Business Event. If this profile option is set to Yes then the event is raisedwhen:1. Order is Booked.2. Line is Sc he du le d .3. Line is Rescheduled.4. Customer Acceptance/Rejection5. Flow status Code on the line is changed to Shipped, Fulfilled, Invoiced and Closed.

    Parameter Details:

    The event oracle.apps.ont.oip.statuschange.update is raised with the following parameters:

    Parameter Name Parameter Description Comments

    HEADER_ID Order Header IdentifierExcept for CustomerAcceptance/Rejection case,header_id is always populated.

    LINE_ID Order Line Identifier

    This will be null when theevent israised at header level when theorder is booked.

    STATUS_CODEIndicates the Order/Line Status

    It canhave the followingvalues BOOKED,SCHEDULED,

    SSDChange,SHIPPED,FULFILLED,INVOICED,CLOSED.

    ACCEPTANCE_STATUS Indicates the Customer AcceptanceStatus of the Order Line

    ACCEPTED WhenCustomer Accepted theOrder LineREJECTED WhenCustomer Rejected theOrder Line

    ACCEPTED_BY Indicates the user who accepted theOrder Line

    It can have the value of

    user_id who submits theCustomer Acceptance.

    REJECTED BY Indicates the user who rejected theOrder Line

    It can have the value ofuser_id who submits theCustomer Rejection.

    REJECTION_REASONIndicates the Customer RejectionComments for an Order Line

    Populated only whenCustomer Rejected the OrderLine

    Business Events in Oracle Order Management Page 12 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    13/25

    Business Eventoracle.apps.ont.hold.action

    oracle.apps.ont.hold.action event is raised for all the sales orders independent of Order source. i.eAIA& Non AIA enabled.

    Set-Up Considerations

    A raise of this event by Order Management is controlledby the profile option :OM: RaiseStatus Change Business Event. If this profile option is set to Yes then the event is raisedwhen:

    1. A hold is applied on a Sales Order.2. A hold is released on a Sales Order.

    3. A hold is applied on a Sales Order Line.

    4. A hold is released on a Sales Order Line.

    Parameter Details:

    The event oracle.apps.ont.hold.action is raised with the following parameters:

    Parameter Name Parameter Description Comments

    HEADER_ID Header ID (reference toOE ORDER HEADERS ALL) of theorder/line that underwent a change,causing the event to be raised.

    Always populated.

    LINE_ID Line ID (reference toOE ORDER LINES ALL) of the orderline that underwent a change,causing the event to be raised.

    Populated when the actionperformed is on a specificorder line.

    A null value indicates, the

    event is the result of anaction that got performed onthe order level.

    CHANGE_TYPE Indicates the type of change the

    order/line is being subjected to.

    APPLY a hold has been

    applied.

    RELEASE a hold has been

    released.

    HOLD_SOURCE_ID Hold Source ID (reference toOE ORDER HOLDS ALL) which

    caused the hold to be applied on theorder header.

    Populated only whenCHANGE TYPE is APPLY or

    RELEASE.

    ORDER_HOLD_ID Hold ID (reference toOE ORDER HOLDS).

    Populated only whenCHANGE TYPE is APPLY orRELEASE.

    HOLD_RELEASE_ID Hold Release ID (reference toOE_HOLD_RELEASES) which causedthe hold to be released from the Order.

    Populated only whenCHANGE_TYPE is RELEASE.

    Business Events in Oracle Order Management Page 13 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    14/25

    Use Case A Fully Functional Custom Extension

    Requirement

    Trigger a custom workflow, registered as part of custom subscription to the seeded business eventoracle.apps.ont.oi.xml_int.status . The event should be raised every time Request Date is updated on abooked sales order line, and every time an order is booked. It should be regardless of order source. Thecustom workflow should make an entry in a custom audit table.

    Setup

    1. Create a custom table XX_OM_BES_TBLwith following definition:

    CREATE TABLE XX_OM_BES_TBL( ORG_ID NUMBER, ORDER_SOURCE_ID NUMBER

    , ORDER_NUMBER NUMBER, HEADER_ID NUMBER, CUSTOMER_ID NUMBER, LINE_NUMBER NUMBER, BOOKED_FLAG VARCHAR2(1), LINE_ID NUMBER, FLOW_STATUS_CODE VARCHAR2(30), REQUEST_DATE DATE, CREATION_DATE DATE);

    The tables purpose is to hold some basic order auditing information.

    2. Create another custom table, XX_OM_BES_ERRORS:

    CREATE TABLE XX_OM_BES_ERRORS (ITEM_TYPE VARCHAR2(8),ITEM_KEY VARCHAR2(240),SQLERRNUMBER NUMBER, SQLERRTEXTVARCHAR2(2000), LOGTIME DATE);

    The purpose of this table is to store any unexpected errors raised during the logging process.

    Business Events in Oracle Order Management Page 14 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    15/25

    3. Create a custom package with the following source code:

    /********************************************************************************** Spec of package XX_OM_BES_PKG_WF**** NOTES

    ** This is created for test purpose*******************************************************************************/

    CREATE OR REPLACE PACKAGE XX_OM_BES_PKG_WF AS

    PROCEDURE Update_BES_InfoToCustTable (p_itemtype IN VARCHAR2,p_itemkey IN VARCHAR2,p_actid IN NUMBER,p_funcmode IN VARCHAR2,p_x_result IN OUT NOCOPY VARCHAR2);

    END XX_OM_BES_PKG_WF;/

    API XX_OM_BES_PKG_WF.Update_BES_InfoToCustTable() contains sample code to populatethe audit table XX_OM_BES_TBL.

    /********************************************************************************** Body of package XX_OM_BES_PKG_WF**** NOTES** This is created for test purpose*******************************************************************************/

    CREATE OR REPLACE PACKAGE BODY XX_OM_BES_PKG_WF AS

    PROCEDURE Update_BES_InfoToCustTable (p_itemtype IN VARCHAR2,p_itemkey IN VARCHAR2,p_actid IN NUMBER,p_funcmode IN VARCHAR2,p_x_result IN OUT NOCOPY VARCHAR2)

    ISl_order_source_id NUMBER;l_sold_to_org_id NUMBER;l_order_number NUMBER;l_org_id NUMBER;l_result VARCHAR2(30);

    l_header_id NUMBER;l_line_id NUMBER;l_pos NUMBER;l_line_number varchar2(100);l_request_date DATE;l_open_flag VARCHAR2(1);l_flow_status_code VARCHAR2(30);l_line_ids VARCHAR2(4000);l_sqlcode number;l_sqlerrm VARCHAR2(2000);

    Business Events in Oracle Order Management Page 15 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    16/25

    CURSOR lines_info (c_line_id NUMBER) ISSELECT line_id, booked_flag, request_date, flow_status_code

    , line_number||'.'||shipment_number AS Line_Num, (SELECT order_number FROM oe_order_headers_all WHERE header_id = l.header_id) AS

    Order_NumberFROM oe_order_lines_all lWHERE line_id = c_line_id;

    cursor header_info (c_header_id NUMBER) ISSELECT booked_flag, request_date, flow_status_code, order_numberFROM oe_order_headers_all lWHERE header_id = c_header_id;

    BEGIN

    l_org_id := wf_engine.GetItemAttrNumber ( p_itemtype, p_itemkey, 'ORG_ID');l_order_source_id := wf_engine.GetItemAttrNumber( p_itemtype, p_itemkey,

    'ORDER_SOURCE_ID');l_header_id := wf_engine.GetItemAttrNumber( p_itemtype, p_itemkey,

    'HEADER_ID');l_sold_to_org_id := wf_engine.GetItemAttrNumber( p_itemtype, p_itemkey,

    'SOLD_TO_ORG_ID');l_line_ids := wf_engine.GetItemAttrText( p_itemtype, p_itemkey,

    'LINE_IDS');

    IF l_line_ids = 'ALL' THEN event was raised because order was bookedOPEN header_info (l_header_id);FETCH header_infoINTO l_booked_flag, l_request_date, l_flow_status_code, l_order_number;CLOSE header_info;

    INSERT INTO XX_OM_BES_TBL( ORG_ID, ORDER_SOURCE_ID, ORDER_NUMBER, HEADER_ID, CUSTOMER_ID, BOOKED_FLAG, REQUEST_DATE, FLOW_STATUS_CODE, CREATION_DATE)VALUES( l_org_id, l_order_source_id, l_order_number, l_header_id, l_sold_to_org_id, l_booked_flag, l_request_date, l_flow_status_code, SYSDATE);

    ELSE event was raised because line request dates were changedWHILE l_line_ids IS NOT NULL LOOP -- decode colon delimited line id list

    l_pos := INSTR(l_line_ids, ':',1, 1);IF l_pos = 0 THENl_line_id := l_line_ids;l_line_ids := NULL;

    ELSEl_line_id := SUBSTR(l_line_ids, 1, l_pos - 1);l_line_ids := SUBSTR(l_line_ids, l_pos + 1);

    END IF;OPEN lines_info (l_line_id);FETCH lines_infoINTO l_line_id, l_booked_flag, l_request_date, l_flow_status_code, l_line_number,

    l_order_number;CLOSE lines_info;

    Business Events in Oracle Order Management Page 16 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    17/25

    INSERT INTO XX_OM_BES_TBL( ORG_ID, ORDER_SOURCE_ID, ORDER_NUMBER, HEADER_ID, CUSTOMER_ID, LINE_NUMBER, BOOKED_FLAG, LINE_ID, REQUEST_DATE, FLOW_STATUS_CODE, CREATION_DATE)VALUES

    ( l_org_id, l_order_source_id, l_order_number, l_header_id, l_sold_to_org_id, l_line_number, l_booked_flag, l_line_id, l_request_date, l_flow_status_code, SYSDATE);

    END LOOP;

    END IF; -- line_ids = 'ALL'

    p_x_result := 'COMPLETE:COMPLETE';

    EXCEPTIONWHEN OTHERS THENl_sqlcode := sqlcode;l_sqlerrm := SUBSTR(sqlerrm, 1, 2000);INSERT INTO XX_OM_BES_ERRORS( item_type,item_key,sqlerrnumber,sqlerrtext,logtime)

    VALUES( p_itemtype,p_itemkey,l_sqlcode,l_sqlerrm,sysdate);

    p_x_result := 'COMPLETE:ERROR';END Update_BES_InfoToCustTable;

    END XX_OM_BES_PKG_WF;/COMMIT;EXIT;

    Business Events in Oracle Order Management Page 17 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    18/25

    4. Create a custom workflow.

    4.1 New Item Type = Custom OM Business Event (Internal Name = XX_OMBES).

    4.2 Create an event of Event Action = Receive and name = Custom Receive Event (InternalName = XX_BES_RECEIVE_EVENT ). Set the Event filter = oracle.apps.ont.oi.xml_int.status

    Business Events in Oracle Order Management Page 18 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    19/25

    4.3 Create a new function Write Details to Custom table (Internal Name =XX_BES_WRITE_DETAILS) and assign Function Name =XX_OM_BES_PKG_WF.Update_BES_InfoToCustTable

    4.4 Create a process Write Details Process

    (Internal Name =XX_WRITE_DETAILS

    ) and check theRunnable checkbox

    4.5 Create a process definition by assigning the receive Custom Receive Event as the startactivity, and workflow standard End as end activity. Place the Write Details to Custom tablefunction activity between the above two activities and join the transition line as shown below:

    Business Events in Oracle Order Management Page 19 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    20/25

    4.6 Create following attributes to the custom item type Custom OM Business Event:

    Event Name and Event Key should be of type Text, Event Message type Event, Line Ids type Textwith length of 2000, and the rest type Number.

    4.7 Set the Event properties under the Event Details property tab as shown below:

    4.8 Create a custom subscription to event oracle.apps.ont.oi.xml_int.status by navigating to

    Workflow administrator responsibility > Business Events > Events tabQuery for event oracle.apps.ont.oi.xml_int.status and press the create icon to create a newcustom subscription to this event

    Business Events in Oracle Order Management Page 20 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    21/25

    Provide the appropriate system name and Action Type = Launch Workflow along withother necessary details for creation, as shown below and click the Next button.

    In the next screen, provide the custom workflow item type and process internal name.Provide the Owner Name and Tag to this event and save the changes

    Business Events in Oracle Order Management Page 21 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    22/25

    5. Setup the processing constraint rule for raising the business event:

    Navigate to OM Super User responsibility > Setup > Rules > Security > Processing Constraints f ormQuery for:

    Application = Order ManagementEntity = Order Line

    Define a new user constraint with Operation = Update

    Attribute = Request DateUser Action = Raise Integration EventEnabled = Checked

    And constraint condition as:Scope = AnyValidation Entity = Order LineRecord Set = LineValidation Template = BookedEnabled = CheckedUser Message = Business event has been raised

    Business Events in Oracle Order Management Page 22 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    23/25

    Save the changes.

    6. Setup the value to profile OM: Electronic Message Integration Event Source'as ALL.

    That completes the necessary implementation & set-up for the request date change part of therequirement.

    Now, test the implementation done so far.

    Navigate to OM Super User responsibility > Orders, Returns > Quick Sales OrderEnter the Operating Unit, Customer details and Order Type information. Ensure otherrequired information to either be defaulted or enter it manually for the successful creationof the order sales order.Once done, save the changes and enter a sales order line with a certain request date.Book the sales order.Now change the request date.Upon saving the changes, business event oracle.apps.ont.oi.xml_int.status will beraised.

    Once the event is raised, navigate to Workflow Administrator responsibility > Status Monitor.

    Query for custom item type XX_OMBES and the latest launched details of custom processXX_WRITE_DETAILSClick on view diagram button to ensure that the custom workflow, tied to customsubscription, is triggered and completed.

    Business Events in Oracle Order Management Page 23 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    24/25

    Finally, check the entry to custom table XX_OM_BES_TBL . There should be a row in this table forthe modified sales order line along with the new request date value and any other desired details.

    For the second part of the requirement, to get an entry in the audit table XX_OM_BES_TBL also

    when an order is booked, there is a few more setup steps required. This is because booking is aflow status change, rather than attributes change, and cannot be captured by processingconstraints. Instead, well use the seeded workflow sub process Raise Show Sales Order EventSub Process.

    7. Copy and rename the seeded order header process R_STANDARD_HEADER (Order Flow Generic). Change the name to R_STANDARD_HEADER_SSO (Order Flow Generic SSO).

    8. In Oracle Workflow Builder, change the definition of Order Flow Generic SSO by insertingthe seeded sub process RAISE_SHOW_SO_SUB (Raise Show Sales Order Event Sub Process)from item type OESO (OM Show Sales Order) between BOOK_PROCESS_ASYNCH (Book -Order, Manual) and CLOSE_HEADER_PROCESS (Book - Order, Manual):

    The item type OESO is defined in file $ONT_TOP/patch/115/import/US/oexwfoa.wft.

    Business Events in Oracle Order Management Page 24 of 25

  • 8/10/2019 Oracle OM Bussiness Events

    25/25

    9. Assign workflow process Order Flow Generic SSO to an order type in OMs TransactionTypes form.

    Now create an order with order type from step 9 and book it. This should cause a correspondingrow to be created in the audit table XX_OM_BES_TBL, as well as a workflow item of type

    XX_OMBES, just as previously, when you tested the request date change scenario.

    Conclusion

    Oracle Order Management provides out-of-the-box support to raise workflow business events atsalient points within the lifecycle of a sales order.

    By coding & registering appropriate subscriptions to the standard business events, in a very non-invasive manner, you can:

    O extend the standard functionality offered by Oracle Order Management, and/orO accomplish third party system integration with Oracle Order Management

    at various instances of interest during the sales order lifecycle.


Recommended