Search Results get_listfrom_string




Overview

CSM_HA_AUDIT_PKG is the audit-trail package within the Oracle E-Business Suite High Availability / cross-site data-capture infrastructure (CSM module). It is responsible for recording and applying audit information associated with high-availability payload processing. The package body carries a release header dated 2010 (csmhadtb.pls, version 120.0.12010000.1), consistent with the 12.1.1 and 12.2.2 code lines. The package combines a helper function, get_listfrom_String, with a single externally exposed audit procedure, AUDIT_RECORD, which operates inside an autonomous transaction so that audit rows are committed independently of the calling session's transactional scope.

Key Procedures and Functions

  • AUDIT_RECORD — The sole documented procedure in the package (API classification: OTHER). It takes a high-availability payload identifier and an audit type (for example, an 'APPLY' indicator) and orchestrates the audit capture for that payload. It obtains an audit identifier from the CSM_HA_AUDIT_S sequence, resolves the originating session by matching the payload id against the HA_PAYLOAD_START / HA_PAYLOAD_END range in CSM_HA_SESSION_INFO, and iterates the payload detail rows (object name, primary-key value, DML type, mobile-data flag) from CSM_HA_PAYLOAD_DATA. Internally it builds and consumes collection variables of type CSM_VARCHAR_LIST to hold primary-key names, primary-key types and primary-key values, and constructs XML payload/context data of type XMLTYPE, persisting the resulting audit record. The declaration of PRAGMA AUTONOMOUS_TRANSACTION guarantees that the audit write is committed or rolled back on its own, protecting the audit trail from failures in the parent transaction.
  • get_listfrom_String — A private helper function (not exposed as a documented API) that parses a comma-delimited string into a CSM_VARCHAR_LIST collection. The search term "get_listfrom_string" refers directly to this routine. It iterates the input string, extracting and trimming each comma-separated token, extending the collection one element at a time, and returning the populated list. This utility is used to decompose concatenated primary-key specifications into their individual components for audit processing.

Tables Accessed

  • CSM_HA_AUDIT / CSM_HA_AUDIT_S — The audit table and its sequence. The sequence supplies the unique audit id; the table stores the persisted audit record produced by AUDIT_RECORD.
  • CSM_HA_SESSION_INFO — Read to resolve the session id associated with a payload range, linking the audit entry back to its originating session.
  • CSM_HA_PAYLOAD_DATA — Read to retrieve the per-object detail rows (object name, PK value, DML type, mobile-data indicator) that describe what changed.
  • DUAL — Used to fetch the next sequence value.
  • PLITBLM — Referenced for PL/SQL collection type support (CSM_VARCHAR_LIST is built on a table-based collection type).
  • XMLTYPE — Not a table but a datatype used for the XML payload and context CLOB variables.

Usage Notes

CSM_HA_AUDIT_PKG is an internal infrastructure package rather than an end-user-facing API. It is referenced by one other package (per documented metadata) and is typically invoked programmatically during high-availability payload apply or capture processing, not directly from Oracle Forms or standard concurrent programs. Callers pass a payload id and audit type into AUDIT_RECORD; the procedure then commits its audit row autonomously. Because get_listfrom_String is a private helper, it is not callable as a public API and should not be relied upon by custom code. When debugging audit gaps, note that AUDIT_RECORD fails silently with respect to the parent transaction because of its autonomous-transaction declaration. On 12.2.2 the package remains a non-shipped ("noship") internal component of the CSM HA feature set.