Search Results bis_view_generator_pvt




Overview

APPS.BIS_VIEW_GENERATOR_PVT is a private (PVT-classified) PL/SQL package in Oracle E-Business Suite that generates the business views used by Oracle Business Intelligence System (BIS) and, in later releases, by the Application Integrator and related reporting infrastructure. The package is declared with AUTHID CURRENT_USER, meaning its SQL executes under the privileges of the invoking schema rather than the definer, a design choice consistent with its role as a metadata-driven view builder that must reflect the calling user's own schema objects. The source header (BISTBVGS.pls, version 120.2, last shipped 23-APR-2008) identifies the package as the specification component that "generates the business views," and the accompanying history log traces its evolution from July 1998 through bug fixes in 2005. Because the package name carries the _PVT suffix, it is not a supported public API; it is an internal engine invoked by other BIS packages and by the Application Integrator rather than directly by end users or standard forms.

Key Procedures and Functions

ETRM documents four procedures and functions for this package, three of which are visible in the provided excerpt:

  • GENERATE_PRUNED_VIEW — The primary documented API, described in the source as the procedure "to be called from Application Integrator." It generates a single view containing only the columns supplied by the caller, allowing a reduced (pruned) projection of the underlying source view. The comment block explicitly states that it "generates one view only, throws exceptions on failure." The procedure was introduced in November 2000, had its signature changed in January 2001, and was subsequently split into two separate signatures.
  • GENERATE_VIEWS — The bulk generation entry point that produces the full set of business views. Its parameter list in the specification continues past the excerpt, and it is the procedural counterpart to GENERATE_PRUNED_VIEW for full rather than pruned generation.
  • SET_MODE — A mode-setting routine that controls the behavior of the generation engine, such as whether optimizer hints are emitted into the generated view SQL. The package specification declares the global g_use_optimizer_hints (a VARCHAR2(3) flag added under Bug 6819715) alongside g_debug_file and g_db_version, indicating that SET_MODE configures generation-time switches before GENERATE_VIEWS or GENERATE_PRUNED_VIEW is called.
  • A fourth documented procedure or function completes the set of four APIs recorded by ETRM; it operates within the same generation framework.

Tables Accessed

The package reads the following tables through APPS synonyms, which is consistent with a metadata-driven view generator:

  • ALL_TABLES — used to validate that source tables and views referenced by the generated business view actually exist and are accessible.
  • USER_VIEWS — queried to inspect existing view definitions and to determine whether a target view must be dropped, replaced, or left unchanged.
  • USER_SYNONYMS — consulted to resolve the synonyms through which source objects are addressed.
  • USER_DB_LINKS — examined to support distributed or remote source objects in view definitions.
  • PRODUCT_COMPONENT_VERSION — read to establish the database and product version context, feeding the g_db_version variable and driving version-specific SQL generation.
  • PLITBLM — the standard Oracle numeric index-by table, used internally for array handling and PL/SQL table structures.

Usage Notes

BIS_VIEW_GENERATOR_PVT is invoked indirectly. The Application Integrator calls GENERATE_PRUNED_VIEW when a reduced business view is required, while the broader BIS view-generation cycle calls GENERATE_VIEWS to rebuild the standard set of business views, typically after installation, patching, or changes to source table structures. SET_MODE is called first to establish generation options, including optimizer-hint emission, which was introduced to satisfy performance and GSCC (Global Standards Compliance) requirements noted in the 2005 revision history. Because the package is classified PVT and is referenced by two other packages, custom code should not call it directly; developers requiring view generation should use the supported Application Integrator interface or the documented public BIS APIs instead. Direct invocation risks dependency failures on upgrade, particularly in Release 12.1.1 and 12.2.2 where the package remains internal and version-sensitive.