Search Results is_phantom




Overview

GME_PHANTOM_PVT is a private PL/SQL package in the Oracle Process Manufacturing (OPM) module of Oracle E-Business Suite. It provides the Phantom Batch API routines that allow callers to create and interrogate phantom batches within GME (Oracle Process Manufacturing). A phantom batch is a transient or non-stocked batch that is generated during a manufacturing process to supply intermediate material to a parent batch without being independently planned or scheduled. The package header declares AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the invoking user rather than the package owner, and it is classified as a PVT (private) API — it is not intended to be called directly by external integrations but is instead consumed by other OPM packages and standard product code.

The file header (GMEVPHBS.pls) identifies the package as the "Package Spec for the GME PHANTOM API routines," authored by Thomas Daniel of OPM Development in July 2001, with a subsequent revision (Bug#6738476, January 2008) that added p_batch_header_rec to the create_phantom procedure. This history confirms the package has been in continuous service across the 11i and R12 code lines, and is present in both 12.1.1 and 12.2.2.

Key Procedures and Functions

The package exposes four documented program units:

  • CREATE_PHANTOM — Inserts a new phantom batch and its associated material detail record. It accepts a material detail record, a batch header record, an optional batch number, validity-rule controls (validity rule id, workday-calendar flag, contiguity override, least-cost validity-rule flag), and returns an updated material detail record, an exception table, and a return status.
  • IS_PHANTOM — A Boolean function that evaluates a supplied batch header record and indicates whether the represented batch qualifies as a phantom batch.
  • FETCH_STEP_PHANTOMS — Retrieves the phantom identifiers associated with a given batch and batch step, optionally filtered by release-type association, returning a number table of phantom IDs.
  • FETCH_LINE_PHANTOMS — Retrieves the phantom identifiers associated with a given batch line, returning the corresponding set of phantom IDs for downstream processing.

Each routine uses the GME common parameter conventions, including x_return_status and exception-table outputs, consistent with the described "common set of parameters to which API-specific parameters are appended."

Tables Accessed

Through APPS synonyms, the package reads and writes the following documented tables:

  • GME_BATCH_HEADER — The parent batch definition; used to identify and validate the batch context for phantom creation and detection.
  • GME_MATERIAL_DETAILS — Stores the material transaction detail lines; the primary record created or returned by CREATE_PHANTOM.
  • GME_BATCH_STEPS — The batch step definitions used by FETCH_STEP_PHANTOMS to locate step-level phantom batches.
  • GME_BATCH_STEP_ITEMS — Line-level step items that link phantom batches to their consuming operations.
  • PLITBLM — A PL/SQL index-by table type used to pass collections of IDs between the batch APIs and their callers, notably for the phantom ID lists.

Usage Notes

Because it is a PVT-class package, GME_PHANTOM_PVT is referenced by six other packages rather than being exposed on a form or concurrent program directly. It is typically invoked during batch creation, batch release, and material-explosion processing, where the calling OPM program needs to determine whether a batch is phantom, create a phantom batch to satisfy an intermediate demand, or enumerate the phantom batches attached to a particular step or line. Customizations and extensions should call the documented public wrappers rather than this package directly, since the private API signature may change between patch levels.