Search Results vmi_asl_exists
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
-
PACKAGE: APPS.PO_VAL_LINES
12.2.2
-
PACKAGE BODY: APPS.PO_VAL_LINES
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_TBL_VARCHAR30
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_TBL_VARCHAR30
12.1.1
-
PACKAGE BODY: APPS.PO_VAL_LINES
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_TBL_VARCHAR30
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_TBL_VARCHAR30
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_TBL_NUMBER
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_VALIDATION_RESULTS_TYPE
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_TBL_NUMBER
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_LOG
12.1.1
-
APPS.PO_VAL_LINES dependencies on PO_TBL_NUMBER
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_VALIDATION_RESULTS_TYPE
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_TBL_NUMBER
12.2.2
-
APPS.PO_VAL_LINES dependencies on PO_LOG
12.2.2