Search Results itg_boapi_utils
Overview
ITG_BOAPI_UTILS is a utility package owned by the APPS schema within the Oracle E-Business Suite environment. The name prefix "ITG" associates it with the Oracle Internet Procurement and iProcurement family of modules, while "BOAPI" indicates its role as a supporting library for business object APIs used by that product line. In the 12.1.1 and 12.2.2 releases, this package survives as a legacy helper whose purpose is narrowly scoped: it centralises common validation logic so that other business object API packages do not have to duplicate numeric range and null-checking code.
The package is declared with AUTHID CURRENT_USER, meaning that at runtime all SQL and PL/SQL statements inside it execute with the privileges of the invoking schema rather than the definer. This is a deliberate design choice for a shared utility: it allows callers running under different schemas to invoke the validation routines without requiring the APPS schema to grant elevated definer rights, and it supports the modular, multi-schema architecture common to EBS development. The header comments show the source file as itgvutls.pls with a revision dating from 2002, indicating the package has been stable and essentially unchanged for many years. It is classified under the generic API category OTHER, reflecting that it is infrastructure rather than a functional business API.
Because the package exposes only two overloaded procedures and no tables of its own, it is best understood as a small, low-risk building block embedded throughout the ITG codebase. It carries no user interface, no concurrent program registration, and no data storage responsibilities; its entire contribution is defensive input validation.
Key Procedures and Functions
The documented public interface consists of a single procedure name, VALIDATE, exposed through two overloaded signatures. Both overloads accept a parameter name, a minimum bound, a maximum bound, a null-permission flag, and the value to be tested. The overloads differ in the datatype of the value they inspect.
- VALIDATE (VARCHAR2 overload) — Accepts the value to validate as a character string. It applies the supplied minimum and maximum bounds as length constraints and honours the null-ok flag. If the value violates the bounds, or is null when nulls are not permitted, the routine raises an error rather than returning a status code.
- VALIDATE (NUMBER overload) — Accepts the value as a numeric type and applies the same minimum and maximum parameters as magnitude limits. Behaviour regarding null values and error signalling is consistent with the VARCHAR2 version.
Overloading allows calling code to pass either text or numeric data to a consistently named routine, reducing the number of distinct helper calls a developer must remember. The routine is intended for internal calls from sibling ITG_BOAPI_* packages rather than for direct end-user invocation.
Tables Accessed
No tables are referenced by this package in the documented metadata, and none are referenced through APPS synonyms. The absence of table access is consistent with the package's role: it performs pure in-memory validation of parameter values supplied by the caller. It neither reads configuration nor persists results, so it introduces no I/O overhead and no transactional exposure. Validated values are returned to the calling program implicitly through successful completion, and any data storage is the responsibility of the invoking business API.
Usage Notes
ITG_BOAPI_UTILS is invoked indirectly. The metadata records that one other package references it, meaning the present dependency graph is small — typically a parent business object API that calls VALIDATE to screen inbound parameters before processing. This invocation pattern is common in EBS form-based and concurrent-processing code, where CUSTOM library routines and API wrappers perform precondition checks.
Developers writing customisations on 12.1.1 or 12.2.2 that follow ITG conventions may call the package directly from their own PL/SQL, provided the necessary grants exist. Because it is defined AUTHID CURRENT_USER, the caller must hold EXECUTE on the package itself; no additional object privileges are required since no tables are touched. Its long stability and trivial interface make it safe to depend upon across both release levels, and it is unlikely to be affected by online patching in 12.2 because it contains no edition-sensitive data access logic.
-
PACKAGE: APPS.ITG_BOAPI_UTILS
12.2.2
-
PACKAGE: APPS.ITG_BOAPI_UTILS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:ITG_BOAPI_UTILS, status:VALID,
-
PACKAGE: APPS.ITG_BOAPI_UTILS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:ITG_BOAPI_UTILS, status:VALID,
-
PACKAGE: APPS.ITG_BOAPI_UTILS
12.1.1
-
PACKAGE BODY: APPS.ITG_BOAPI_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:ITG_BOAPI_UTILS, status:VALID,
-
PACKAGE BODY: APPS.ITG_BOAPI_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:ITG_BOAPI_UTILS, status:VALID,
-
12.1.1 DBA Data
12.1.1
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: APPS.ITG_DEBUG_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:ITG_DEBUG_PUB, status:VALID,
-
PACKAGE BODY: APPS.ITG_BOAPI_UTILS
12.1.1
-
PACKAGE BODY: APPS.ITG_SYNCFIELDINBOUND_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:ITG_SYNCFIELDINBOUND_PVT, status:VALID,
-
PACKAGE: APPS.ITG_DEBUG_PUB
12.2.2
owner:APPS, object_type:PACKAGE, object_name:ITG_DEBUG_PUB, status:VALID,
-
PACKAGE: APPS.ITG_MSG
12.1.1
owner:APPS, object_type:PACKAGE, object_name:ITG_MSG, status:VALID,
-
PACKAGE BODY: APPS.ITG_SYNCFIELDINBOUND_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:ITG_SYNCFIELDINBOUND_PVT, status:VALID,
-
PACKAGE BODY: APPS.ITG_BOAPI_UTILS
12.2.2
-
PACKAGE: APPS.ITG_MSG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:ITG_MSG, status:VALID,
-
PACKAGE: APPS.ITG_DEBUG
12.1.1
owner:APPS, object_type:PACKAGE, object_name:ITG_DEBUG, status:VALID,
-
PACKAGE: APPS.ITG_DEBUG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:ITG_DEBUG, status:VALID,
-
APPS.ITG_SYNCFIELDINBOUND_PVT dependencies on ITG_BOAPI_UTILS
12.2.2
-
APPS.ITG_SYNCFIELDINBOUND_PVT dependencies on ITG_BOAPI_UTILS
12.1.1
-
APPS.ITG_BOAPI_UTILS dependencies on ITG_BOAPI_UTILS
12.1.1
-
APPS.ITG_BOAPI_UTILS dependencies on ITG_BOAPI_UTILS
12.2.2
-
APPS.ITG_BOAPI_UTILS dependencies on FND_PROFILE
12.2.2
-
APPS.ITG_BOAPI_UTILS dependencies on FND_PROFILE
12.1.1
-
PACKAGE: APPS.FND_PROFILE
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_PROFILE, status:VALID,
-
PACKAGE: APPS.FND_PROFILE
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_PROFILE, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: APPS.FND_API
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_API, status:VALID,
-
PACKAGE: APPS.FND_API
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_API, status:VALID,
-
PACKAGE: SYS.STANDARD
12.1.1
owner:SYS, object_type:PACKAGE, object_name:STANDARD, status:VALID,