Search Results add_expression_row
Overview
GMD_EXPRESSION_UTIL is a utility package in the Oracle EBS Process Manufacturing (OPM) module, owned by APPS and classified as a UTIL API. Its primary business function is to support the parsing, storage, and evaluation of technical parameter expressions used in product development, recipe management, and formula calculations. Within OPM, technical parameters can be defined as mathematical expressions that reference other parameters, constants, and built-in operators or functions. This package provides the engine that decomposes those expressions into tokens, persists the tokenized rows, and evaluates the resulting values at runtime.
The package body header indicates it is a shipped Oracle file (GMDPEXPB.pls). The declaration of an operator table containing symbols such as +, -, /, *, parentheses, and named functions including SUM, ISUM, BSUM, POWER, ABS, SQRT, EXP, LOG, LN, MOD, ROUND, and CEIL confirms that the package recognizes and processes a defined grammar of mathematical and aggregate operations.
Key Procedures and Functions
The package exposes nine documented procedures and functions:
- PARSE_EXPRESSION — Parses an input expression string into tokens and writes the parsed rows. It accepts an organization ID, technical parameter ID, and the expression text, returning a status. The body includes circular reference detection via the CIRCULAR_REFERENCE exception (ORA-01436) and uses a CONNECT BY query against gmd_parsed_expression to detect loops in parameter references.
- INSERT_EXPRESSION_KEY — Inserts expression key records associated with parsed expressions.
- IS_OPERATOR — Determines whether a given token is a recognized operator or function.
- IS_PARAMETER — Determines whether a token refers to another technical parameter.
- IS_NUMBER — Determines whether a token is a numeric literal.
- ADD_EXPRESSION_ROW — Adds a single parsed expression row to the parsed expression table; this is the object surfaced by the user's search and is the low-level insert routine used during parsing.
- EVALUATE_EXPRESSION_VALUE — Evaluates the value of an expression (or sub-expression) given its parsed representation.
- GET_VALUE — Retrieves the numeric value associated with a parameter or token during evaluation.
- EVALUATE_EXPRESSION — Top-level routine that evaluates a complete expression by orchestrating parsing and recursive value resolution.
Tables Accessed
The package reads and writes the following documented tables:
- GMD_PARSED_EXPRESSION — Stores tokenized expression rows; central to parsing and used in circular-reference detection.
- GMD_TECH_PARAMETERS_B — Base technical parameter definitions; referenced to validate parameters and data types.
- GMD_MATERIAL_DETAILS_GTMP — Global temporary table holding material detail data used during evaluation.
- GMD_TECHNICAL_DATA_GTMP — Global temporary table for technical data values used at evaluation time.
- GMD_TECH_EXP_SEQ_ID_S — Sequence supplying expression identifiers.
- PLITBLM — Standard EBS temporary table used for parsing/string manipulation.
Usage Notes
GMD_EXPRESSION_UTIL is an internal utility rather than an end-user API. It is typically invoked from OPM setup and product development forms (such as technical parameter definition screens) and from other PL/SQL packages that need to validate or evaluate expressions. The metadata notes it is referenced by one other package. Custom code extending OPM technical parameters can call PARSE_EXPRESSION to validate syntax and EVALUATE_EXPRESSION to compute runtime values, provided the calling session establishes the required global temporary table context. Because parsing performs CONNECT BY recursion and savepoint-based rollback, callers should expect transactional boundaries within the parse routine.
-
APPS.GMD_EXPRESSION_MIG_UTIL SQL Statements
12.1.1
-
APPS.GMD_EXPRESSION_UTIL SQL Statements
12.2.2
-
APPS.GMD_EXPRESSION_UTIL SQL Statements
12.1.1
-
APPS.GMD_EXPRESSION_MIG_UTIL SQL Statements
12.2.2
-
PACKAGE BODY: APPS.GMD_EXPRESSION_UTIL
12.2.2
-
PACKAGE BODY: APPS.GMD_EXPRESSION_MIG_UTIL
12.2.2
-
PACKAGE BODY: APPS.GMD_EXPRESSION_MIG_UTIL
12.1.1
-
PACKAGE BODY: APPS.GMD_EXPRESSION_UTIL
12.1.1
-
PACKAGE: APPS.GMD_EXPRESSION_UTIL
12.1.1
-
PACKAGE: APPS.GMD_EXPRESSION_MIG_UTIL
12.2.2
-
PACKAGE: APPS.GMD_EXPRESSION_MIG_UTIL
12.1.1
-
PACKAGE: APPS.GMD_EXPRESSION_UTIL
12.2.2
-
APPS.GMD_EXPRESSION_UTIL dependencies on GMD_EXPRESSION_UTIL
12.1.1
-
APPS.GMD_EXPRESSION_UTIL dependencies on FND_MSG_PUB
12.1.1
-
APPS.GMD_EXPRESSION_UTIL dependencies on FND_MSG_PUB
12.2.2
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on FND_MSG_PUB
12.2.2
-
APPS.GMD_EXPRESSION_UTIL dependencies on GMD_EXPRESSION_UTIL
12.2.2
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on FND_MSG_PUB
12.1.1
-
APPS.GMD_EXPRESSION_UTIL dependencies on GMD_TECH_EXP_SEQ_ID_S
12.2.2
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on GMD_TECH_EXP_SEQ_ID_S
12.2.2
-
APPS.GMD_EXPRESSION_UTIL dependencies on GMD_TECH_EXP_SEQ_ID_S
12.1.1
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on GMD_TECH_EXP_SEQ_ID_S
12.1.1
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on FND_API
12.1.1
-
APPS.GMD_EXPRESSION_UTIL dependencies on FND_API
12.2.2
-
APPS.GMD_EXPRESSION_UTIL dependencies on FND_API
12.1.1
-
APPS.GMD_EXPRESSION_MIG_UTIL dependencies on FND_API
12.2.2