Search Results prod_item




Overview

The CSI_COUNTER_GROUPS_BC_V view is a backward-compatibility layer delivered in the APPS schema of Oracle E-Business Suite Release 12.1.1 and 12.2.2. It belongs to the CSI (Install Base) product family and exists to preserve the historic interface of the legacy CS_COUNTER_GROUPS object while the underlying schema was re-engineered into the E-Business Suite counter model. The suffix _BC_V denotes "backward compatible view", a naming convention Oracle applies to constructs that shield customizations, reports, and integrations from changes to the physical data model.

A counter group in Oracle Install Base is a reusable definition that associates one or more counters with an object type, establishing which measurements can be captured against an installed base item, a trackable instance, or a service contract. The view exposes counter group header information in the legacy column layout so that pre-existing customer extensions, Discoverer workbooks, and third-party integrations continue to function unmodified across upgrades. In practice it acts as a compatibility facade: consumers query it as though they were querying the original CS table, while the database resolves the request against the current CSI physical tables.

Underlying Base Objects

ETRM documentation records a single referenced base object for this view: the synonym CS_CSI_COUNTER_GROUPS, which resolves to the physical CSI counter groups table (CS_COUNTER_GROUPS) in the APPS schema. The view definition itself is a UNION ALL of two SELECT statements drawn from CS_COUNTER_GROUPS.

  • First branch: selects rows where TEMPLATE_FLAG = 'Y', isolating counter group templates.
  • Second branch: selects the complementary set of non-template (instance-level) counter group rows.

The union reconstitutes a single logical result set equivalent to the original CS_COUNTER_GROUPS interface. The view also synthesizes several legacy columns that no longer exist natively in the physical table, notably SOURCE_OBJECT_CODE and SOURCE_OBJECT_ID, both returned as NULL, and ASSOCIATION_TYPE, which is derived from CCG.ASSOCIATION_TYPE via a DECODE expression. This derivation confirms that the modern table stores association semantics as TRACKABLE or CONTRACT, whereas the legacy API expected PROD_ITEM or SVC_ITEM plus a separate source object reference.

Key Columns

  • COUNTER_GROUP_ID — Primary identifier for the counter group; the join key to counter assignment tables.
  • NAME / DESCRIPTION — User-facing label and descriptive text for the group.
  • TEMPLATE_FLAG — Indicates whether the row is a reusable template ('Y') or an instantiated group.
  • ASSOCIATION_TYPE — Legacy association discriminator, mapped from TRACKABLE to PROD_ITEM and from CONTRACT to SVC_ITEM.
  • START_DATE_ACTIVE / END_DATE_ACTIVE — Effective dating range controlling when the group is usable.
  • SOURCE_OBJECT_CODE / SOURCE_OBJECT_ID — Placeholder columns always NULL, retained for interface parity.
  • SOURCE_COUNTER_GROUP_ID — Reference to the template from which an instance was created.
  • SECURITY_GROUP_ID — Multi-org/security grouping identifier.
  • OBJECT_VERSION_NUMBER — Optimistic locking token used by the OAF/BC4J framework.
  • CONTEXT and ATTRIBUTE1–15 — Descriptive flexfield context and segment columns.
  • CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN — Standard WHO audit columns.

Common Use Cases and Queries

Typical consumers include customer-written concurrent programs, Oracle Discoverer or BI Publisher reports, and inbound interfaces that must remain stable across an R12 upgrade. A common pattern is to enumerate active templates for a given association type:

SELECT counter_group_id, name, association_type
FROM apps.csi_counter_groups_bc_v
WHERE template_flag = 'Y'
AND SYSDATE BETWEEN NVL(start_date_active, SYSDATE) AND NVL(end_date_active, SYSDATE);

Integrations migrating legacy counter group data frequently filter on source_counter_group_id to trace instance rows back to their originating template:

SELECT counter_group_id, name, source_counter_group_id
FROM apps.csi_counter_groups_bc_v
WHERE source_counter_group_id IS NOT NULL;

Because the view is a UNION ALL over the base table, queries benefit from indexing on COUNTER_GROUP_ID and TEMPLATE_FLAG. New development should prefer the current CSI counter APIs rather than relying on this compatibility construct, which exists solely to preserve legacy behavior.