Search Results needs_zero_code_mv
Overview
BSC_IM_UTILS is a utility package owned by the APPS schema in Oracle E-Business Suite, classified in the ETRM repository as an "OTHER" API type. It belongs to the Oracle Balanced Scorecard (BSC) product family, which in EBS releases 12.1.1 and 12.2.2 is delivered under the ETRM (Enterprise Transaction Repository Model) and increasingly superseded by the Oracle Business Intelligence foundation. The package name itself, BSC_IM_UTILS, indicates it provides shared infrastructure services for the "IM" (Indicator Management / Intelligence Module) layer of Balanced Scorecard. In practice, it is a low-level helper library rather than a business-facing API: it centralizes logging, file handling, string and numeric parsing, and dynamic SQL introspection routines that other BSC packages invoke instead of duplicating that logic. ETRM records the package as VALID with a full package specification and body, and it has no direct responsibility for scorecard business rules — its role is to make the surrounding BSC packages more maintainable and consistent. Because it sits beneath the functional layer, it is most meaningful to technical developers performing upgrades, diagnostics, or extension work rather than to functional end users.
Key Procedures and Functions
ETRM documents 102 procedures and functions in this package. The documented set clusters into clear functional groups:
- Logging and debug output: OPEN_FILE, WRITE_TO_LOG, WRITE_TO_LOG_FILE, WRITE_TO_LOG_FILE_S, WRITE_TO_LOG_FILE_N, WRITE_TO_DEBUG, WRITE_TO_DEBUG_N, WRITE_TO_OUT_FILE, WRITE_TO_OUT_FILE_S, and WRITE_TO_OUT_FILE_N. These open output destinations and emit log, debug, and report lines; the _S and _N suffixes indicate string and numeric convenience overloads so callers can pass values without explicit conversion.
- Parsing and validation: GETPARSEDINDICNUMBER extracts a numeric indicator identifier from a text token; ISNUMBER validates whether a supplied value can be treated as a number; IN_ARRAY tests membership within a collection; ADD_DISTINCT_VALUES_TO_TABLE populates a table with de-duplicated values.
- Metadata introspection: GET_TIME returns a timestamp used for performance and audit logging; IS_COLUMN_IN_OBJECT verifies that a column exists in a given database object; GET_DB_USER returns the connected schema. These support dynamic SQL generation performed by higher-level BSC packages.
- Materialized view and indicator helpers: NEEDS_ZERO_CODE_MV and NEEDS_ZERO_CODE_B_PT determine whether a zero-valued code must be supplied for a materialized view or business point context, a recurring requirement in BSC data warehouse refreshes.
- Session setup: SET_GLOBALS initializes package-level global variables for the session.
Tables Accessed
The package reads BSC repository metadata tables through APPS synonyms: BSC_DB_CALCULATIONS, BSC_DB_RESERVED_WORDS, BSC_DB_TABLES_RELS, and BSC_KPI_DATA_TABLES. These supply information about defined calculations, SQL reserved words requiring handling, relationships between BSC tables, and KPI data table definitions. For dynamic SQL and materialized view inspection it uses ALL_MVIEW_DETAIL_RELATIONS, DBMS_MVIEW, DBMS_SQL, DBMS_UTILITY, USER_OBJECTS, USER_SYNONYMS, USER_VIEWS, DUAL, and PLITBLM. It also references the SYS.STANDARD package. Most access is read-only introspection; writes are limited to log/output files and to tables populated by ADD_DISTINCT_VALUES_TO_TABLE.
Usage Notes
BSC_IM_UTILS is not invoked directly by users. It is called by eleven or more BSC packages, including BSC_BIA_WRAPPER, BSC_BSC_ADAPTER, BSC_BSC_XTD_PKG, BSC_DBI_CALENDAR, BSC_IM_INT_MD, BSC_MO_DB_PKG, BSC_MO_INDICATOR_PKG, BSC_MV_ADAPTER, BSC_OLAP_MAIN, BSC_UPDATE_BASE, and BSC_UPDATE_DIM, and recursively by itself. Consequently its routines execute whenever BSC concurrent programs refresh scorecard data, build materialized views, or run indicator integrations. Because the package body is custom-supportable but not a published public API, Oracle EBS patch and upgrade activity may replace it; customizations should never modify its internals but instead call or wrapper it, and any dependency on its procedures should be re-validated after applying BSC patches.
-
PACKAGE: APPS.BSC_IM_UTILS
12.1.1
-
PACKAGE BODY: APPS.BSC_IM_UTILS
12.1.1