Search Results conv_where1




Overview

IGI_IGIPSIAP_XMLP_PKG is an Oracle Application Object Library (APPS) package that supports the concurrent program IGI_IGIPSIAP, a Key Flexfield-based inquiry and reporting utility delivered within the Oracle E-Business Suite public sector and grants extensions. The package is a thin PL/SQL wrapper generated by Oracle Reports (XML Publisher / Oracle Reports XML architecture), and it encapsulates the bind parameters, initialization logic, and formatting helpers used by the report. Its primary business function is to accept key flexfield range criteria from a concurrent program submission form, translate those criteria into SQL WHERE fragments, and return them to the report for execution.

The package source was last refreshed under bug 7431526, which removed hard-coded flexfield concatenation expressions from the declarations of P_FLEXDATA and P_FLEXDATA_TO and replaced them with uninitialized VARCHAR2(1200) variables. This change made the report compatible with dynamically determined key flexfield structures and any number of enabled segments, rather than assuming exactly ten segments named SEGMENT1 through SEGMENT10.

Key Procedures and Functions

  • BEFOREREPORT — the main initialization hook. It accepts the flexfield "from" and "to" input parameters NOCOPY and prepares the derived selection criteria used by the report query. This includes populating P_FLEXDATA, P_FLEXDATA_TO, P_STRUCT_NUM, P_WHERE, P_WHERE1, and P_WHERES before the report data model is executed.
  • AFTERREPORT — the post-processing hook invoked when report execution completes. It returns BOOLEAN and is used for cleanup and to release any package-level state.
  • CONV_WHERE1 — converts a flexfield value and segment identifier into a SQL WHERE fragment. This is one of the helper routines used to build the dynamic predicate strings stored in P_WHERE1 and P_WHERES.
  • CONV_FLEX_LOW — although commented out in the shipped source excerpt, it is documented in ETRM as a conversion routine for low-range flexfield values. It historically formatted the low end of a flexfield range into a concatenated segment string.

Tables Accessed

The ETRM metadata records no directly referenced APPS synonym tables for this package. In practice the package operates on package-level variables and does not issue DML against application tables; any table access occurs through the report's underlying SQL query rather than through the package itself. The parameter values it prepares are consumed by the report data model, which then queries the appropriate key flexfield views and the application transaction tables.

Usage Notes

This package is invoked exclusively by the Oracle Reports runtime when the IGI_IGIPSIAP concurrent program is executed. Users submit the program from the Standard Concurrent Programs form or the Submit Requests window, supplying the flexfield range criteria that populate P_FLEXFIELD_FROM and P_FLEXFIELD_TO. The report engine calls BEFOREREPORT to build the dynamic WHERE clauses and AFTERREPORT upon completion.

The variable p_flexdata is central to this package. It stores the concatenated, dash-delimited flexfield segment expression used to render and filter the flexfield range. Prior to bug 7431526 the value was hard-coded as a literal combining SEGMENT1_LOW through SEGMENT10_LOW; after the fix it is assigned dynamically at runtime so the report adapts to the actual structure and enabled segments of the key flexfield. Customizations that extend this report should avoid hard-coding segment counts and should derive p_flexdata from the flexfield definition, consistent with the change introduced by the same bug. Because the package is owned by APPS and referenced by no other packages, it should be treated as report-specific infrastructure and not called directly from custom PL/SQL.