Search Results g_success




Overview

APPS.PSA_GVTMB is a PL/SQL package body in the Oracle E-Business Suite 12.1.1 and 12.2.2 file systems, delivered under the PSA (Public Sector Applications / Grants) product family. The source header (psagvtmb.pls 120.1) and the naming convention indicate it is an internal utility package rather than a public API. Its classification in the ETRM repository is OTHER, meaning it is not exposed as a supported AOL API but instead supports internal seeding, verification, and setup logic.

The package resolves the recurring EBS problem of ensuring that concurrent program definitions, function registrations, and reference data exist and are enabled before dependent grants functionality executes. Its core pattern is a "check then insert or enable" routine that validates the presence of a concurrent program in FND_CONCURRENT_PROGRAMS and its membership in a request group, adding it when absent. Global constants mirror the standard concurrent program return conventions (g_SUCCESS = 0, g_FAILURE = -1, g_WARNING = -2), and a dedicated initialize_global_variables routine plus log and error helpers wrap FND_FILE.PUT_LINE output into the concurrent manager log and output file.

The user's search term, segment_attribute, is relevant because packages of this class frequently query FND_COLUMNS and FND_TABLES to inspect key flexfield segment columns — the "segment attribute" metadata — when validating that a Key Flexfield structure (for example a Grants or Cost Accounting segment) is properly defined before dependent setup proceeds. Such packages also commonly interrogate FND_FLEX_VALUE_SETS and FND_LOOKUP_VALUES to confirm that value sets and lookup codes referenced by those segments exist.

Key Procedures and Functions

  • MAIN — The single documented entry point in the ETRM metadata. This is the driver procedure invoked when the package is executed, and it orchestrates the package's setup and validation logic in sequence. Detailed parameter information is not published in the ETRM record, so callers should inspect the package specification (PSA_GVTMB.pls) in the target instance before invoking it directly.
  • check_and_insert (internal) — Extracted from the supplied source. Accepts a program name and the standard p_errbuf / p_retcode OUT NOCOPY parameters. It tests program existence with FND_PROGRAM.PROGRAM_EXISTS, enables the program with FND_PROGRAM.ENABLE_PROGRAM, checks request group membership via FND_PROGRAM.PROGRAM_IN_GROUP, and calls FND_PROGRAM.ADD_TO_GROUP when the program is missing from the group. The group and application are seeded internally as 'GL Concurrent Program Group' and 'SQLGL'.
  • initialize_global_variables (internal) — Sets the module name prefix (psa.plsql.psagvtmb.) and the success/failure/warning return codes.
  • log and error (internal) — Write formatted messages to the concurrent program log through FND_FILE.PUT_LINE.

Tables Accessed

  • FND_APPLICATION — Resolves the application short name (SQLGL) to its application identifier.
  • FND_COLUMNS and FND_TABLES — Provide the physical column and table metadata used to inspect segment attribute definitions (the segment_attribute concept identified in the search).
  • FND_FLEX_VALUE_SETS — Confirms that flexfield value sets backing the segments exist and are correctly registered.
  • FND_LOOKUP_VALUES — Validates lookup codes referenced by application setup.
  • FND_PRODUCT_INSTALLATIONS — Confirms the relevant product is installed at the expected patch level before the package performs inserts, preventing execution in an unsupported environment.

Usage Notes

PSA_GVTMB is an internal package. The ETRM record shows zero referenced-by dependencies among other packages, which confirms it sits at the leaf of the dependency graph and is not called by Oracle's shipped APIs. It is most likely invoked from a concurrent program registered in the Grants or General Ledger request group (the same group the package itself seeds), typically during post-install or post-patch setup, or manually by an application DBA performing a one-time data fix.

Because it operates on FND_CONCURRENT_PROGRAMS and request group membership through the supported FND_PROGRAM API, it is safe to run in a live instance; however, changes to concurrent program definitions should always be made in a controlled maintenance window and, in a development or test environment first. Custom code should not call PSA_GVTMB directly, since its internal procedures and seeded GL/SQLGL literals are hard-coded and may change without notice between patch levels. Administrators reviewing segment_attribute issues should instead use the standard Key Flexfield Segments form or the Flexfields administration APIs, and reserve PSA_GVTMB for diagnostic and setup-seeding purposes only.