Search Results get_organization_list




Overview

INV_MGD_PURGE_CP is an Oracle E-Business Suite PL/SQL package owned by the APPS schema that supports the managed purge of inventory transaction data. Its business purpose is to remove obsolete material transaction records from the INV (Inventory) tables while respecting the organization hierarchy, so that purging is performed in a controlled and organizationally scoped manner rather than across the entire enterprise indiscriminately.

The package is defined with AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the invoking user rather than as the definer. The source header dates the original creation to August 2000 and records two subsequent revisions: a signature update in December 2000 to use hierarchy_origin_id, and a November 2001 update that introduced a Get_Organization_List performance enhancement. The package is delivered as INVCPURS.pls and is classified in ETRM as an "OTHER" API rather than a public or private standard interface.

Key Procedures and Functions

The package exposes a single documented procedure, PURGE, which is declared as PUBLIC. It functions as a wrapper: rather than performing the purge itself, it invokes the core transaction purge program repeatedly for each organization returned by the organization hierarchy origin list. In this way a single invocation purges transactions across multiple organizations.

The procedure's documented parameters cover the return status and error message buffers expected of a concurrent program, the organization hierarchy origin identifier, the organization hierarchy identifier, the purge date, the purge name, and a numeric request limit. These parameters allow the caller to define precisely which hierarchy is processed, the cutoff date for eligible transactions, the run identifier, and how many requests may be generated. The package also declares standard concurrent program return constants: RETCODE_SUCCESS ('0'), RETCODE_WARNING ('1'), and RETCODE_ERROR ('2'). The user search term "get_organization_list" corresponds to the organization list retrieval logic referenced in the package history; in the documented metadata it is not exposed as a separate public procedure, being an internal performance enhancement used by PURGE to obtain the target organizations.

Tables Accessed

ETRM documents three objects referenced through APPS synonyms. FND_CONCURRENT_REQUESTS is the Oracle Application Object Library table that stores concurrent request definitions and their status; the package reads and monitors it because PURGE submits and tracks subordinate purge requests for each organization in the hierarchy. DBMS_LOCK is the Oracle-supplied locking package, used here to serialize purge activity so that concurrent purge runs cannot corrupt or overlap transaction removal. PLITBLM is a PL/SQL index-by table type used to hold collections in memory, typically for the organization list assembled by the Get_Organization_List logic. The actual material transaction tables purged by the underlying program are not enumerated in the documented metadata.

Usage Notes

INV_MGD_PURGE_CP is intended to be invoked as a concurrent program rather than from a form or ad hoc SQL session. Its PURGE procedure signature follows the standard concurrent program convention of x_retcode and x_errbuf output parameters, confirming that it is registered as a concurrent executable. Administrators schedule it from the Submit Requests or Concurrent Programs forms, supplying the organization hierarchy origin, hierarchy, purge date, purge name, and request limit.

Custom code may call APPS.INV_MGD_PURGE_CP.PURGE directly, but should pass valid return and error buffers, hold the necessary INV privileges, and be aware that because the package is AUTHID CURRENT_USER the caller's own privileges govern execution. The DBMS_LOCK usage means overlapping invocations are serialized, and the FND_CONCURRENT_REQUESTS interaction means each organization sub-purge appears as a tracked concurrent request. Given the 2001 source stamp and 2005 header revision, the package persists largely unchanged across EBS 12.1.1 and 12.2.2, and no other packages are documented as referencing it.