Search Results create_quota_pay_element




Overview

The APPS.CN_QUOTA_PAY_ELEMENTS_PVT package body is a private API component within the Oracle E-Business Suite Incentive Compensation (formerly Oracle Sales Compensation / CN) module. Its principal business function is to maintain the association between quota records and the Oracle Payroll element types used to disburse incentive compensation earnings to sales representatives. In ETRM terms, a "quota pay element" is the configuration object that links a compensation plan quota to a specific payroll earning element, so that calculated incentive amounts can be transferred into Oracle Payroll as a payable element. The package encapsulates the create, read, update, and delete (CRUD) logic for these configuration records, together with private helper functions that validate element types, verify the existence of input records, and check deletion eligibility.

The package carries the _PVT suffix, indicating it is classified as a private API. It is not intended for direct invocation by external integration code; rather, it is called by the public Incentive Compensation APIs and by the module's own concurrent processing logic. The header revision string (cnvqpeb.pls 115.16) confirms this is a long-standing component of the CN schema, present across both the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

ETRM documents four procedures and functions exposed by this package body:

  • CREATE_QUOTA_PAY_ELEMENT — Inserts a new quota pay element record, establishing the link between a quota and the corresponding payroll element type. This is the procedure most commonly referenced by the search term "create_quota_pay_element." It is responsible for populating the CN_QUOTA_PAY_ELEMENTS table and for validating the element type before insertion.
  • UPDATE_QUOTA_PAY_ELEMENT — Modifies an existing quota pay element record, allowing corrections or reassignment of the associated payroll element.
  • DELETE_QUOTA_PAY_ELEMENT — Removes a quota pay element record. The package contains a private helper, check_input_exists, which verifies whether dependent records exist in CN_PAY_ELEMENT_INPUTS; deletion is typically guarded by this check to preserve referential integrity.
  • GET_QUOTA_PAY_ELEMENT — Retrieves quota pay element details, supporting the read path used by forms and validation logic.

In addition to these public-facing procedures, the body defines private helper functions such as get_element_type, which resolves an element type identifier to its payroll element name by joining PAY_ELEMENT_TYPES_F, GL_SETS_OF_BOOKS, and CN_REPOSITORIES on matching currency codes.

Tables Accessed

The package reads and writes the following tables through APPS synonyms:

  • CN_QUOTA_PAY_ELEMENTS — The primary table holding quota-to-element associations; the target of create, update, and delete operations.
  • CN_QUOTAS — The parent quota definition, referenced to validate the quota being linked.
  • CN_PAY_ELEMENT_INPUTS — Holds payroll element input values; queried by check_input_exists to determine whether a pay element is referenced and therefore protected from deletion.
  • CN_PAYMENT_TRANSACTIONS — Payment transaction records used to confirm usage of a pay element before modification.
  • CN_PERIOD_STATUSES — Period open/closed status, used to restrict changes to open compensation periods.
  • CN_REPOSITORIES — Repository configuration, providing the set of books and currency context for element type resolution.
  • CN_SRP_PMT_PLANS — Sales representative payment plan definitions, consulted for dependency checking.
  • PAY_ELEMENT_TYPES_F — The Oracle Payroll element type definition used to resolve element names and currencies.
  • DUAL — Used in the check_input_exists existence test and in standard initialization.

Usage Notes

Because this is a private package, it should not be called directly from custom code. It is invoked internally by the Incentive Compensation setup and administration forms, where compensation administrators configure quota pay elements, and by the module's concurrent programs that manage payment elements. Custom integrations requiring equivalent functionality should use the corresponding public CN API. When extending or troubleshooting this component, note that record initialization uses FND_GLOBAL for user, login, and audit columns, and that deletion is subject to the input existence check described above. The package is referenced by one other package within the CN schema, limiting its dependency footprint.