Search Results check_object_licensed




Overview

APPS.PA_PRODUCT_INSTALL_UTILS is a utility package in the Oracle E-Business Suite Projects (PA) product family. Its principal business function is to determine whether a specific application object — such as a function or a region — is licensed and installed for the current environment. The package centralizes the licensing and installation validation logic that governs whether Projects-related functionality is permitted to execute on a given instance.

The package serves as a gatekeeping library. Rather than embedding licensing checks across numerous forms, concurrent programs, and dependent packages, the Projects application routes these requests through a small set of well-defined functions and procedures. The header comment (PAPIUTLB.pls 120.1.12010000.2, dated 2008) indicates the source has been stable across multiple EBS releases, including 12.1.1 and 12.2.2. The package is classified as OTHER in the package metadata, meaning it is not a pure API or a UI-layer construct, but a shared internal utility.

The user search term validate_object corresponds directly to the package's public procedure VALIDATE_OBJECT, which is the primary entry point for evaluating object-level licensing status and returning a standardized outcome to the caller.

Key Procedures and Functions

ETRM documents six procedures and functions for this package. Four principal ones are described below:

  • CHECK_OBJECT_LICENSED — A function returning a licensing flag (typically 'Y' or 'N') for a given object type and object code. It resolves whether the object is licensed by consulting the product functions and product installation views. It defaults to 'Y' when no definitive result is found, and its exception handler also returns 'Y', ensuring permissive behavior on error.
  • VALIDATE_OBJECT — The main public entry point. This procedure validates an object identified by type and code, producing a return status, a return code, and an associated message count and message detail. The NOCOPY hint on its OUT parameters (per File.Sql.39, bug 4440895) reflects a performance optimization for the PL/SQL compiler. Its signature delivers validation results in the standard Oracle message-queue format used widely across EBS APIs.
  • CHECK_FUNCTION_LICENSED — A specialized function that checks licensing specifically for a form function, drawing on FND_FORM_FUNCTIONS in conjunction with product installation data.
  • CHECK_REGION_LICENSED — A specialized function that checks licensing for a UI region, referencing AK_REGIONS to identify the region and parent object before applying installation rules.

Tables Accessed

  • PA_PRODUCT_FUNCTIONS — Maps object types and object codes to the product codes that own them. It is the join table used to associate a requested object with a product, which is then checked for installation status.
  • AK_REGIONS — The Applications Framework regions repository. Used by CHECK_REGION_LICENSED to resolve region metadata before a licensing decision is made.
  • FND_FORM_FUNCTIONS — The standard Forms functions repository. Used by CHECK_FUNCTION_LICENSED to validate function-level objects.

The package also references PA_PRODUCT_INSTALLATION_V, a view over the product installation short codes and their installed flags. This view supplies the installed_flag value that drives the licensing decision ('Y' meaning installed/licensed, 'N' meaning not installed). The header shows that prior cursor logic using separate 'Y' and 'N' cursors was consolidated into a single cursor, CNEW, using NVL(pi.installed_flag,'Y') — a change tied to bug 6352484.

Usage Notes

This package is invoked internally by other Projects components rather than directly by end users. ETRM indicates it is referenced by 4 other packages, meaning callers delegate licensing checks to it from within their own PL/SQL logic.

Typical invocation patterns include:

  • Calling VALIDATE_OBJECT before allowing a form or program action to proceed, then inspecting x_return_status, x_ret_code, and x_msg_count to decide whether to continue or to raise an error.
  • Using CHECK_OBJECT_LICENSED, CHECK_FUNCTION_LICENSED, or CHECK_REGION_LICENSED for direct boolean-style licensing tests within dependent packages.
  • Because the exception handler and default behavior return 'Y', callers should understand that the package errs on the side of permitting execution when licensing data cannot be resolved. This conservative-permissive design prevents false negatives but means custom code should not rely on the package to strictly deny access in ambiguous cases.

For Oracle EBS 12.1.1 and 12.2.2, the package behaves consistently; the absence of version-specific branching in the documented source confirms its logic remains applicable across both releases.