Search Results hr_transaction_swi




Overview

APPS.HR_TRANSACTION_SWI is the server-side interface (SWI) package body that governs the Oracle EBS HRMS Transaction Framework. It provides the programmatic plumbing through which Oracle HRMS forms, workflow activities, and third-party integrations create, modify, approve, and cancel "HR transactions" — the atomic units of change tracked in HR_API_TRANSACTIONS and its associated steps. Rather than manipulating business entities directly, callers submit a transaction by name (for example, an assignment change or a position update), and this package orchestrates the step-by-step execution, validation, error capture, and status maintenance on their behalf. Because it abstracts transaction bookkeeping away from individual business APIs, it is central to maintaining auditability and consistent error handling across the HRMS product family.

Key Procedures and Functions

The body exposes 28 documented programs. The transaction lifecycle is managed by CREATE_TRANSACTION, UPDATE_TRANSACTION, and DELETE_TRANSACTION, which establish or modify the master transaction record. Corresponding step-level operations — CREATE_TRANSACTION_STEP, UPDATE_TRANSACTION_STEP, and DELETE_TRANSACTION_STEP — populate the ordered steps that make up a transaction in HR_API_TRANSACTION_STEPS.

Context and configuration are handled by SET_TRANSACTION_CONTEXT, SET_PERSON_CONTEXT, and INIT_PROFILES, which prime session state, profile options, and the "who/what" context before a transaction executes. PROCESS_API_CALL is the workhorse that dispatches an individual API invocation within the framework, while PROCESS_API_INTERNAL supports its internal execution path. SET_STATUS and SETTRANSACTIONSTATUS update the transaction's lifecycle state.

Helper functions retrieve values from the transaction payload or configuration: GETDATEVALUE, GETVARCHAR2VALUE, and GETNUMBERVALUE. CONVERTCLOBTOXMLELEMENT converts CLOB content into XML DOM elements, reflecting the package's XML-based payload handling.

Permission and eligibility checks are supplied by ISDELETEALLOWED, ISEDITALLOWED, and CANCELACTION, which the calling UI uses to decide whether a given transaction may be edited, deleted, or cancelled.

Tables Accessed

The package reads and writes HR_API_TRANSACTIONS and HR_API_TRANSACTION_STEPS as its core persistence structures. It resolves personal and assignment data through PER_ALL_PEOPLE_F and PER_ALL_ASSIGNMENTS_F, and organizational data through HR_ALL_ORGANIZATION_UNITS_TL, HR_ORGANIZATION_INFORMATION, HR_ALL_POSITIONS_F_TL, and PER_JOBS_TL. Form function and descriptive-flexfield configuration is read from FND_FORM_FUNCTIONS and FND_ID_FLEX_STRUCTURES. Messages are managed via FND_MESSAGE, FND_MSG_PUB, and FND_NEW_MESSAGES.

Workflow integration relies on WF_ITEMS, WF_ITEM_ACTIVITY_STATUSES, WF_ITEM_ATTRIBUTE_VALUES, WF_NOTIFICATIONS, WF_NOTIFICATION, WF_ROLES, WF_MESSAGE_ATTRIBUTES, WF_ENGINE, and WF_ADVANCED_WORKLIST, together with HR_WF_ATTR_TABLE and HR_WF_ATTR_TYPE. XML processing uses XMLDOM, DBMS_XMLDOM, XMLPARSER, and XSLPROCESSOR. Session context is derived from FND_GLOBAL, FND_PROFILE, and V$NLS_PARAMETERS.

Usage Notes

HR_TRANSACTION_SWI is typically invoked indirectly: Oracle HRMS forms submit transactions through this layer rather than calling individual business APIs directly, and it is referenced by 36 other database objects. Workflow-driven approvals and concurrent programs that process pending transactions also route through it. Because the framework relies on FND_GLOBAL and FND_PROFILE session state, custom code must initialize the application context — via FND_GLOBAL.APPS_INITIALIZE and the SET_TRANSACTION_CONTEXT/SET_PERSON_CONTEXT programs — before submitting a transaction. The package is not referenced by any database object, indicating it sits at the top of its call hierarchy as a public integration surface.