Search Results get_long_response




Overview

APPS.XDP_PROCEDURE_BUILDER is an Oracle E-Business Suite package body belonging to the XDP (eXtensible Data Platform / provisioning) schema family. Its business function is dynamic PL/SQL code generation: it programmatically constructs the source text of package specifications, package bodies, procedures, headers, footers, and complete procedure blocks at runtime. These generated artifacts support Oracle's provisioning and workflow-mapping infrastructure, where service definitions, fault-attribute mappings, and workflow expressions must be materialized as executable PL/SQL on demand rather than hard-coded at design time.

The package is classified as API type OTHER in ETRM metadata and is owned by APPS. It is referenced by three other packages, indicating it functions as a shared code-generation service layer rather than an end-user-facing API. The header revision date of 120.1 (June 2005) confirms the object predates 12.1.1 and remains present through 12.2.2. The package relies on global constants to assemble boilerplate such as comment banners, BEGIN/DECLARE block delimiters, exception handlers, and CREATE OR REPLACE PACKAGE statements.

Key Procedures and Functions

The 14 documented routines decompose the generation workflow into name resolution, procedural fragments, package-level fragments, and a final precompile step.

  • GENERATEPACKAGENAME — Derives the name of the package to be created, typically from a service definition or mapping identifier.
  • DECODEPROCNAME — Resolves or decodes a procedure name from stored metadata before generation.
  • GENERATEPROCSPEC — Produces the procedure specification (signature) portion of generated code.
  • GENERATEPROCDEFBODY — Builds the default procedure body, applying the standard exception handler that calls xdp_macros.HandleProcErrors.
  • GENERATEPROCHEADER — Emits the procedure header, including comment banner lines.
  • GENERATEPROCFOOTER — Emits the procedure footer, including the terminating END and semicolon.
  • GENERATEPROCBODY — Assembles the complete procedure block from header, body, and footer fragments.
  • GENERATEPACKAGESPEC — Constructs the full package specification, wrapping procedures with the AUTHID CURRENT_USER AS clause.
  • GENERATEPACKAGEBODY — Constructs the full package body from individual procedure blocks.
  • GENERATEPACKAGEHEADER — Emits the package-level header banner and opening statement.
  • GENERATEPACKAGEFOOTER — Emits the closing END statement for the package.
  • PRECOMPILEPROCEDURE — Compiles or prepares the assembled procedure text for use by the runtime engine.

Tables Accessed

The only documented table reference is XDP_PROC_BODY, accessed via an APPS synonym. This table stores procedure body definitions—the source templates or payloads from which the builder retrieves text for assembly. Reads against XDP_PROC_BODY supply the raw procedure content, while the package's global buffers (g_ProcBody, g_PackageSpec, g_PackageBody) accumulate the translated and formatted output.

Usage Notes

XDP_PROCEDURE_BUILDER is not typically invoked directly from a form. It is called internally by other provisioning packages (the three documented referencing packages) during service-definition deployment, dynamic work-item or fault-attribute mapping setup, and workflow parameter evaluation. The generated packages follow a consistent pattern: AUTHID CURRENT_USER, standard comment banners, and a catch-all exception handler delegating to xdp_macros.HandleProcErrors for return code and error description population. Because the package writes to global PL/SQL variables sized up to 32767 bytes, callers should invoke it in a session where the target schema has appropriate compile privileges. In 12.1.1 and 12.2.2 the object remains unchanged in behavior; all customization should occur through the underlying metadata in XDP_PROC_BODY rather than by modifying this builder.