Search Results csi_counters_bc_v




Overview

CSI_COUNTERS_BC_V is a backward-compatible view owned by the APPS schema in Oracle E-Business Suite, delivered as part of the CSI (Install Base) product family. Its documented purpose is to expose counter and counter-template data through a legacy column layout so that pre-existing forms, concurrent programs, reports, and integrations continue to function after the underlying data model was refactored. The view is registered in ETRM as VALID in both Oracle EBS 12.1.1 and 12.2.2. Rather than storing data itself, CSI_COUNTERS_BC_V projects columns from newer base objects into the older naming conventions expected by backward-compatible consumers, notably mapping COUNTER_TYPE to TYPE, FORMULA_INCOMPLETE_FLAG to FORMULA_INCOMPL_FLAG, ATTRIBUTE_CATEGORY to CONTEXT, and DEFAULTED_GROUP_ID to COUNTER_GROUP_ID.

Underlying Base Objects

Per the documented 12.2.2 metadata, CSI_COUNTERS_BC_V is defined over two referenced base objects: CSI_COUNTERS_VL and CSI_COUNTER_TEMPLATE_VL. Both are views, so the backward-compatible view ultimately rests on the counters and counter-template tables beneath them. The view text is a UNION ALL of two branches, one selecting from CSI_COUNTER_TEMPLATE_VL and the other from CSI_COUNTERS_VL, emitting an identical set of forty-nine columns in each branch. Because the templates branch has no direct equivalent for certain transactional attributes, several columns are populated with literal NULL placeholders — specifically CREATED_FROM_COUNTER_TMPL_ID and SOURCE_COUNTER_ID — so that the union remains structurally consistent with the counters branch.

Key Columns

Common Use Cases and Queries

The view is primarily used to satisfy legacy code paths that still expect the original CS_COUNTERS column names, and to report on counter setup — particularly initial readings — without rewriting integrations. A typical query retrieves active counters and their starting readings:

  • SELECT COUNTER_ID, NAME, TYPE, INITIAL_READING, STEP_VALUE, UOM_CODE FROM APPS.CSI_COUNTERS_BC_V WHERE VALID_FLAG = 'Y' AND START_DATE_ACTIVE <= SYSDATE AND NVL(END_DATE_ACTIVE, SYSDATE) >= SYSDATE;
  • SELECT COUNTER_ID, NAME, INITIAL_READING, ROLLOVER_FIRST_READING, ROLLOVER_LAST_READING FROM APPS.CSI_COUNTERS_BC_V WHERE TYPE = :counter_type;
  • SELECT COUNTER_GROUP_ID, COUNT(*) FROM APPS.CSI_COUNTERS_BC_V GROUP BY COUNTER_GROUP_ID;

Reports validating derived counters can inspect FORMULA_TEXT and FORMULA_INCOMPL_FLAG, while migration scripts use COUNTER_ID joins to reconcile legacy extracts against CSI_COUNTERS_VL and CSI_COUNTER_TEMPLATE_VL. Because records from templates carry NULL in SOURCE_COUNTER_ID and CREATED_FROM_COUNTER_TMPL_ID, consumers filtering on those columns should explicitly account for template-sourced rows in queries and exceptions reporting.