Fix Errors in All Sales Orders

Fix errors that happen with a set of sales orders, orchestration processes, or fulfillment tasks, not only errors that a search in the Order Management work area returns.

You can use Recover Order, Recover Process, or Recover Task actions to fix errors that cause problems in your sales orders. However, these actions can only fix errors that happen for sales orders that a search in the Order Management work area returns.

Instead, you can use a scheduled process to:

  • Fix errors that happen during order fulfillment. For example, an order fulfillment line that can't reserve inventory because there isn't enough inventory available to fulfill the item.
  • Fix system errors on order fulfillment lines.
  • Evaluate conditions in your orchestration process. For details, see Guidelines for Pausing Orchestration Processes.
  • Fix a problem with an advance shipment notice. For details, see Recover an Advance Shipment Notice.

Try It

Fix errors in all sales orders.

  1. Fix the problem that causes the error.

    If you don't fix the problem, then the same error will continue to happen whether or not you run recovery.

  2. Sign into Oracle Applications. Make sure you have the privileges that you need to run the Recover Errors scheduled process. For details, see Recover Errors.

  3. Go to the Scheduled Processes work area.

  4. On the Scheduled Process page, click Schedule New Process.

  5. In the Schedule New Process dialog, set the value, then click OK.

    Attribute

    Value

    Name

    Recover Errors

  6. In the Process Details dialog, set the parameters to filter the sales orders that you must fix.

    For example, set Customer Name to Computer Service and Rentals, and the scheduled process will attempt to fix errors in all sales orders that contain Computer Service and Rentals in the Customer Name attribute.

    Parameter

    Fix Errors That Happen in Sales Orders. . .

    Orchestration Order Number

    Where the Order attribute contains the value that you enter.

    Assume you create a sales order and its Order attribute contains 56849. If you set this parameter to 56849, then the scheduled process will attempt to fix errors in sales order 56849.

    Source Order Number

    Where the Source Order attribute contains the value that you enter.

    From Ordered Date

    When the Ordered Date attribute happens on or after the date that you enter.

    To Ordered Date

    When the Ordered Date attribute happens on or before the date that you enter.

    Source System

    When the Source Order System attribute contains the source system that you select.

    Process Name

    When the Orchestration Process Number attribute references the orchestration process that you select.

    Customer Name

    When the Customer attribute contains the value that you select.

    Inventory Item

    That have the inventory item that you enter.

    Task Type

    That are currently on the task type that you select. For example, if you select Schedule, then the scheduled process will attempt to fix errors for sales orders that are currently on the Schedule task.

    • We recommend that you specify a task type or a task name. If you don't, then the scheduled process will attempt to recover lines that are in error for all tasks, and that might affect performance.

    Task Name

    That are currently on the task that you select. For example, if you select Schedule Goods, then the scheduled process will attempt to fix errors for sales orders that are currently on the Schedule Goods task.

    Order Orchestration Function

    That involve a specific type of processing or feature. For example, select Approvals, and the scheduled process will attempt to fix errors in each sales order that has an approval.

    Here are some of the values that you can set.

    • Fulfillment Task. Recover order lines that are stuck at various fulfillment tasks in the orchestration process.
    • Fulfillment Process. Recover order lines that are stuck because there's an error with the orchestration process. For example, you didn't deploy the orchestration process.
    • Start Orchestration. Use this value to unlock draft sales orders, recover lines that aren't started, or actions that are stuck. For details, see Recover Sales Orders That Are Locked or Not Started.

    Scope

    See Set the Scope.

    For important details, see Guidelines for Using Scheduled Processes in Order Management.

  7. Click Submit.

  8. In the Confirmation dialog, note the value of attribute Process ID, then click OK > Close.

  9. Click Actions > Refresh.

  10. Use the Process ID that you noted earlier to locate your scheduled process, then make sure the Status attribute for this process displays Succeeded.

  11. Take action, depending on the status.

    Status

    Take Action

    Error

    In the Log and Output section, click the Attachment link, then examine the results. An Error status usually indicates that you must fix the root cause of the error, then run the scheduled process again.

    Succeeded

    View the log to determine how many fulfillment lines Order Management picked, how many it processed, and how many it couldn't process.

Set the Scope

Set the Scope parameter to filter errors according to where they happen.

If You Set the Scope To Then the Scheduled Process Will
Order Fulfillment Errors

Attempt to fix errors that happen only with sales order data in your downstream applications during a fulfillment task.

The scheduled process will ignore the Number of Days to Look for System Errors parameter and the Date to Start Looking, Counting Backward parameter. It will instead use all the other parameters.

System Errors

Attempt to recover order lines that are stuck because of a system problem, such as the database times out, the server times out, there's an unstable server connection, a resource isn't available because there's a stuck thread, there's isn't enough memory, and so on.

