Search Results wf_engine_bulk




Overview

WF_ENGINE_BULK is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. It is classified as an "OTHER" API and functions as a bulk-processing companion to the core Oracle Workflow runtime engine, APPS.WF_ENGINE. Whereas WF_ENGINE exposes the standard, granular workflow runtime API for creating and navigating individual process instances, WF_ENGINE_BULK provides a consolidated, high-volume entry point for instantiating and advancing workflow processes in bulk. The package is recorded in the E-Business Suite Technical Reference Manual (ETRM) with status VALID, confirming it is a supported, compiled object in the APPS schema.

The business purpose of the package is to reduce the overhead associated with repeated single-item workflow calls. Applications that must launch or progress many workflow items in a single batch — for example, order or service-request processing — invoke WF_ENGINE_BULK to perform these operations more efficiently. This is consistent with its documented dependency on WF_ENGINE and the standard SYS.STANDARD package, and with the fact that it is referenced by both itself (recursive or internal calls) and by APPS.OKS_WF_K_PROCESS_PVT, the Service Contracts workflow processing package.

The ETRM documentation lists the package under both [Package] and [Package Body], indicating it comprises a specification and a body. It exposes six documented procedures and does not appear to define standalone functions.

Key Procedures and Functions

The ETRM documents six procedures within WF_ENGINE_BULK. Parameter lists are not reproduced here, in accordance with documented metadata.

  • CREATEPROCESS — Creates a new workflow process instance (item) in bulk. This is the bulk counterpart to the WF_ENGINE process-creation routine.
  • STARTPROCESS — Starts one or more workflow process instances, initiating activity execution for the items.
  • FASTFORWARD — Advances workflow items forward through their process definitions, allowing bulk progression past activities without individual step-by-step calls.
  • SETITEMATTRTEXT — Sets text-type item attributes on workflow items in a bulk operation.
  • SETITEMATTRNUMBER — Sets numeric item attributes on workflow items in a bulk operation.
  • SETITEMATTRDATE — Sets date-type item attributes on workflow items in a bulk operation.

The three SETITEMATTR* procedures map directly to the typed attribute columns maintained by the workflow engine, allowing callers to populate item-level data efficiently before or during process execution.

Tables Accessed

Through APPS synonyms, WF_ENGINE_BULK reads and writes the principal Oracle Workflow runtime tables. WF_ITEMS holds the workflow item records created by CREATEPROCESS. WF_ITEM_ACTIVITY_STATUSES and WF_ACTIVITIES, together with WF_ACTIVITY_TRANSITIONS and WF_PROCESS_ACTIVITIES, define the process structure and track activity progression for STARTPROCESS and FASTFORWARD. WF_ITEM_ATTRIBUTES and WF_ITEM_ATTRIBUTE_VALUES store item attribute definitions and the values written by the SETITEMATTRTEXT, SETITEMATTRNUMBER, and SETITEMATTRDATE procedures. PLITBLM is the standard PL/SQL table (index-by) type used for passing collections of items into the bulk routines.

Usage Notes

WF_ENGINE_BULK is an internal, low-level engine package rather than a public end-user API. It is most commonly invoked from other PL/SQL code that must process workflow items in batches. The documented reference from APPS.OKS_WF_K_PROCESS_PVT demonstrates this pattern: Service Contracts workflow logic calls the bulk package to drive contract-related processes. Customizations that need to launch or advance many workflow items should generally prefer the standard WF_ENGINE API unless bulk behavior is specifically required. Because the package operates directly on workflow runtime tables, developers must follow the same transaction and commit conventions applied to WF_ENGINE, and should warrant particular care with FASTFORWARD, which can skip activities. Its dependency on SYS.STANDARD reflects reliance on basic PL/SQL collection and type support.