Search Results current_session_running




Overview

APPS.HR_PUMP_UTILS is a public utility package within the Oracle E-Business Suite Human Resources (HR) module that provides the programmatic interface for the Data Pump engine. In Oracle EBS 12.1.1 and 12.2.2, Data Pump is the high-volume batch processing framework used to load, validate, and commit large volumes of HR and Payroll data through the HR APIs. Rather than allowing direct inserts into the engine's control tables, Oracle exposes HR_PUMP_UTILS as the sanctioned entry point for creating batch headers, registering user keys, seeding configuration and mapping data, and controlling transaction and concurrency behaviour. The package is therefore foundational to any batch load, conversion, or migration that is routed through the HR Data Pump rather than through single-record API calls.

The object resides in the APPS schema and is classified as an OTHER API in the ETRM 12.2.2 documentation. Its breadth is reflected in the fact that it is referenced by 259 other packages, making it one of the most widely depended-upon utilities in the HR schema. The header comment identifies the package as "various user utility functions related to the Data Pump engine," confirming its role as a shared infrastructure component rather than a business-process-specific API.

Key Procedures and Functions

The documented interface exposes 17 procedures and functions, which group naturally into several functional areas.

  • Batch management: CREATE_BATCH_HEADER creates a unique row in the batch headers table and returns the generated batch_id required for subsequent insert_batch_lines calls. Its parameters control batch naming, optional business group, a non-unique user reference, and an atomic-linked-calls flag. When that flag is set to 'Y', Data Pump commits only if every API call in a linked set succeeds; otherwise the entire set is rolled back.
  • User key management: ADD_USER_KEY creates a user key value in the user keys table for use with Data Pump API calls, and MODIFY_USER_KEY amends an existing key. Both enforce the rule that user keys be created through the package rather than by direct table insert.
  • Seeding and configuration: SEED_ZAP, SEED_API, SEED_DFLT_EXC, SEED_PARM, SEED_MAP_PKGS, and SEED_PARM populate or refresh Data Pump configuration metadata, including default exceptions, module parameters, and mapping packages. NAME supplies naming support for the engine.
  • Session and concurrency control: SET_CURRENT_SESSION_RUNNING, ANY_SESSION_RUNNING, and CURRENT_SESSION_RUNNING report and set whether a Data Pump session is active. SET_DT_ENFORCE_FOREIGN_LOCKS and DT_ENFORCE_FOREIGN_LOCKS control foreign-key lock enforcement during processing.
  • Diagnostics and loader management: SET_MULTI_MSG_ERROR_FLAG and MULTI_MSG_ERRORS_EXIST control and report the multi-message error mode, while POPULATE_SPREAD_LOADERS_TAB builds the spread loaders table used by parallel loading.

Tables Accessed

HR_PUMP_UTILS reads and writes the core Data Pump control tables through APPS synonyms. HR_PUMP_BATCH_HEADERS and its _S sequence table underlie CREATE_BATCH_HEADER and the atomic-linked-calls behaviour. HR_PUMP_BATCH_LINE_USER_KEYS and its _S sequence table support ADD_USER_KEY and MODIFY_USER_KEY. HR_PUMP_DEFAULT_EXCEPTIONS, HR_PUMP_MODULE_PARAMETERS, and HR_PUMP_MAPPING_PACKAGES back the SEED_DFLT_EXC, SEED_PARM, and SEED_MAP_PKGS routines. HR_API_MODULES identifies the registered API modules available to the engine. HR_PUMP_REQUESTS tracks Data Pump request activity, HR_PUMP_SPREAD_LOADERS supports parallel loader configuration via POPULATE_SPREAD_LOADERS_TAB, and PAY_ACTION_PARAMETER_VALUES supplies Payroll action parameter values used during Data Pump processing.

Usage Notes

HR_PUMP_UTILS is invoked programmatically rather than through a user-facing form. Typical callers are custom PL/SQL batch loaders, conversion scripts, and Oracle-delivered Data Pump client packages that need to open a batch, attach user keys, and submit lines to the HR APIs. Administrators may also encounter it indirectly through concurrent programs and seeded Data Pump setup routines that call the SEED_* procedures to initialise mapping and exception metadata. Because the package is referenced by 259 other packages, its declarations are effectively a stable contract; the source header (hrdputil.pkh 120.1) has remained unchanged since 2006, underscoring its maturity. When developing against it, callers should always use CREATE_BATCH_HEADER to obtain a batch_id and ADD_USER_KEY to register keys, and should not insert directly into the underlying tables, as the package enforces uniqueness and transactional consistency that direct DML would bypass.