The scheduled process will use the Number of Days to Look for System Errors parameter and the Date to Start Looking Counting Backward parameter. It will ignore all other parameters.

If you set the Scope to System Errors, then we recommend that you run the scheduled process no more than one time each day.

Order Fulfillment and System Errors

Attempt to fix errors that happen with sales order data and with the system.

The scheduled process will use only the Number of Days to Look for System Errors parameter and the Date to Start Looking Counting Backward parameter when it fixes system errors. It will use only the other parameters when it fixes fulfillment errors.

Set the Scope for System Errors

You can specify these parameters when you set the Scope parameter to System Errors or to Order Fulfillment and System Errors.

Set This Parameter To Fix System Errors That Happen in Sales Orders. . .
Number of Days to Look for System Errors

During the number of days that you specify.

For example, set Number of Days to Look for System Errors to 5, set Date to Start Looking Counting Backward to May 15, and the process will attempt to fix system errors that happen on May 11 through May 15.

Date to Start Looking, Counting Backward

Starting on the date that you specify, and then counting backward from that date.

If you don't set a date, then the scheduled process starts looking for system errors today, and then starts counting backward from today.

If you set up this scheduled process to run on a schedule, then leave Date to Start Looking Counting Backward empty.

These parameters apply only to system errors. They don't apply to fulfillment errors.

Assume:

  • A fulfillment error happens on May 10:

    Orchestration couldn't create a reservation because the reservation quantity is greater than the available-to-reserve quantity.

  • A system error happens on May 11:

    The request failed. Orchestration process 300100098837243 for sales order 482655 didn't start because it isn't deployed or the server isn't available. Deploy the orchestration process. Make sure the server is up and running.

If you set these values, then the scheduled process will attempt to fix only the system error:

Parameter Value
Scope System Errors
Number of Days to Look for System Errors 5
Date to Start Looking, Counting Backward May 15

If you set these values, then the scheduled process won't attempt to fix either error:

Parameter Value
Scope System Errors
Number of Days to Look for System Errors 1
Date to Start Looking, Counting Backward May 15

If you set these values, then the scheduled process will attempt to fix the system error and the fulfillment error:

Parameter Value
Scope Order Fulfillment and System Errors
Number of Days to Look for System Errors 5
Date to Start Looking, Counting Backward May 15

If you set these values, then the scheduled process will attempt to fix the fulfillment error but not the system error:

Parameter Value
Scope Order Fulfillment and System Errors
Number of Days to Look for System Errors 1
Date to Start Looking, Counting Backward May 15

Filter the Orchestration Processes That You Want to Look At

You can also set these parameters when you set the Scope parameter to System Errors or to Order Fulfillment and System Errors. These parameters apply only to system errors. They don't apply to fulfillment errors.

Parameter Description
Number of Orchestration Process Versions to Fix

Specify the number of versions to fix, starting with the latest version.

Assume you use orchestration process x and orchestration process y. x has versions 1, 2, 3, and y has versions 1, 2, 3, 4, and 5.

  • This parameter has a default value of 1, so if you don't set it, then we'll look at errors in version 3 of x and version 5 of y.
  • If you set this parameter to 3, then we'll look at errors in versions 1, 2, and 3 of x and versions 3, 4, and 5 of y.
  • If you leave this parameter empty, then we'll look at all versions, and that might degrade performance.
Days to Look for Active Orchestration Processes

Specify how many days to look for orchestration processes that are active.

For example, set Days to Look for Active Orchestration Processes to 30, and we will look only at orchestration processes that were active today or during the prior 29 days from today. We won't look at any orchestration process that has an end date that happens more than 30 days ago.

Assume:

  • Today is May 15.
  • You use orchestration process x, and it has versions 1, 2, 3.
  • You also use orchestration process y, and it has versions 1, 2, 3, 4, and 5.
  • The end date for orchestration process x is empty.
  • The end date for orchestration process y is May 1.

If you set these values, then the scheduled process will attempt to fix system errors that involve versions 1, 2, and 3 of process x, but it won't consider any versions of process y:

Parameter Value
Scope System Errors
Number of Orchestration Process Versions to Fix 3
Days to Look for Active Orchestration Processes 10

If you set these values, then the scheduled process will attempt to fix system errors that involve versions 1, 2, and 3 of process x, and it will attempt to fix system errors that involve versions 3, 4, and 5 of y:

Parameter Value
Scope System Errors
Number of Orchestration Process Versions to Fix 3
Days to Look for Active Orchestration Processes 30

Use All the Filters

You can narrow your search even further.

Continuing our scenario, if you set these values, then the scheduled process will attempt to fix only the system error, and it will only look at system errors that involve versions 1, 2, and 3 of process x, but it won't consider any versions of process y:

