Search Results hr_gen_pkg




Overview

HR_GEN_PKG is a server-side PL/SQL agent that mediates all communication between Oracle EBS Forms and their attached libraries on the one hand, and server-side database logic on the other. It is declared with AUTHID CURRENT_USER and resides in the APPS schema, dated in its header to hrgen.pkh version 115.6 (May 2004). The package header history explains its original design rationale: Oracle Forms and their libraries were observed to misbehave when both the form and its library referenced the same server-side package, so HR_GEN_PKG was introduced as an intermediate agent to break that direct coupling. A secondary and equally important purpose was to remove SQL statements from the client side entirely, allowing the associated Forms library to be made global and shared across products. The package therefore serves as a thin but stable interface layer covering common HRMS form requirements: comment maintenance, date handling, session management, session-row cleanup, tracing, customized-restriction lookups, and ADE (Application Data Exchange) pipe messaging. It is classified as OTHER in the ETRM API inventory and exposes eighteen documented procedures and functions. No other packaged objects in the documented inventory reference HR_GEN_PKG directly, confirming its role as a callable endpoint for client-tier code rather than a dependency of server-side business logic.

Key Procedures and Functions

  • INSERT_COMMENT — the object matching the user's search term; inserts a comment record into the HR comments tables on behalf of a Forms caller.
  • COMMENT_TEXT — retrieves comment text, complementing INSERT_COMMENT for the read path. Both were added in May 1995 to eliminate client-side SQL for comment handling.
  • GET_CUSTOMIZED_RESTRICTION — added alongside the comment procedures to return customized restriction information without client SQL.
  • GET_DATES / CHANGE_SES_DATE — added June 1995; retrieve and modify session date context. An overload of GET_DATES was introduced in February 1999 for 11.5.
  • DELETE_SES_ROWS — added December 1997; removes temporary session rows created by form activity.
  • SET_LOCATION — establishes location context for the calling session.
  • TRACE_ON, TRACE_OFF, TRACE, SET_TRACE_OPTIONS — diagnostic tracing controls added December 1996; SET_TRACE_OPTIONS covers HR_UTILITY.SET_TRACE_OPTIONS.
  • PUTSESSIONATTRIBUTEVALUE — added May 2004 (bug 3577964) as an autonomous transaction wrapper invoking the IC (Information Cache) to set a session attribute value.
  • PIPE_ADE_DETAIL, RESET_PIPE_BUFFER, PURGE_PIPE, SEND_PIPE_MESSAGE — ADE-related DBMS_PIPE messaging routines added July 2001 for inter-process communication.

Tables Accessed

The package operates against a small, well-defined set of tables through APPS synonyms. HR_COMMENTS holds the comment rows written by INSERT_COMMENT and read by COMMENT_TEXT; HR_COMMENTS_S is the corresponding date-tracked (datetrack) shadow table. PAY_CUSTOMIZED_RESTRICTIONS supplies the restriction data returned by GET_CUSTOMIZED_RESTRICTION. DBMS_PIPE is not a table but the Oracle supplied package used by the ADE messaging procedures (PIPE_ADE_DETAIL, SEND_PIPE_MESSAGE, PURGE_PIPE, RESET_PIPE_BUFFER).

Usage Notes

HR_GEN_PKG is invoked almost exclusively from Oracle Forms and their libraries, which is precisely the architecture it was created to support. Forms callers use INSERT_COMMENT and COMMENT_TEXT instead of embedding DML and SELECT statements, keeping the client tier SQL-free and permitting a single global library. GET_DATES and CHANGE_SES_DATE are called when forms must align their date context, and DELETE_SES_ROWS is called during form cleanup. Tracing procedures are available for support diagnostics, while PUTSESSIONATTRIBUTEVALUE is called through the IC for session attribute management. Because the package executes with AUTHID CURRENT_USER and is granted to APPS, custom code should invoke it from within the APPS schema context and treat the signature as fixed; the ETRM inventory records no downstream package dependencies, so impacts of changes are confined to the Forms and library layer that consumes it.