Search Results rowtype_rec_to_api_rec
Overview
OE_LINE_UTIL_EXT is a public PL/SQL package in the APPS schema that provides utility services for order line processing within the Oracle Order Management module. In the context of Oracle E-Business Suite 12.1.1 and 12.2.2, it functions as an extension and helper layer that supports conversion between the Order Management open interface record structures and the internal API record types used by OE_ORDER_PUB and its related dependencies.
The package exists to bridge the gap between the AK-based order line view (OE_AK_ORDER_LINES_V) and the canonical order line API structures defined in OE_ORDER_PUB. Its primary business purpose is to support dependent attribute handling on order lines — that is, the process of clearing, resetting, and re-defaulting attribute values when a parent attribute value changes (for example, when an inventory item changes, the dependent descriptive or configurable attribute values must be cleared and re-derived). The package is classified in the ETRM metadata as an "OTHER" API, meaning it is not part of the formally published, externally supported API set, but it is nonetheless a stable internal utility invoked broadly across Order Management, scheduling, invoicing, and requisition components.
Key Procedures and Functions
The documented ETRM metadata identifies six procedures/functions in the package body. These are:
- G_MISS_OE_AK_LINE_REC — A package-level global constant or record placeholder representing a missing (empty) AK order line record. It is used as a default or sentinel value for order line record parameters, enabling callers to detect whether a record was passed and to avoid null-record comparisons.
- API_REC_TO_ROWTYPE_REC — Converts an API-level order line record (as defined by OE_ORDER_PUB) into the corresponding AK rowtype record sourced from OE_AK_ORDER_LINES_V. This supports the translation of internal API data structures into the view-based representation used by Order Management.
- ROWTYPE_REC_TO_API_REC — The inverse conversion, mapping an AK rowtype record back into the API-level order line record structure consumed by OE_ORDER_PUB. Together with the previous function, these two routines provide the bidirectional record mapping that OE_LINE_UTIL_EXT depends upon.
- CLEAR_DEPENDENT_ATTR — Clears dependent attributes on an order line. When a controlling or parent attribute changes, dependent attribute values must be removed so that stale or inconsistent values are not retained.
- CLEAR_DEP_AND_DEFAULT — Clears dependent attributes and subsequently re-applies default values. This combines the clearing step with the defaulting mechanism, allowing callers to reset dependent attributes to a consistent, defaulted state in a single invocation.
Note that the ETRM metadata lists six procedures/functions in total; parameter signatures are not documented and are not reproduced here.
Tables Accessed
The documented table references for this package are OE_SETS and PLITBLM, accessed through APPS synonyms.
- OE_SETS — The Order Management sets table, used in the line attribute defaulting and validation logic. Sets are relevant to attribute grouping and defaulting behavior applied to order lines.
- PLITBLM — A PL/SQL index-by table type used internally as a transient structure during attribute processing. It is a collection container rather than a persistent application table, used to hold attribute values in memory during clear-and-default operations.
In addition, the package's dependency information shows that it references the OE_AK_ORDER_LINES_V view and OE_GLOBALS, and that it is referenced by OE_ORDER_PUB. OE_AK_ORDER_LINES_V supplies the AK line record type used in the conversion routines, and OE_GLOBALS provides global constants used across Order Management.
Usage Notes
OE_LINE_UTIL_EXT is an internal utility rather than a customer-facing API and is not typically called directly from custom code. It is invoked by core Order Management components, as evidenced by its reverse dependencies. The eight packages referencing it include OE_CONFIG_SCHEDULE_PVT, OE_DEFAULT_LINE, OE_INTERNAL_REQUISITION_PVT, OE_INVOICE_PUB, OE_LINE_CL_DEP_ATTR, OE_LINE_SECURITY, OE_ORDER_PVT, and OE_SCHEDULE_UTIL.
These dependencies reveal the invocation contexts: order line defaulting (OE_DEFAULT_LINE, OE_LINE_CL_DEP_ATTR), line-level security (OE_LINE_SECURITY), configuration scheduling (OE_CONFIG_SCHEDULE_PVT, OE_SCHEDULE_UTIL), invoicing (OE_INVOICE_PUB), internal requisition processing (OE_INTERNAL_REQUISITION_PVT), and the central order processing logic (OE_ORDER_PVT). It may be triggered through the Order Management forms, the Order Import open interface, or the public OE_ORDER_PUB API when parent attributes on order lines are modified. Customizations in both 12.1.1 and 12.2.2 should avoid dependent logic on this package because it is not an officially published extension point and its record conversion routines are internal implementation details.
-
PACKAGE: APPS.OE_LINE_UTIL_EXT
12.1.1
-
PACKAGE: APPS.OE_LINE_UTIL_EXT
12.2.2
-
PACKAGE: APPS.OE_BLANKET_UTIL
12.1.1
-
PACKAGE: APPS.OE_BLANKET_UTIL
12.2.2
-
PACKAGE: APPS.OE_LINE_SCREDIT_UTIL
12.1.1
-
PACKAGE: APPS.OE_LINE_SCREDIT_UTIL
12.2.2
-
PACKAGE: APPS.OE_HEADER_PAYMENT_UTIL
12.1.1
-
PACKAGE: APPS.OE_HEADER_SCREDIT_UTIL
12.1.1
-
PACKAGE: APPS.OE_LINE_PAYMENT_UTIL
12.1.1
-
PACKAGE: APPS.OE_HEADER_PAYMENT_UTIL
12.2.2
-
PACKAGE: APPS.OE_LINE_PAYMENT_UTIL
12.2.2
-
PACKAGE: APPS.OE_HEADER_SCREDIT_UTIL
12.2.2
-
PACKAGE: APPS.OE_HEADER_UTIL
12.1.1
-
PACKAGE: APPS.OE_HEADER_UTIL
12.2.2
-
PACKAGE: APPS.OE_HEADER_ADJ_UTIL
12.1.1
-
PACKAGE: APPS.OE_LINE_ADJ_UTIL
12.2.2
-
PACKAGE: APPS.OE_HEADER_ADJ_UTIL
12.2.2
-
PACKAGE: APPS.OE_LINE_ADJ_UTIL
12.1.1
-
PACKAGE BODY: APPS.OE_LINE_UTIL_EXT
12.1.1
-
PACKAGE BODY: APPS.OE_LINE_UTIL_EXT
12.2.2
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_HEADERS_V
12.1.1
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_HEADERS_V
12.2.2
-
APPS.OE_INVOICE_PUB dependencies on OE_LINE_UTIL_EXT
12.1.1
-
APPS.OE_INVOICE_PUB dependencies on OE_LINE_UTIL_EXT
12.2.2
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_LINES_V
12.2.2
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_LINES_V
12.1.1
-
APPS.OE_HEADER_UTIL dependencies on OE_AK_ORDER_HEADERS_V
12.1.1
-
APPS.OE_HEADER_UTIL dependencies on OE_AK_ORDER_HEADERS_V
12.2.2
-
APPS.OE_HEADER_ADJ_UTIL dependencies on OE_AK_HEADER_PRCADJS_V
12.2.2
-
APPS.OE_LINE_SCREDIT_UTIL dependencies on OE_AK_LINE_SCREDITS_V
12.1.1
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_LINES_V
12.1.1
-
APPS.OE_BLANKET_UTIL dependencies on OE_AK_BLANKET_LINES_V
12.2.2
-
PACKAGE BODY: APPS.OE_HEADER_SCREDIT_UTIL
12.2.2
-
PACKAGE BODY: APPS.OE_LINE_SCREDIT_UTIL
12.2.2
-
PACKAGE BODY: APPS.OE_LINE_SCREDIT_UTIL
12.1.1
-
PACKAGE BODY: APPS.OE_HEADER_SCREDIT_UTIL
12.1.1
-
APPS.OE_LINE_UTIL_EXT dependencies on OE_ORDER_PUB
12.1.1
-
APPS.OE_LINE_ADJ_UTIL dependencies on OE_AK_LINE_PRCADJS_V
12.2.2
-
APPS.OE_LINE_UTIL_EXT dependencies on OE_ORDER_PUB
12.2.2
-
APPS.OE_LINE_PAYMENT_UTIL dependencies on OE_AK_LINE_PAYMENTS_V
12.1.1
-
APPS.OE_HEADER_ADJ_UTIL dependencies on OE_AK_HEADER_PRCADJS_V
12.1.1
-
APPS.OE_HEADER_SCREDIT_UTIL dependencies on OE_AK_HEADER_SCREDITS_V
12.2.2
-
APPS.OE_LINE_SCREDIT_UTIL dependencies on OE_AK_LINE_SCREDITS_V
12.2.2
-
APPS.OE_HEADER_SCREDIT_UTIL dependencies on OE_AK_HEADER_SCREDITS_V
12.1.1
-
APPS.OE_HEADER_PAYMENT_UTIL dependencies on OE_AK_HEADER_PAYMENTS_V
12.2.2
-
APPS.OE_HEADER_PAYMENT_UTIL dependencies on OE_AK_HEADER_PAYMENTS_V
12.1.1
-
APPS.OE_LINE_SCREDIT_UTIL dependencies on OE_AK_LINE_SCREDITS_V
12.2.2
-
APPS.OE_LINE_UTIL_EXT dependencies on OE_AK_ORDER_LINES_V
12.2.2
-
APPS.OE_LINE_ADJ_UTIL dependencies on OE_AK_LINE_PRCADJS_V
12.1.1
-
APPS.OE_LINE_PAYMENT_UTIL dependencies on OE_AK_LINE_PAYMENTS_V
12.2.2