Search Results po_val_lines
Overview
PO_VAL_LINES is a server-side PL/SQL validation package in the Oracle E-Business Suite Purchasing application (APPS schema). Its purpose is to centralize the column-level and cross-field validation logic applied to purchase order and purchase agreement lines during data entry and update. The package provides granular validation units that Purchasing forms, the Purchasing Public APIs, and concurrent import programs invoke to enforce business rules before a line record is committed to the database.
The current source header ($Header: PO_VAL_LINES.pls 120.16 2006/11/15) reflects the Oracle 11i/R12 lineage. In Release 12.2.2 the package is classified in ETRM as an OTHER API object owned by APPS, exposing 73 documented procedures and functions.
Key Procedures and Functions
The package exposes fine-grained, reusable validation routines. Documented examples include:
- AMT_AGREED_GE_ZERO — verifies the committed amount on an agreement line is not negative.
- MIN_REL_AMT_GE_ZERO — confirms the minimum release amount is zero or greater.
- QUANTITY_GT_ZERO — enforces that ordered quantity exceeds zero, with order type context.
- QUANTITY_GE_QUANTITY_EXEC — the R12 replacement for the removed quantity_ge_quantity_billed and quantity_ge_quantity_rcvd checks. It validates that ordered quantity is greater than or equal to executed quantity, generally in the Complex Work / pay-when-paid procurement flows.
- QUANTITY_GE_QUANTITY_ENC — validates quantity against encumbered quantity.
- QUANTITY_NOTIF_CHANGE — controls quantity changes on notification-type lines.
- RECOUPMENT_RATE_RANGE_CHECK, RETAINAGE_RATE_RANGE_CHECK, PROG_PAY_RATE_RANGE_CHECK — range validation for recoupment, retainage, and progress payment rates.
- MAX_RETAIN_AMT_GE_ZERO, MAX_RETAIN_AMT_GE_RETAINED — maximum retainage amount boundary checks.
- AMOUNT_GT_ZERO, AMOUNT_GE_AMOUNT_EXEC, AMOUNT_GE_TIMECARD — amount consistency validations against executed and timecard amounts.
- LINE_NUM_UNIQUE, LINE_NUM_GT_ZERO — line number integrity within a PO.
- VMI_ASL_EXISTS — confirms an approved supplier list entry exists for VMI lines.
- START_DATE_LE_END_DATE, OTL_INVALID_START_DATE_CHANGE, OTL_INVALID_END_DATE_CHANGE — date ordering and OTL (Oracle Time & Labor) date-change guards.
Most procedures accept a line-id table and a value table (for example PO_TBL_NUMBER) and return results through PO_VALIDATION_RESULTS_TYPE and a result-type OUT parameter, enabling set-based or bulk validation.
Tables Accessed
The package reads and writes against core Purchasing and supporting tables through APPS synonyms, including PO_LINES_ALL, PO_LINES_INTERFACE, PO_LINE_LOCATIONS_ALL, PO_HEADERS_ALL, PO_HEADERS_INTERFACE, PO_HEADERS_DRAFT_ALL, PO_DISTRIBUTIONS_ALL, PO_LINE_TYPES, PO_LINE_TYPES_B, and PO_ASL_ATTRIBUTES. It also consults FND_LOOKUP_VALUES, FND_CURRENCIES, FINANCIALS_SYSTEM_PARAMETERS, and the OKC contract tables (OKC_K_HEADERS_B, OKC_K_VERS_NUMBERS_H) for cross-module consistency.
Usage Notes
PO_VAL_LINES is invoked by the Purchasing forms (POXPOEPO, POXPOVPO) and by the PO line import/interface concurrent programs when validating inbound records. Customizations that extend or bypass standard Purchasing validation typically call the relevant procedure directly, passing the line-id and value tables. Because the package is classified as an OTHER API, it is not a committed public interface; Oracle may change signatures across releases. Callers should therefore avoid hard-coding parameter lists and rely on documented procedure names.
-
PACKAGE: APPS.PO_VAL_LINES
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_VAL_LINES, status:VALID,
-
PACKAGE: APPS.PO_VAL_LINES
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_VAL_LINES, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR20
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR20, status:VALID,
-
PACKAGE BODY: APPS.PO_VAL_LINES
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_VAL_LINES, status:VALID,
-
PACKAGE BODY: APPS.PO_VAL_LINES
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_VAL_LINES, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR240
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR240, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR4000
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR4000, status:VALID,
-
PACKAGE: APPS.PO_PROFILES
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_PROFILES, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR100
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR100, status:VALID,
-
PACKAGE: APPS.PO_TYPE_CONVERTER
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_TYPE_CONVERTER, status:VALID,
-
PACKAGE: APPS.PO_HXC_INTERFACE_PVT
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_HXC_INTERFACE_PVT, status:VALID,
-
PACKAGE: APPS.PO_PROFILES
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_PROFILES, status:VALID,
-
SYNONYM: APPS.PO_VALIDATION_RESULTS_GT
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_VALIDATION_RESULTS_GT, status:VALID,
-
PACKAGE: APPS.PO_HXC_INTERFACE_PVT
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_HXC_INTERFACE_PVT, status:VALID,
-
PACKAGE: APPS.PO_TYPE_CONVERTER
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_TYPE_CONVERTER, status:VALID,
-
TYPE: APPS.PO_VALIDATION_RESULTS_TYPE
12.1.1
owner:APPS, object_type:TYPE, object_name:PO_VALIDATION_RESULTS_TYPE, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR2000
12.1.1
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR2000, status:VALID,
-
SYNONYM: APPS.OKC_K_VERS_NUMBERS_H
12.2.2
owner:APPS, object_type:SYNONYM, object_name:OKC_K_VERS_NUMBERS_H, status:VALID,
-
PACKAGE: APPS.PO_VALIDATION_HELPER
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_VALIDATION_HELPER, status:VALID,
-
SYNONYM: APPS.PO_VALIDATION_RESULTS_GT
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_VALIDATION_RESULTS_GT, status:VALID,
-
TYPE: APPS.PO_VALIDATION_RESULTS_TYPE
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_VALIDATION_RESULTS_TYPE, status:VALID,
-
PACKAGE: APPS.PO_VALIDATION_HELPER
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_VALIDATION_HELPER, status:VALID,
-
TYPE: APPS.PO_TBL_DATE
12.1.1
owner:APPS, object_type:TYPE, object_name:PO_TBL_DATE, status:VALID,
-
PACKAGE BODY: APPS.PO_VALIDATIONS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_VALIDATIONS, status:VALID,
-
PACKAGE: APPS.PO_CLM_INTG_GRP
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_CLM_INTG_GRP, status:VALID,
-
PACKAGE: APPS.PO_CLM_CLO_UTIL
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_CLM_CLO_UTIL, status:VALID,
-
TYPE: APPS.PO_TBL_DATE
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_DATE, status:VALID,
-
PACKAGE: APPS.PO_VALIDATIONS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_VALIDATIONS, status:VALID,
-
PACKAGE BODY: APPS.PO_VALIDATIONS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_VALIDATIONS, status:VALID,
-
PACKAGE: APPS.PO_PDOI_PARAMS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_PDOI_PARAMS, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR4000
12.1.1
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR4000, status:VALID,
-
VIEW: APPS.PO_EXHIBIT_DETAILS_MERGE_V
12.2.2
owner:APPS, object_type:VIEW, object_name:PO_EXHIBIT_DETAILS_MERGE_V, status:VALID,
-
PACKAGE: APPS.PO_VALIDATIONS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_VALIDATIONS, status:VALID,
-
PACKAGE: APPS.PO_COMPLEX_WORK_PVT
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_COMPLEX_WORK_PVT, status:VALID,
-
PACKAGE: APPS.PO_PDOI_CONSTANTS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_PDOI_CONSTANTS, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR2000
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR2000, status:VALID,
-
VIEW: APPS.OKE_K_VERS_NUMBERS_V
12.2.2
owner:APPS, object_type:VIEW, fnd_design_data:OKE.OKE_K_VERS_NUMBERS_V, object_name:OKE_K_VERS_NUMBERS_V, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR30
12.1.1
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR30, status:VALID,
-
SYNONYM: APPS.PO_LINES_INTERFACE
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_LINES_INTERFACE, status:VALID,
-
SYNONYM: APPS.PO_ASL_ATTRIBUTES
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_ASL_ATTRIBUTES, status:VALID,
-
SYNONYM: APPS.PO_LINE_TYPES_B
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_LINE_TYPES_B, status:VALID,
-
SYNONYM: APPS.PO_ASL_ATTRIBUTES
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_ASL_ATTRIBUTES, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR1
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR1, status:VALID,
-
SYNONYM: APPS.PO_LINE_TYPES_B
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_LINE_TYPES_B, status:VALID,
-
SYNONYM: APPS.PO_HEADERS_DRAFT_ALL
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_HEADERS_DRAFT_ALL, status:VALID,
-
SYNONYM: APPS.PO_SESSION_GT
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_SESSION_GT, status:VALID,
-
SYNONYM: APPS.PO_HEADERS_INTERFACE
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_HEADERS_INTERFACE, status:VALID,
-
VIEW: APPS.PO_ASL_STATUS_RULES_V
12.2.2
owner:APPS, object_type:VIEW, fnd_design_data:PO.PO_ASL_STATUS_RULES_V, object_name:PO_ASL_STATUS_RULES_V, status:VALID,
-
TYPE: APPS.PO_TBL_VARCHAR30
12.2.2
owner:APPS, object_type:TYPE, object_name:PO_TBL_VARCHAR30, status:VALID,
-
VIEW: APPS.PO_ASL_STATUS_RULES_V
12.1.1
owner:APPS, object_type:VIEW, fnd_design_data:PO.PO_ASL_STATUS_RULES_V, object_name:PO_ASL_STATUS_RULES_V, status:VALID,