Search Results refresh_mv




Overview

The APPS.CN_BIS_SRP_MV_REFRESH_PVT package body is a private (PVT-classified) PL/SQL utility within the Oracle EBS Incentive Compensation (formerly Sales Compensation / CN) module. Its naming convention — CN_BIS_SRP_MV_REFRESH_PVT — indicates it belongs to the Business Intelligence System (BIS) layer of the Compensation (CN) application and is responsible for refreshing materialized views (MVs) associated with Sales Rep Performance (SRP) reporting. Materialized views are pre-computed summary structures that aggregate transaction and quota data, and this package provides the procedural refresh entry points that Oracle EBS concurrent programs invoke to keep those summaries current.

This component is documented as part of the ETRM 12.2.2 repository under schema APPS. The source header ($Header: cnvmvrfb.pls 115.6.1158.6 2003/07/29) reflects a lineage dating to the 11.5.x codebase, and the object is carried forward into 12.1.1 and 12.2.2 with the same interface. Notably, the shipped body as documented contains only NULL; stubs in every procedure, which is a deliberate Oracle delivery pattern: the public refresh interface is defined, and the actual implementation may be layered in during patch application, configuration, or customer-specific extension.

Key Procedures and Functions

The ETRM metadata documents four procedures in this package. Each accepts standard concurrent-program OUT parameters (an error buffer and a return code) that allow the procedure to be registered and invoked as a concurrent program entry point, though the exact signatures should be confirmed from the delivered source rather than assumed.

  • REFRESH_QUOTA_MV — Refreshes the materialized view holding quota (sales target) data. Quota MVs typically aggregate quota assignments by sales representative, period, and organization, providing the baseline against which credited revenue is compared.
  • REFRESH_QUOTA_SUM_MV — Refreshes the summary-level quota materialized view, which rolls quota values up to higher aggregation levels (e.g., manager, territory, or period totals) for hierarchical reporting.
  • REFRESH_COMM_MV — Refreshes the commission materialized view. This MV consolidates calculated commission and incentive earnings for reporting and analytics.
  • REFRESH_Q_C_RES_MV — Refreshes the materialized view combining quota, commission, and results data. The "Q_C_RES" naming denotes a joined quota/commission/results dataset used for end-to-end performance reporting.

The source excerpt additionally shows internal procedures refresh_mv and refresh_mv_generic, which are generic refresh drivers — the latter accepting an MV name parameter — that the specialized procedures call to perform the actual refresh operation. These are documented in the source listing though not enumerated separately in the ETRM metadata.

Tables Accessed

The ETRM metadata records no direct table references (via APPS synonyms) for this package. This is consistent with its design: as a materialized view refresh coordinator, it operates through the MV refresh mechanism (DBMS_MVIEW.REFRESH or an equivalent internal API) rather than issuing direct DML against base tables. The underlying data resides in the materialized views themselves and their master tables within the Incentive Compensation and related order/transaction schemas. Because the documented body is stubbed, no explicit table access paths are exposed in the metadata.

Usage Notes

This package is typically invoked from Oracle EBS concurrent programs registered against its procedures, allowing administrators to schedule MV refreshes through the Standard Request Submission (SRS) framework. In a production 12.1.1 or 12.2.2 environment, refresh jobs are scheduled to run after compensation data loads and calculation cycles so that reporting queries against the SRP materialized views return current results.

Because the package is classified PVT and is not referenced by any other documented package (0 referencing objects in ETRM), it is intended for internal use by the CN/BIS infrastructure rather than as a public API for custom development. Developers should avoid calling it directly in custom code; instead, invoke the delivered concurrent programs or use supported MV refresh utilities. Any customization should be limited to configuration or extension of the refresh schedule rather than modification of the package body, since the shipped implementation is subject to replacement during patching and upgrades.