Search Results qp_line_attr_s




Overview

QP_COPY_DEBUG_PVT is a private (PVT class) PL/SQL package in the APPS schema that supports the Oracle Pricing debug framework. Its primary business function is to persist diagnostic trace information generated during pricing engine execution so that developers and support analysts can reconstruct how a pricing request was processed. When the pricing engine runs — whether through the public pricing APIs, order entry, or a concurrent calculation program — the engine records intermediate values, formula step results, and attribute-level details into a set of staging tables. QP_COPY_DEBUG_PVT is the copy utility responsible for moving that captured debug content into the permanent debug repository tables, most notably QP_DEBUG_REQ and its associated line and attribute tables.

The package relies on autonomous transactions for its insert routines. This design allows debug rows to be committed independently of the caller's transaction, ensuring diagnostic records survive even if the main pricing transaction is rolled back. A control record (g_control_rec) supplies the header-level context, including the request identifier, pricing event, request type, view code, currency, and a series of flag columns that indicate which debug options were active.

Key Procedures and Functions

  • INSERT_DEBUG_LINE — The procedure most directly associated with the user's search term. It remains the documented entry point for writing an individual debug line during pricing execution, inserting row-level trace content into the debug line structures while running under an autonomous transaction.
  • WRITE_TO_DEBUG_TABLES — The consolidation routine that writes captured debug information into the permanent debug tables, directing header, line, and attribute data to the appropriate destinations.
  • REQUEST_ID — A procedure associated with the request identifier; it establishes or validates the debug request key under which subsequent debug rows are grouped.
  • SET_REQUEST_TO_NULL — Resets or clears the current request identifier, typically used to terminate or disassociate a debug session.
  • GENERATE_DEBUG_REQ_SEQ — Obtains the next sequence value used to populate debug request identifiers from the database sequence.

Inserted header records are written conditionally, and a debug message is emitted through the engine debug facility only when the engine debug flag is enabled.

Tables Accessed

Usage Notes

QP_COPY_DEBUG_PVT is invoked internally by the pricing engine and is referenced by three other packages. Its routines are activated when debug flags are set on a pricing request, whether the request originates from the Pricing forms, the order entry flow, a concurrent calculation program, or a direct call to the public pricing APIs. Because the debug tables are populated through autonomous transactions, callers should be aware that debug commits occur immediately and are not rolled back with the surrounding business transaction. Custom code should not call this package directly; it is a private engine component, and direct use risks inconsistent debug state. All debug rows are keyed by the request identifier and can be purged after diagnosis.