book fast

Upload: m4mayank

Post on 06-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Book Fast

    1/12

    Optimizing Performance for the Order Management Booking Process

    Rich MercerOracle Corporation: Oracle Support Services Revised May 2011

    The intent of this document is to discuss methods to consider when streamlining the booking process withinthe Oracle Order Management application. There are a number of variables to consider when trying toimprove performance for booking, such as, tax calculation, pricing strategy, hold definitions, etc.Therefore, this document will certainly grow as the booking process performance is refined. For theinception of this paper, the first variable discussed involves scheduling.

    Defer SchedulingIn order to pick release a sales order line, a schedule date is required. As if Release 11i, if no schedule date ipopulated on the order then scheduling code must be run in order to populate this required field. Thescheduling routine uses pertinent information from the order line to derive the best schedule date. The

    minimum information from the order line includes the Item, Quantity, Unit of Measure and Request Date.Optional information may include more detailed data such as the Inventory Organization (Warehouse) andthe requested Schedule Date. This information is used to perform a query mainly against theMSC_DEMANDS, MSC_SALES_ORDERS and MSC_SUPPLIES tables to determine the appropriateschedule date. The request and/or results are temporarily stored in the MRP_ATP_SCHEDULE_TEMPand MRP_ATP_DETAILS_TEMP tables for the ORDER_LINE_ID.

    This scheduling code may be invoked in a variety ways.

    Method 1 AutoScheduling: If Autoscheduling is turned on, the scheduling function isautomatically run to populate the schedule date when the line is first saved to the database. Todetermine quickly if the AutoScheduling is defaulted to on, query up a sales order line and chooseTools from the Menu, if the AutoScheduling is checked then it is turned on by default.

  • 8/3/2019 Book Fast

    2/12

    Method 2 Specify a Schedule Ship Date - If a Schedule Ship Date is specified on the orderline, it is validated through the scheduling routine when the order line is saved. For entering andbooking functions, the Schedule Ship Date is an optional field. It is only required in order toPick Release the order line. The Schedule Ship Date may be manually entered or automaticallypopulated by the Defaulting Rules.

    Method 3 Workflow Function - Finally, Scheduling may be invoked through a function call aspart of a workflow activity. In the seeded workflow process, Line Flow Generic, thescheduling function is not deferred after the booking function is run. Therefore, scheduling isimmediately performed as the end user waits for control to return to the form. This is equivalentto running the scheduling function as ifAutoScheduling were turned on, only it is done afterbooking and not upon the first commit of the line.

    This scheduling routine can be a very time consuming process, and the question needs to be asked, In ourproduction environment, is it important to our business flow that the scheduling routine be done prior to (oras part of) the order being booked? or more simply stated, In our production environment can we defer thescheduling of the order to a background process?

    If it is determined that the scheduling process can be done in the background rather than online while the

    data entry clerk waits, then there is a way to configure your Order Management system to significantlyimprove performance when booking an order. The approach taken here is not so much to decrease thelatency of getting an order to a pick release eligible state, but to increase the throughput, by breaking up theorder flow process into smaller pieces. The following diagram illustrates this point.

    We see that when we reduce the overhead associated with the booking process we reduce the online waittime incurred by the user. This allows the user to process a new sales order instead of waiting for thescheduling code to run, thus increasing throughput. To the left of the boxes above the order is in a state ofBook Eligible, and to the right is the state of Eligible to be Pick Released.

    Configuring the system to defer scheduling requires the following steps:

    Turn AutoScheduling Off

    Ensure the Schedule Date is not populated by Default Rules or manually entered

    Modify the Line Process Flow to Defer Scheduling.

    Turn AutoScheduling OffAutoScheduling can be invoked in a number of ways. In order to turn the defaulting of AutoScheduling Offinvolves looking at a profile option and the definition of the Order Transaction Type.

    Booking Validation and Scheduling

    BookingValidation

    Scheduling

    Time to Book

    Time to Book Deferred to WF Background

  • 8/3/2019 Book Fast

    3/12

    First ensure that the profile forOM: AutoSchedule is set to No. Do this from the Assign Profile Valuesform (Sysadmin: Profiles + System).

    To validate thatAutoScheduling is not defaulted to Yes for the Transaction Types, go to the DefineTransactions Form in Order Management (OM: Setup + Transactions + Define). Under the Shipping tab,ensure theAutoSchedule checkbox is Off for the Order Transaction Type.

    Finally, theAutoSchedule feature can be turned off manually on the form. This is also a good way tovalidate that the defaulting ofAutoScheduling is indeed set to Off. Open the Sales Order form and enter the

    Order Type field. Next, check the value of theAutoSchedule checkbox in the Tools Menu.

  • 8/3/2019 Book Fast

    4/12

    Ensuring the Schedule Date is not populatedTo prevent the scheduling code from being run requires that a schedule date not be populated on the orderline of the order. Direct the users not to insert the schedule date when entering order lines. The othermethod of entering the schedule date is to allow the defaulting rules to populate the field. There is noseeded defaulting rules for the schedule ship date, and you must be certain that a customized rule was notentered. This can be easily confirmed by querying the Defaulting Rules form (OM: Setup + Rules +Defaulting) for the Order Line entity. With your cursor on the Schedule Ship Date field click on theDefaulting Rules button. Validate that no rules exists as shown below:

    Modifying the Line Process Flow to Defer SchedulingThe most time intensive change to implement deferred scheduling is to modify the Workflow process forthe line. For those experienced in using Workflow Builder, this is a trivial task.

  • 8/3/2019 Book Fast

    5/12

    For detailed instructions on implementing this change using the Workflow Builder, see Appendix A of thisdocument.

    The summary of steps required are:1. Copy existing workflow process2. Replace the Schedule Line process activity with Schedule Line, Deferred**

    3. Save the process off to the database4. Assign lines from the Transaction Types form to use the new Line process.

    The Before and After definitions of the line processes follow:

    BEFORE

    AFTER

    ** As of Release 12, a new scheduling sub-process named 'Schedule-Line, Manual' was introduced to controlscheduling manually after the order is booked. If the new sub-process is used in the line workflow, then after

    booking the order, lines are blocked at the 'Schedule - Eligible' activity. From 'Schedule - Eligible' activity thelines can be progressed from Sales Orders window or the Schedule Orders concurrent program can be used toschedule the lines.

  • 8/3/2019 Book Fast

    6/12

    In order to use the newly defined line flow called Line Flow Generic, Scheduling Deferred, the linetypes used on the order for the applicable order type must be modified. Do this by returning to the DefineTransaction Types form for the order type and choose the Assign Lines button. End date the existing lineflows and insert the new line flows.

    Testing the New Flow

    To test, enter a new sales order line which utilizes the new line flow. To get a better perspective of howmuch of an improvement we will realize in the booking process, first save the record using the yellow diskicon on the toolbar. Prior to clicking on the Book Order button, ensure once again thatAutoScheduling isturned Off beneath the Tools Menu and that no Schedule Date is entered. Click on the Book Order buttonand observe the improvement. Exercising the scheduling in a deferred state dramatically improvedperformance on my test system (by a factor of 6).

    To make sure that the scheduling function was not run, return to the order line and validate that theSchedule Date field is still blank for the booked order line.

    The difference between the state of the 2 lines just mentioned is that the first line is not ready for pickrelease until the scheduling code has run. To allow the line to pass through the scheduling activity in

    workflow requires that we run the Workflow Background Process for the OM Order Line as shownbelow (Sysadmin: Requests + Run).

    In a production environment this would not be done is such a manual fashion, but rather be setup as ascheduled request to be run at an interval that suits your business flow.

    Once the request is completed the line will have a schedule date (verified in the Sales Order form), and theline will be ready for Pick Release.

  • 8/3/2019 Book Fast

    7/12

    Appendix A: - Modifying the Workflow Process to DeferScheduling

    Prerequisite1. Loading Workflow Builder 2.5 or higher onto your client machine. If this has not been done or you canno

    connect to the database from your client machine please seek the help of your System Administratorand/or DBA to configure your system accordingly.

    Steps to Modify the Process within Workflow Builder1. Open the Workflow Builder on your client machine (Start > Programs > Oracle >

    Oracle Workflow Builder)2. Choose the Open folder icon or choose File + Open3. Next choose the Database radio button and enter the appropriate connect string:

    4. Choose OK and you will get a list of all the Item Types loaded into the database. The Item Typeyou are concerned with currently is the OM Order Line. Choose to Add it to the Visible side ofthe window as shown.

  • 8/3/2019 Book Fast

    8/12

    5. Choose OK and wait for them to be loaded. Notice at this time that the small apps@vis11i icon isrepresentative of a database disk.

    This means that saving changes to the workflow definition will be done to the database. You want tobe careful to coordinate these changes with any other users who may be using the Workflow Builder atthe same time.

    6. Expand the Processes branch and locate the Line Flow Generic workflow process.

    7. Using the right mouse button, click on this process and choose Copy.8. Again, click on the right mouse button and choose Paste. Do not be alarmed at the error message.

  • 8/3/2019 Book Fast

    9/12

    Once you choose OK you will have the opportunity to change the internal name to a unique value.Change it to the following values as shown below:

    9. Click OK and you will have a newly created workflow process called Line Flow Generic, DeferScheduling which is currently identical to the Order Flow Generic.

  • 8/3/2019 Book Fast

    10/12

    10. Double click on your new process to open it in the Process Window as shown below.

    11. Click on the Schedule Line process (within the process window) highlighted above and choose theDelete button the toolbar (red X).

  • 8/3/2019 Book Fast

    11/12

    12. Now drag the Schedule - Line, Deferred process from the Navigator and drop it onto the ProcessWindow.

    13. Now draw the arrow directing the flow from the Enter Line process to the Schedule Line,Deferred process. Do this by using the right mouse button to click on the Enter Line process andwhile continuing to hold the mouse button down drag the arrow to the Schedule Line, Deferredprocess and then release the mouse button.

  • 8/3/2019 Book Fast

    12/12

    14. Repeat step 13 for drawing the flow arrow from Schedule Line, Deferred to Create Supply Line

    processes.

    15. Save this off to the database using the File + Save option from the Menu.