Search Results xnp_event




Overview

The APPS.XNP_EVENT package body is a core PL/SQL component of the Oracle E-Business Suite Advanced Outbound / Inbound messaging infrastructure, widely associated with Oracle's e-Commerce Gateway and Supply Chain Event Management (part of the XNP / XDP messaging family in Oracle EBS 12.1.1 and 12.2.2). It implements event subscription, message processing, and workflow orchestration logic that supports asynchronous business event communication between EBS and external trading partners or application tiers. The package operates on top of Oracle Advanced Queuing (via XDP_AQ_UTILITIES and DBMS_LOCK) and integrates tightly with the Workflow Engine (WF_ENGINE, WF_PROCESS_ACTIVITY, XNP_WF_STANDARD) to drive business process flows in response to inbound messages and events. Its status is VALID and its owner is the APPS schema, meaning it is deployed as a standard, supported application object rather than a custom extension. The ETRM documentation classifies its API as OTHER, indicating it is primarily an internal engine package invoked by other application components rather than a public developer API.

Key Procedures and Functions

The ETRM registered metadata documents fifteen procedures and functions, of which the following are named: SUBSCRIBE, UNSUBSCRIBE, DEREGISTER, DEREGISTER_FOR_WORKITEM, SUBSCRIBE_FOR_ACKS, PROCESS, PROCESS_IN_MSG, PROCESS_IN_EVT, RESUME_WORKFLOW, SYNC_N_RESUME_WF, and RESTART_ACTIVITY. Their roles can be grouped as follows:

  • Subscription management — SUBSCRIBE and UNSUBSCRIBE register and remove interest in a given event or message type; SUBSCRIBE_FOR_ACKS registers a subscriber for acknowledgement traffic; DEREGISTER and DEREGISTER_FOR_WORKITEM remove registrations tied to subscriptions or specific workflow work items.
  • Message and event processing — PROCESS serves as the primary dispatcher; PROCESS_IN_MSG handles inbound message payloads; PROCESS_IN_EVT handles inbound business events. These routines dequeue from Advanced Queues and route content based on registered subscriptions.
  • Workflow orchestration — RESUME_WORKFLOW, SYNC_N_RESUME_WF, and RESTART_ACTIVITY manage workflow state, allowing a suspended or waiting workflow to be resumed or an activity to be restarted once a correlated inbound event or acknowledgement arrives.

Tables Accessed

The package reads and writes the following documented tables through APPS synonyms:

  • XNP_CALLBACK_EVENTS / XNP_CALLBACK_EVENTS_S — store callback event definitions and their translated/secure variants, used to determine which callback to invoke on event receipt.
  • XNP_MSGS — the primary inbound/outbound message repository holding message payloads and status.
  • XNP_MSG_ACKS — tracks acknowledgements received against outbound messages, supporting the SUBSCRIBE_FOR_ACKS flow.
  • XNP_MSG_TYPES_B — message type base definition table used to validate and route message types.
  • DBMS_LOCK — the Oracle supplied locking package, used to serialize concurrent processing of messages and events.

Additional dependencies include XNP_ERRORS, XNP_MESSAGE, XNP_MSGS, XNP_UTILS, and XNP_XML_UTILS for error logging, message construction, and XML parsing.

Usage Notes

XNP_EVENT is not referenced by any database object per the ETRM metadata, yet it reports 66 dependent packages, confirming it is called from PL/SQL code rather than initiated by a form or concurrent program directly. It is typically invoked implicitly by the messaging engine when Advanced Queue subscribers fire, when workflow activities reach a wait or receive state, and when external systems post events through the XNP infrastructure. Developers extending EBS messaging should not call PROCESS or SUBSCRIBE directly; instead they interact through the supported registration and callback mechanisms, letting this package manage queue consumption, locking, and workflow resumption. Any modification is strictly discouraged, as the package is a standard, supported object.