Useful Information about Workflow Background Process Concurrent Program

What is the purpose of Workflow Background Process

Workflow Background Process is a concurrent program which is run for processing deferred activities, timed out activities, and stuck processes using the parameters specified. The background engine executes all activities that satisfy the given arguments at the time that the background engine is invoked. This procedure does not remain running long term, so you must restart this procedure periodically. Any activities that are newly deferred or timed out or processes that become stuck after the current background engine starts are processed by the next background engine that is invoked.

Workflow Background Process is run with the help of Workflow Background Engine which is PL/SQL Procedure which runs this concurrent program with specified parameters.

Workflow Background Process Parameters:

  • Item Type – Specify an item type to restrict this engine to activities associated with that item type. If you do not specify an item type, the engine processes any activity regardless of its item type.
  • Minimum Threshold – Specify the minimum cost that an activity must have for this background engine to execute it, in hundredths of a second.
  • Maximum Threshold – Specify the maximum cost that an activity can have for this background engine to execute it, in hundredths of a second. By using Minimum Threshold and Maximum Threshold you can create multiple background engines to handle very specific types of activities. The default values for these arguments are null so that the background engine runs activities regardless of cost.
  • Process Deferred – Specify whether this background engine checks for deferred activities. Setting this parameter to Yes allows the engine to check for deferred activities.
  • Process Timeout – Specify whether this background engine checks for activities that have timed out. Setting this parameter to Yes allows the engine to check for timed out activities.
  • Process Stuck – Specify whether this background engine checks for stuck processes. Setting this parameter to Yes allows the engine to check for stuck processes.

 Note: Make sure you have a least one background engine that can check for timed out activities, one that can process deferred activities, and one that can handle stuck processes. At a minimum, you need to set up one background engine that can handle both timed out and deferred activities as well as stuck processes.

How to run Workflow Background Process from Oracle Applications?

1. Responsibility: System Administrator
2. Navigate: Requests > Run
3. Select Workflow Background Process from the list of values.
4. Enter parameters:
Item Type = OM Order Line
Process Deferred = yes
Process Timeout = yes
5. Submit concurrent program.

How to run Workflow Background Process from SQL*Plus?

BEGIN
  wf_engine.background (itemtype=>NULL ,
                        minthreshold=>NULL ,
                        maxthreshold=>NULL ,
                        process_deferred=>TRUE ,
                        process_timeout=>FALSE ,
                        process_stuck=>FALSE);
END;

How to run Workflow Background Process from Unix?

$ $FND_TOP/Admin/Sql/wfbkg.sql

Performance Tuning of Workflow Background Process

Workflow Background Process picks and executes all eligible workflow items related to Oracle Modules like OM,AP,PO,WSH,OKL,ASN,WIP, etc

Hence if ItemType parameter is not specified the workflow background process runs will first check for all eligible workflow activities and then run for all eligible workflows this will result in poor performance. It is preferable to execute the Workflow Background Process with specified ItemType.

References: Oracle Workflow Administrator Guide

Please do comment your views if you like this post!