Search Results cp_flex_low
Overview
The package APPS.IGI_IGIGBRCL_XMLP_PKG is a generated Oracle Reports PL/SQL package that supports the concurrent program report object IGIGBRCL. It belongs to the Oracle E-Business Suite public sector and grants accounting functionality delivered under the IGI application prefix. In Oracle EBS 12.1.1 and 12.2.2, packages with the _XMLP_PKG suffix are automatically produced when a report is defined with an XML Publisher (BI Publisher) template, and the package encapsulates the report's input parameter handling, before/after report logic, and dynamically generated formula columns. This particular package is concerned with the Grant Budgetary Control report, which presents budget versus actual and commitment balances for awarded grants and funding sources.
The object is classified as OTHER in the ETRM repository and is owned by the APPS schema. Its companion concurrent executable is registered in the IGI responsibility set, and the package is regenerated whenever the underlying report definition is recompiled through the Oracle Reports XML Publisher integration. Notably, the package is not referenced by any other package, confirming it is a terminal, report-specific artifact that is invoked directly by the Reports runtime engine.
Key Procedures and Functions
Six documented program units make up the package, split between lifecycle hooks and formula helpers:
- BEFOREREPORT — returns a Boolean and executes once before the report data model fires. It is the standard hook used to initialise the private package globals, resolve the reporting SOB (set of books), and validate the concurrent request context.
- AFTERREPORT — returns a Boolean and runs after the report output is produced. It is normally used to reset globals and release any state that the report opened during execution.
- CF_FLEX_LOWFORMULA — a formula-column function that builds the concatenated low-range key for the accounting flexfield. This is the direct consumer of the search term
cp_flex_low, receiving the low range and the target flex string and returning the assembled value. - CF_FLEX_HIGHFORMULA — the mirror of the low-range function, assembling the concatenated high-range accounting flexfield key from the individual segment high values.
- CP_FLEX_LOW_P — the exposed parameter-level representation of the low flexfield range, populated from the report's flexfield input parameter.
- CP_FLEX_HIGH_P — the corresponding parameter-level representation for the high end of the flexfield range.
The package also declares public variables including P_SOB, P_CONC_REQUEST_ID, P_STRUCT_NUM, P_DEBUG_SWITCH, and P_RUN_AOL, and the initialised globals CP_FLEX_LOW and CP_FLEX_HIGH, each VARCHAR2(1000). These two constants programmatically concatenate the thirty accounting flexfield segments (segment1_low through segment30_low and the matching high counterparts) with a hyphen delimiter, producing the full concatenated flexfield range string that the report's WHERE clause compares against the code combination column.
Tables Accessed
The ETRM metadata records no table references for this package through APPS synonyms. This is consistent with the standard behaviour of generated XMLP report packages: all data retrieval is performed by the report's SQL query within the associated RDF or XML data model, and the PL/SQL package itself only manipulates bind parameters and derived formula values. Where the report does touch base tables, they are accessed indirectly by the Reports engine rather than by named DML statements inside this package.
Usage Notes
The package is not intended for direct invocation from forms or custom PL/SQL. It is called automatically by the Oracle Reports runtime when the IGIGBRCL concurrent request is submitted, with BEFOREREPORT and AFTERREPORT fired as section-level triggers and the CF_* formula functions invoked per row. In Oracle EBS 12.2.2 the XML Publisher template is attached to the concurrent program through the standard XML Publisher administration screens, and the _XMLP_PKG is regenerated from the report definition if the layout or parameters change. The cp_flex_low variable that users encounter is the initialised concatenated low-range flexfield string declared at the top of the package body, and it is populated at runtime from the flexfield range parameters supplied at submission. Because the package is APPS-owned and unpinned, any customisation should be made to the source report and template rather than by editing the generated package directly.