Search Results pa_project_search_utils




Overview

PA_PROJECT_SEARCH_UTILS is a PL/SQL utility package in the Oracle EBS Projects (PA) module, owned by the APPS schema. It provides reusable validation and resolution routines used primarily during project search and query operations, where end users enter either a descriptive name or a numeric identifier for a business entity (customer, person, or resource). The package resolves that ambiguous input into a canonical numeric identifier and returns a status plus an error message code, allowing the calling form or program to proceed with a validated value. A supplementary routine, GET_PERF_MEASURES, retrieves performance measure values for a project. The package header carries the identifier PAPRSUTS.pls, version 120.1, dated 2006, indicating it is a long-standing component that has been stable across the 12.1.1 and 12.2.2 releases. Because it is classified under ETRM as OTHER rather than as a public API, it is intended principally for internal consumption by Oracle's own project search and query flows rather than as a formally supported integration surface.

Key Procedures and Functions

  • Convert_NameToId — Accepts a table of parameter types and corresponding parameter values (with a second value table for additional context) and converts the supplied names into their numeric identifiers. It follows the standard EBS API pattern, accepting an optional initialization flag and returning a table of identifiers along with the standard return status, message count, and message data outputs.
  • Check_Customer_Name_Or_Id — Validates a customer supplied either as a numeric ID or as a name, returning the resolved customer ID together with a return status and an error message code. It allows a search form to accept either form of input without forcing the user to know the internal identifier.
  • Check_PersonName_Or_Id — Resolves a resource supplied as either a resource ID or a resource name, returning the resolved resource ID, the derived resource type ID, and the standard status and error code outputs. This suits searches against people or resources used on projects.
  • Check_ResourceName_Or_Id — Validates a person supplied as either a person ID or a person name, returning the resolved person ID plus status and error code. It parallels the person-name routine but is oriented toward resource-side validation.
  • Get_Perf_Measures — Retrieves performance measure values for a given project and source API, accepting arrays of measure codes, measure set codes, timeslices, and measure IDs (the latter three added under bug 4361663), and returning measure values, exception indicators, a security return code, and standard return status and message outputs.

Tables Accessed

The package is documented as referencing FND_USER, PER_ALL_PEOPLE_F, and PLITBLM through APPS synonyms. FND_USER and PER_ALL_PEOPLE_F support the name-to-ID resolution logic behind the check routines: person and resource names are validated against the people records, while FND_USER provides the application user context needed for security and identification. PLITBLM is a PL/SQL index-by table type/utility object used for handling the array-style parameters the package relies on, particularly in Convert_NameToId and Get_Perf_Measures. No other tables are documented, and the package does not appear to write persistent business data; its role is largely read-and-validate.

Usage Notes

PA_PROJECT_SEARCH_UTILS is typically invoked from Oracle Projects search and query forms and from project-related concurrent or custom code that must accept either a name or an ID from a user. Callers should pass input through the appropriate check routine, inspect x_return_status, and surface x_error_msg_code to the user when validation fails. Because ETRM classifies the package as OTHER and records no other packages referencing it, it should be treated as an internal Oracle utility: customizations may call it, but doing so carries upgrade risk, and superseding Oracle search APIs or direct table queries are generally preferable where a supported public API exists.