Search Results create_flow_status




Overview

CSD_FLOW_STATUSES_PVT is a private PL/SQL package in the APPS schema that encapsulates the business logic for maintaining flow status definitions within the Oracle EBS Common Supply Chain and Discrete Manufacturing product family. The package is declared with AUTHID CURRENT_USER, meaning its SQL statements execute under the privileges of the invoking session rather than the package owner. This is consistent with the PVT API classification: the package is a private implementation layer that is not intended for direct invocation by external integrations, and it is referenced by zero other packages in the documented metadata.

The business entity managed here is the flow status — a configurable state definition used to describe where an item, flow, or manufacturing process resides in its lifecycle. Flow statuses carry a seeded or user-defined flag, an external display description, and a set of fifteen descriptive flexfield attributes, allowing customers to extend the status model without schema changes. The package provides the standard create, update, delete, and lock operations that back the corresponding maintenance forms and any internal consumers within the CSD schema.

Key Procedures and Functions

The package exposes four documented procedures, all of which follow the Oracle Applications PL/SQL API standard conventions of returning messages immediately after the operation completes.

  • CREATE_FLOW_STATUS — Inserts a new flow status record. It accepts the standard API control parameters (API version, commit flag, message list initialization flag, and validation level), the FLOW_STATUS_REC_TYPE record containing the flow status definition, and returns the standard return status, message count, and message data outputs along with the generated flow status identifier. This is the procedure most commonly associated with the user search term "create_flow_status."
  • UPDATE_FLOW_STATUS — Modifies an existing flow status record. It follows the same parameter conventions as the create procedure, applying the supplied record values to the identified row and revalidating the data before commit.
  • DELETE_FLOW_STATUS — Removes a flow status definition. Deletion is typically restricted for seeded records, and the procedure validates referential constraints before allowing the row to be removed.
  • LOCK_FLOW_STATUS — Acquires a row-level lock on a flow status record to serialize concurrent modifications. This is the standard locking primitive used by the maintenance form to prevent lost updates when two users edit the same status simultaneously.

Tables Accessed

The ETRM metadata for this object does not enumerate the tables referenced through APPS synonyms. Based on the package name and the FLOW_STATUS_REC_TYPE structure, the primary table is CSD_FLOW_STATUSES, which stores the flow status identifier, flow status code, status code, seeded flag, object version number, external display status, and the attribute category plus attribute1 through attribute15 columns. The record type maps directly to that table's column list. The package likely also references lookup or validation tables during its validation phase, but no additional tables are documented in the supplied metadata.

Usage Notes

Because CSD_FLOW_STATUSES_PVT is classified as a private API and is referenced by no other documented packages, it should not be called directly from custom code. The supported integration path for flow status maintenance is through the public interface that this package supports internally — typically the Oracle Forms-based setup window in the Supply Chain or Discrete Manufacturing responsibility, or an officially published public API wrapper. Developers who need to create flow statuses programmatically should confirm whether a public counterpart exists before invoking this package.

The procedure follows the standard EBS API calling sequence: initialize the message list, invoke the procedure with a validation level, inspect x_return_status for 'S', 'E', or 'U', and loop through the message stack using FND_MSG_PUB when x_msg_count exceeds one. Callers should also honor the object_version_number to detect concurrent updates and use LOCK_FLOW_STATUS where the application requires pessimistic concurrency control.