Search Results next_custom_view_id




Overview

BSC_CUSTOM_VIEW_UI_WRAPPER is an Oracle E-Business Suite PL/SQL package body owned by APPS that underpins the Custom View authoring and rendering features of Oracle Balanced Scorecard (BSC). It provides the server-side API layer through which the Scorecard user interface persists and manipulates the graphical composition of a tab view — the drawing surface on which KPIs, labels, hotspots, measures, launch pads, background images, and links are positioned. The package is classified as OTHER in the ETRM repository, indicating that it is an internal implementation wrapper rather than a published, integration-facing API.

Functionally, the package acts as a write-through layer between the JSP/UI layer and the BSC configuration tables. Its procedures accept positional and formatting attributes (font size, style, colour, left, top, width, height) along with the owning tab and tab view identifiers, validate the input, and merge the corresponding rows into the BSC tables. The header comment identifies the source as BSCCVDPB.pls, version 120.13, last shipped in 2007, which places it within the standard 12.1.1 and 12.2.2 file system footprint.

Key Procedures and Functions

The documented interface exposes 28 procedures and functions. The ADD_OR_UPDATE family performs idempotent insert-or-update operations for individual canvas elements: ADD_OR_UPDATE_KPI and ADD_OR_UPDATE_TAB_VIEW_KPI manage KPI placement on a tab view; ADD_OR_UPDATE_KPI_LABEL and ADD_OR_UPDATE_TAB_VIEW_LABEL manage textual annotations; ADD_OR_UPDATE_LABEL, ADD_OR_UPDATE_HOTSPOT, ADD_OR_UPDATE_CUSTOM_VIEW_LINK, ADD_OR_UPDATE_LAUNCH_PAD, and ADD_OR_UPDATE_MEASURE each maintain their respective element types. ADD_OR_UPDATE_TAB_VIEW and ADD_OR_UPDATE_TAB_VIEW_BG persist the tab view definition and its background image settings.

Utility operations include CLEAR_CUSTOM_VIEW_CANVAS, which removes all rendered elements from a view, and REMOVE_CUSTOM_VIEW_ITEMS, which deletes selected items. COMPACT_CUSTOM_VIEW_LABELS resequences label identifiers in BSC_TAB_VIEW_LABELS_B and its _TL sibling so that they remain consecutive — a maintenance routine required because label IDs are reused as display ordinals. The private helper IS_MORE tokenises a comma-delimited ID list, returning one identifier per call; this pattern is used to process batch element lists passed from the UI.

Metadata and query helpers include IS_TAB_VIEW_EXIST and COMPARE_TAB_VIEW_TIMESTAMP, which support optimistic concurrency control when multiple users edit the same view, and GET_PARAM_SEARCH_STRING, which builds search predicates. ADD_OR_UPDATE_FUNCTION, DELETE_FUNCTION, and NEXT_CUSTOM_VIEW_ID manage function registrations and the surrogate key sequence used for new custom views — the object most commonly located by the search term "next_custom_view_id".

Tables Accessed

The package reads and writes BSC_TABS_B and BSC_TABS_TL for tab definitions, BSC_TAB_VIEWS_B for view headers, and BSC_TAB_VIEW_KPI_TL for KPI translations. Canvas labels reside in BSC_TAB_VIEW_LABELS_B and BSC_TAB_VIEW_LABELS_TL, which COMPACT_CUSTOM_VIEW_LABELS rewrites. Image assets are resolved through BSC_SYS_IMAGES, BSC_SYS_IMAGES_MAP_TL, and the BSC_SYS_IMAGE_ID_S sequence; dataset and indicator metadata come from BSC_SYS_DATASETS_B and BIS_INDICATORS. Function registration uses FND_FORM_FUNCTIONS and FND_FORM_FUNCTIONS_S, with BIS_FORM_FUNCTION_EXTENSION supplying BSC-specific extensions and AK_REGIONS providing region metadata.

Usage Notes

BSC_CUSTOM_VIEW_UI_WRAPPER is invoked indirectly from the Balanced Scorecard Custom View authoring pages rather than from concurrent programs. The six dependent packages identified in ETRM call into it to persist view state after user edits. All procedures follow the FND_API error-handling convention, returning x_return_status, x_msg_count, and x_msg_data. Customisations should call the package with the same OUT NOCOPY parameter pattern and invoke fnd_msg_pub.get to retrieve messages, and must not assume that NEXT_CUSTOM_VIEW_ID is globally unique across concurrent sessions without sequence-backed allocation.