Search Results bsc_sys




Overview

APPS.BSC_DESIGNER_PVT is the private implementation package body that supports the Balanced Scorecard (BSC) KPI Designer functionality within Oracle Enterprise Business Suite. In the Oracle EBS 12.1.1 and 12.2.2 environments, the BSC module provides the framework for defining, storing, and maintaining Key Performance Indicators (KPIs), scorecards, and the analytical metadata that drives them. The Designer component is the administrative layer through which users define KPIs, analysis options, dimensions, measures, periodicities, and display properties.

The PVT suffix indicates that this is a private package: its procedures and functions are not intended to be called directly from external code but are invoked by the public API layer, principally BSC_KPI_PUB, BSC_ANALYSIS_OPTION_PUB, and the BSC Designer forms. The package body is documented as VALID and is not referenced by any other database object, confirming its role as an internal worker layer. Its primary responsibilities are record duplication, default value management, dynamic SQL construction against the data dictionary, and synchronization of KPI metadata across the BSC base and translation tables.

Key Procedures and Functions

The package exposes 28 documented procedures and functions. The initialization and default-management routines include INIT_VARIABLES, which establishes package-level state; DEFLT_CLEAR, which resets default values; DEFLT_REFRESHKPI and DEFLT_REFRESHINVALIDKPIS, which regenerate KPI default metadata and repair invalid entries; DEFLT_UPDATE_AOPTS, DEFLT_UPDATE_SN_FM_CM, DEFLT_UPDATE_DIM_SET, DEFLT_UPDATE_DIM_VALUES, DEFLT_UPDATE_DIM_NAMES, and DEFLT_UPDATE_PERIOD_NAME, each of which maintains a specific class of analysis default (analysis options, scorecard formatting, dimension sets, dimension values, dimension names, and period names respectively).

Duplication logic is handled by DUPLICATE_RECORD_BY_INDICATOR and DUPLICATE_KPI_METADATA, which copy KPI and indicator definitions together with their dependent analysis metadata. Dynamic SQL support is provided by GETITEMFROMMASTERTABLE, DECOMPOSE_VARCHAR_LIST, and COMMDIM_DEFLTDSETISPMFBYTAB, which parse and resolve dimension and table metadata used when constructing KPI queries. Change-tracking and event routines include ACTIONFLAG_CHANGE, DIM_OBJECT_CHANGE, and DIMENSION_CHANGE, which propagate structural changes to dependent KPI definitions. BSCKPISB_UPDATE writes KPI base records, and FND_PROFILE_GET returns Oracle Application Object Library profile option values used to control Designer behavior.

Tables Accessed

The package operates extensively across the BSC schema via APPS synonyms. Core KPI definition data is held in BSC_KPIS_B and BSC_KPIS_VL, with analysis structures in BSC_KPI_ANALYSIS_GROUPS, BSC_KPI_ANALYSIS_MEASURES_B/TL, and BSC_KPI_ANALYSIS_OPTIONS_B/TL/VL. Dimension metadata is read and updated in BSC_KPI_DIM_GROUPS, BSC_KPI_DIM_LEVELS_B/TL/VL, BSC_KPI_DIM_LEVEL_PROPERTIES, and BSC_KPI_PROPERTIES. Calculation, dataset, and presentation information is drawn from BSC_KPI_CALCULATIONS, BSC_KPI_DATA_TABLES, BSC_KPI_DEFAULTS_B/VL, BSC_SYS_DATASETS_B, BSC_SYS_DIM_GROUPS_VL, BSC_SYS_FORMATS, BSC_TAB_INDICATORS, BSC_COLOR_TYPE_PROPS, and the color/KPI views. Identifier sequences (BSC_COLOR_RANGE_ID_S, BSC_INDICATOR_ID_S, BSC_KPI_MEASURE_S) generate primary keys. ALL_TAB_COLUMNS is queried through DBMS_SQL to resolve column metadata dynamically, and FND_LANGUAGES and FND_MSG_PUB supply language and message handling.

Usage Notes

BSC_DESIGNER_PVT is invoked indirectly through the public BSC APIs and the Oracle Balanced Scorecard Designer forms rather than by direct call. It is triggered when an administrator creates or duplicates a KPI, modifies dimensions or analysis options, refreshes KPI defaults, or changes an indicator definition. Because the package is not referenced by any other database object and is classified as PVT, customizations should target the public wrapper packages (BSC_KPI_PUB, BSC_ANALYSIS_OPTION_PUB) and never call BSC_DESIGNER_PVT directly, as its signature and behavior are not guaranteed across patch levels.