Search Results get_bo_and_insert




Overview

APPS.POS_SUPP_GENERATE_RPT_PKG is an Oracle E-Business Suite PL/SQL package body residing in the APPS schema that supports the supplier-facing XML reporting flow within the Procurement/Supplier Portal domain (POS prefix). Its stated purpose, per the embedded source header, is to "Generate report for selected supplier based on XML Payload." The Author of record is Bhuvana Vamsi, and the header carries a version of 1.0 with a package revision line dated 2010/11/25 (revision 120.1). In the Oracle EBS 12.1.1 and 12.2.2 file systems this package is deployed as POSSPRPTB.pls.

The package operates as a server-side report generation engine: it consumes an XML payload describing a supplier selection, persists or retrieves the associated report definition and run records, populates a business object, and emits the resulting output. Functionally it sits between the Supplier Portal user interface or a concurrent request and the underlying supplier report data model. It is classified in the ETRM repository as API classification OTHER, meaning it is an internal implementation package rather than a published public API, and it is referenced by zero other packages, indicating it is a top-level entry point invoked directly rather than a shared library.

Key Procedures and Functions

The documented package exposes eight procedures and functions:

  • GET_CURR_SUPP_XML_RPT_ID — retrieves the current supplier XML report identifier, establishing the report context for the subsequent generation steps.
  • REM_FIRST_COMMA — a string utility function that strips a leading comma from a delimited string. The source shows it returning the substring beginning at position 2 when the trimmed input is not null, and returning the input unchanged otherwise, with an OTHERS handler returning an empty string.
  • LIST_TO_CSV_VARCHAR — converts a PL/SQL numeric collection (pos_tbl_number) into one or more comma-separated VARCHAR2 output strings. Because of Oracle's VARCHAR2 length limits, the routine chunks the collection in blocks (the source references boundaries of 2900, 5800, and beyond) and writes into three separate out NOCOPY parameters. A related enhancement note (Bug 2234299) records a widening of the element type to VARCHAR2(2000) for long-comment support.
  • PARSE_LIST — the routine most directly associated with the "parse_list" search term. It parses a delimited list of values (typically comma-separated identifiers or codes) into its constituent elements so that downstream processing can iterate over individual entries rather than the raw string.
  • GENERATE_REPORT_EVENT — raises or records the report generation event, driving the workflow or business event that signals a report run.
  • POPULATE_BO_AND_SAVE_CONCUR — populates the business object from the parsed payload and saves the results in preparation for concurrent processing.
  • GET_BO_AND_INSERT — retrieves the business object and inserts the corresponding rows into the report tables.
  • BEFORE_REPORT_TRIGGER — a pre-report trigger routine that executes preparatory logic immediately before report output is produced.

Tables Accessed

The package references the following objects through APPS synonyms: POS_SUPP_GENERATE_XML_RPT and POS_SUPP_GEN_XML_RPT_S, which store the supplier XML report definition and its header/sequence records populated during report generation; DUAL, used for single-row PL/SQL assignments and constants; PLITBLM, the standard Oracle EBS temporary table used for storing intermediate list or report output data; and XMLTYPE, the native Oracle datatype used to hold and manipulate the XML payload that drives the report. Together these objects support the full generate-persist-emit cycle performed by the package.

Usage Notes

This package is typically invoked from the Supplier Portal or Procurement reporting flow, either from a form-level or OAF page action that submits a supplier XML report request, or from a concurrent program that executes the generation logic in batch. Because the routines are internal (classification OTHER) and the package is referenced by no other package, customizations should call it at the entry-point level rather than attempting to reuse individual internals. The LIST_TO_CSV_VARCHAR limits and the PARSE_LIST behavior make the package sensitive to delimited input length; implementers extending the string handling should respect the 2900/5800 element chunking thresholds to avoid exceeding VARCHAR2 column capacities in the report tables.