Parameter Value
Scope System Errors
Number of Days to Look for System Errors 5
Date to Start Looking, Counting Backward May 15
Number of Orchestration Process Versions to Fix 3
Days to Look for Active Orchestration Processes 10

Use the Default Values

You can use these default values when you set the Scope parameter to System Errors or to Order Fulfillment and System Errors:

Parameter Default Value If You Remove the Value and Leave it Empty, the Scheduled Process Will
Number of Days to Look for System Errors 30 Look at errors that happen on all days.
Date to Start Looking, Counting Backward Empty Look at errors starting today to the beginning of time, or at least to the Precambrian era.
Number of Orchestration Process Versions to Fix 1 Look at all versions of each orchestration process.
Days to Look for Active Orchestration Processes 180 Look at all active and inactive orchestration processes.

If you remove all the values from these parameters, then the scheduled process will look at all versions of all orchestration processes, starting today and proceeding to the beginning of time. To avoid performance problems, we strongly recommend that you don't do this.

Set a Schedule

If you click Advanced > Schedule, enable the Using a Schedule option, and then set the Frequency so it recurs, such as Weekly, then make sure you set the parameters so they work efficiently with the schedule.

Assume you don't like having errors in your system that are more than a week old. You prefer to keep it up to date.
  • You run the scheduled process one time and set the Number of Days to Look for System Errors parameter to 180 to clean up all old errors.
  • You then set up a schedule to run the process one time each week.
  • There's no need to look beyond 7 days because you already fixed all the old errors, so you set Number of Days to Look for System Errors to 7. This helps to make sure the process runs efficiently and doesn't put a big burden your system resources.

You can set other parameters in a similar way to help make the process run more efficiently.

In some cases, you might have a need to recover from a specific set of errors. You can set the parameters and specify the schedule differently depending on what you need to recover:
If You Need to Recover Then Set These Parameters
Fulfillment tasks
  • Set the Task Type or the Task Name.
  • Set the Scope to Order Fulfillment Errors.
  • Set the Order Orchestration Function to Fulfillment Task.
Orchestration processes
  • Process Name.
  • Set the Scope to Order Fulfillment Errors.
  • Set the Order Orchestration Function to Fulfillment Process.
System errors Set the Scope to System Errors.
Assume you need to recover all sales order that are stuck at the scheduling task. Here are your settings:
  • Set Task Type to Schedule
  • Set Scope to Order Fulfillment Errors
  • Set Order Orchestration Function to Fulfillment Task

Frequency

Note: Don't run this scheduled process more than one time each day for each combination of parameters. For example, assume you do all the required setups for Global Order Promising, and now need to recover the order lines that are stuck at scheduling. You can run the scheduled process one time each day to recover from these errors.

You can run this scheduled process more frequently to meet a specific requirement, say every eight to ten hours. If you do, you must monitor performance closely. We recommend that you don't run it too often, such as every few minutes or once an hour. You can always run it manually to meet a specific need.

Guidelines

  • Use a fulfillment view in the Order Management work area to determine the attribute values that you need to use for each sales order.

  • Add values to more than one parameter to refine your search. For example, set Customer Name to Computer Service and Rentals, and set Order Orchestration Function to Approvals, and the scheduled process will attempt to fix errors in sales orders that include approvals for your Computer Service and Rentals customer.

  • Use Process Options and Advanced to set other options.

  • You can use the Days to Retry Recovery for Business Events parameter to specify the number of days to recover from errors that involve business events. See Manage Order Management Parameters.
  • Set the profile options. For details, see the Percent of Order Lines in Error in Each Hour subtopic in Use Order Profiles to Control Order Management Behavior.
  • Learn about source orders, source systems, and orchestration processes. For details, see How Order Management Transforms Source Orders Into Sales Orders.

Avoid Severe Performance Problems

Here's how you can reduce the amount of data that the scheduled process must process:
  • You must set at a value in at least one parameter. We recommend that you specify as many parameters as possible.
  • Set the scope.
  • In general, don't run this scheduled process more than one time each day.

You can use the Recover Errors scheduled process only to recover from unplanned errors. You must not use it as part of your regular business flow. For example, assume you frequently don't have enough quantity to reserve an item, and you frequently encounter an error:

A reservation was not created because the reservation quantity is greater than the available-to-reserve quantity.

You might be tempted to set up Recover Errors so it runs repeatedly on a schedule until there is enough quantity and fulfillment succeeds. However, this technique will almost certainly effect performance.

Instead of using Recover Errors, you must implement another solution. In our example, you could add a Pause step to your orchestration process that pauses the process until the quantity that's available to reserve is greater than the requested quantity on the order line. You would place the pause step immediately before the Reservation step.