Common Errors and Solutions when Using Workflow in Order Management Mercedes Vizueta Oracle Corporation
Agenda • • • • • • •
Introduction Processing Orders Using Workflow Error Handling Data Corruption Workflow Performance Degradation Data Needed to Request Data Fix Conclusion
Introduction
OM Item Types • OEOH - Starts Header flows • OEOL – Starts Line flows • OECOGS – Builds the COGS account
Generic Order Header Workflow Process
The Order Flow – Generic is the most commonly used header flow. It can be used with any line flow for any item type, with outbound lines and with return lines
Generic Order Line Workflow Process
The Line Flow – Generic is the most commonly used line flow. It can be used for all items including ATO items. It will not work for configured items generated from assemble-to-order models
Viewing Workflow in OM • From OM you can view the active workflow processes and their associated functions, messages, sub-processes, notifications and properties: – Open the desired order in OM – Navigate to the Tools menu and select Workflow Status – A new window opens and displays the workflow status as an activities list.
Activities List Window
Processing Orders Using Workflow
Synchronous, Manual or Deferred Completion • Synchronous: WF activities are executed online until it reaches the end of the flow, a block activity or is deferred • Manual: If the order/line hits an “Eligibility Block”, use the Progress Order LOV to move the process forward. • Deferred: An order or line stops because the flow is deferred to the Background Engine.
Activity Results • Most OM functions use the “OM Sub-Process Results, handles Holds” lookup: – Complete – When it executes successfully. – Incomplete – When it runs into expected errors. – On Hold – When it runs into a generic or activity specific Hold. – Not Eligible – When it does not make sense for the Order Header or Line to be processed by that activity.
Workflow Enabled Order or Line Processes • Booking, Scheduling, Create Supply, ATO Processing • Ship, Pick Release, Ship Confirm • Purchase Release, RMAs • Fulfillment, Invoice Interface • Close Order and Close Line
Error Handling
Expected and Unexpected Errors • Expected Errors: Errors that processes expect to run into and handle. Easy to recover from. – Example: Incomplete Result at Booking
• Unexpected Errors: Errors that a process does not expect: – Data Integrity errors – The table does not exist – Rollback segments cannot be extended – The package does not exist
Incomplete Result at Booking
Process Messages Window • When an activity is completed via the Sales Order window, the Process Messages window appears to display messages that indicate errors. – The error message can be retrieved from the Header or the Line using Actions > View Open Messages. – After providing the missing information you can repeat the Book activity via the “Book” button or the Progress Order LOV.
Process Message Window
Exception Management • Visibility of the Workflow errors to functional users. – After correction of the issues, you can “Retry” the Workflow Activity from the Sales Order/Quick Sales Order Window. – If the activity completes successfully, you will get a success message. Otherwise, you will see the error messages. Retry will have to be repeated after fixing the errors. – When profile “OM: Show Process Messages Flag” is set to Yes, the Open Messages checkbox displays a checked value indicating that message(s) exist for the order.
Fulfill Activity in Error
Retry Fulfill Activity in Error
Retry Activities in Error Concurrent Program • Provides the ability to retry more than one workflow across orders in batch mode. • Can be run in Preview and Execute mode. – Preview is the default. Does not execute the errored flow. Provides a report and count of the error activities along with the errors in the log file. – Execute mode retries the errored flows. It displays the result of the Retry and any error messages in the log file.
Data Corruption
What is Data Corruption? • When the integrity of the data has been corrupted. OM not in synch with OEOH or OEOL workflow status • Order headers or lines cannot be retried successfully using Exception Management functionality – Invalid data must be fixed via direct update using SQL. It is important to identify the exact nature of the data corruption and the number of affected transactions
• Data fix must be provided by Development/Support. – Data fixes are not generic. They should not be applied for other similar issues without approval of Support / Development
Causes of Data Corruption • Not following standard customization practices. – Use OM Workflow Validation functionality to evaluate and validate proposed workflow extensions. – Validation can be done in the Transactions form or through the “Validate OM Workflow” concurrent program.
• • • •
Expediting or skipping problematic lines or headers. Improperly retrying (rewinding) the workflow activity. Purging Workflow or any other OM data using SQL. Modifying item properties when there are open sales orders.
Patches to Prevent Skipping of Workflow • Patch.3968068: Prevents users from skipping activities from the Workflow Status Monitor. • Patch.2979522: Sends a Workflow Notification to the sysadmin and User when he/she skips a Workflow activity.
Patches to Fix Known Data Corruption Issues • Note.398822.1 maintains a list of all data fix patches available (these are not root cause fixes). • Patch.5590106 ensures that all dependent transactions are consistently marked canceled when a Sales Order line is canceled. • Retry Activities in Error concurrent program will set the SHIP_LINE Activity in Error to “Notified” instead of retrying in the case of error (or line progressed to status other than “Notified”) when there is a corresponding closed delivery detail.
Examples of Data Corruption • • • • •
Cannot book orders Lines in Fulfillment / Ship Sets cannot be progressed Invoice interface fails Missing line flows Interface Trip Stop fails: – Order line is closed but delivery details are not yet interfaced. – Order line is canceled but the delivery detail is not yet canceled. – Delivery details are shipped but order lines are in “Awaiting Shipping” status.
Unprocessed Shipping Transactions • Perhaps most critical data corruption. It prevents users from closing the Inventory period. – Records have been shipped confirmed but have not yet been interfaced to Inventory. – Running ITS with debug on will provide Users visibility to the exception/error.
• If re-executing Inventory Interface fails after correcting any errors, the issue would most likely need a data fix script. • For a full detailed listing of the pending shipping transactions, use the BDEprdcls.sql diagnostic script
Workflow Performance Degradation
Causes of Workflow Performance Degradation • Obsolete Runtime Data in the Workflow tables – Run the “Purge Obsolete Workflow Runtime Data” concurrent program on a periodic basis – Only completed workflows with no pending parent and children workflow can be purged
• Improper workflow customization – When care is not taken during customization, the workflow may iterate or loop unnecessarily creating rows in the workflow tables each time. See Note.345090.1.
Data Needed to Request Data Fix
Data Needed to Request Data Fix • Provide the following with Service Request (SR)t: – Diagnostics AppsCheck for OM, Shipping and Pricing – Diagnostics OM Order Information output and/or the HTMomse11i output for the entire order – OMDebug or ITS debug file – BDEprdcl.sql output if issue deals with closing inventory period. – Workflow definition file if issue deals with custom workflows – Cogs_11i.sql output if issue deals with COGS account generation failure
Conclusion
Conclusion • Workflow in Order Management provides you with powerful order processing and fulfillment capabilities. • Improper customizations can lead to data corruption or workflow performance degradation. • Exception Management functionality and the Retry Activities in Error concurrent program provides Users the ability to retry one or more workflow across orders. • Data corruption require direct SQL updates • To obtain a data fix script, please log a Service Request with Support.
Questions?