Search Results cn_rule_attr_expression




Overview

CN_RULE_ATTR_EXPRESSION_PKG is a table handler package in the Oracle EBS Advanced Pricing / Channel Revenue Management (formerly Trade Management) schema, owned by APPS. Its stated purpose, taken directly from the package header comment, is to serve as the "Table Handler for CN_RULE_ATTR_EXPRESSION." In that role it encapsulates the DML operations against the CN_RULE_ATTR_EXPRESSION table, which stores the individual attribute-level expression rows that make up a pricing or trade rule. Where a parent rule (CN_RULES) defines the overall condition logic, each row in CN_RULE_ATTR_EXPRESSION represents a single operand comparison — that is, an operand, an operator, and a second operand — combined to form the qualifying expression for the rule.

The package is classified in the ETRM 12.2.2 repository as API classification OTHER, meaning it is an internal table handler rather than a public, supported integration API. The header history indicates an original authoring date of 02-Feb-2001 by Kumar Sivasankaran, and the stored header revision ($Header: cntraeb.pls 115.4 2002/11/21) confirms the code has been stable across releases and is carried forward essentially unchanged into EBS 12.1.1 and 12.2.2.

Key Procedures and Functions

The ETRM metadata documents two procedures on this package:

  • INSERT_ROW — The main insert procedure for the handler. It inserts a single row into CN_RULE_ATTR_EXPRESSION, taking the rule attribute expression identifier, the two operands, the operator, the parent rule identifier, the operand expression identifier, the operand RA/RAE flags that indicate whether each operand refers to a rule attribute or a nested rule attribute expression, and the standard Who columns (Created_By, Creation_Date, Last_Updated_By, Last_Update_Date, Last_Update_Login). The identifier parameter is declared IN OUT NOCOPY, so the procedure returns the newly generated primary key to the caller.
  • DELETE_ROW — The companion delete procedure, which removes a row from CN_RULE_ATTR_EXPRESSION, typically keyed on the rule attribute expression identifier. It provides the reciprocal operation used when a rule condition or an operand expression is removed.

No other procedures or functions are exposed in the documented metadata. Note that the package does not publish an update routine; updates to existing expression rows are handled through the same logical path as delete-plus-insert.

Tables Accessed

The package operates against a single table, CN_RULE_ATTR_EXPRESSION, reached through its APPS synonym. This is consistent with its role as a dedicated table handler: INSERT_ROW writes new expression rows and DELETE_ROW removes them, and there is no documented read of other EBS tables. Because the operand and operator columns reference the rule attribute model, callers are expected to have already resolved operands and any nested operand expressions before invoking the handler.

Usage Notes

Because the ETRM metadata records that this package is referenced by zero other packages, it is not a widely shared dependency within the schema. It is most commonly invoked from the Advanced Pricing / Channel Revenue Management rule maintenance forms and from the rule validation and save logic that persists rule conditions, and it may also be called from custom or extension code that programmatically builds pricing rules. As an OTHER-classified internal handler, it carries no public API compatibility guarantee; implementations should prefer supported APIs where available, and any direct call must supply the Who columns and manage the IN OUT key correctly. The stable, long-lived code base means behavior is consistent between 12.1.1 and 12.2.2.