Search Results ego_custom_sec_b




Overview

EGO_CUSTOM_SECURITY_PUB is a public PL/SQL package in the Oracle E-Business Suite Applications (APPS) schema that provides an extension point for customer-defined security logic within the EGO (Product Information Management / Item and Entity Management) product family. Its documented purpose is to perform a customized security check based on information relating to the user, the entity, and the object under evaluation. The package exposes a single public entry point, CHECK_CUSTOM_SECURITY, which allows implementers to override or supplement Oracle's delivered security rules with site-specific rules that reflect local business policy.

The package header and body carry the standard Oracle API constructs, including G_PKG_NAME, the standard IN/OUT parameter set (x_return_status, x_msg_count, x_msg_data), and the FND_API initialization parameters (p_api_version, p_init_msg_list, p_commit, p_validation_level). This confirms that the package is designed to be called programmatically by other EBS components rather than executed interactively, and that it follows the FND_API error-handling conventions. The header revision string (EGOCSECB.pls 120.0.12010000.1, 2009/07/23) indicates the package has been stable across the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

One documented procedure is associated with this package:

  • CHECK_CUSTOM_SECURITY — The sole public procedure. It accepts an input parameter record (p_in_params_rec of type EGO_CUSTOM_SECURITY_PUB.in_params_rec_type) and returns an output parameter record (x_out_params_rec of type EGO_CUSTOM_SECURITY_PUB.out_params_rec_type), in addition to the standard Oracle API parameters. The input record carries the caller context, notably user_name, which may be supplied either as a plain FND user name or in the form 'HZ_PARTY:partyId', or left NULL so that the procedure falls back to FND_GLOBAL.USER_NAME. The output record returns user_has_function, a single-character flag: 'T' when the user holds the required privilege, 'F' when the user does not, and 'U' when an unexpected error occurs. Callers are expected to interpret these values and act accordingly.

No other procedures or functions are documented for this package in the ETRM metadata.

Tables Accessed

The documented metadata does not list any base tables accessed directly through APPS synonyms. This is consistent with the package's design: it is a customer-extension hook intended to query site-specific tables created by the implementer. The header comments explicitly describe two supported implementation patterns. In the first, an implementer creates a table such as EGO_CUSTOM_SEC_B keyed on FND user names (for example 'PLMMGR') and passes FND_GLOBAL.USER_NAME into p_in_params_rec.user_name. In the second, the implementer creates a table that combines the 'HZ_PARTY:partyId' identifier with find_user_name, and passes nvl(p_in_params_rec.user_name, FND_GLOBAL.USER_NAME) so that an explicit party context takes precedence over the session user. In both cases the data resides in customer-owned objects rather than in Oracle-delivered EGO or HZ tables.

Usage Notes

CHECK_CUSTOM_SECURITY is referenced by one other package in the EBS codebase, which invokes it as part of the security evaluation flow. Typical callers include Oracle Forms-based item and entity management screens, concurrent programs that require row-level or entity-level authorization checks, and custom code that must replicate the same security decision outside the standard UI. ETRM classifies the package as PUB, meaning the API is a supported public interface and the calling signature is intended to remain backwards compatible.

When implementing, the procedure body should be modified (or a wrapper created) to query the customer security tables described in the header comments. Because the procedure returns 'U' on unexpected errors, callers should treat that value as a failure condition and not silently grant access. The package is documented for both 12.1.1 and 12.2.2, and the NOCOPY hint on the output record indicates the reference-passing behavior expected in these releases.