102: -- Checks that the Price Update Tolerance is greater than or equal to zero.
103: -- Agreements only.
104: ---------------------------------------------------------------------------
105: PROCEDURE price_update_tol_ge_zero(
106: p_header_id_tbl IN PO_TBL_NUMBER
107: , p_price_update_tol_tbl IN PO_TBL_NUMBER
108: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
109: , x_result_type OUT NOCOPY VARCHAR2
110: )
103: -- Agreements only.
104: ---------------------------------------------------------------------------
105: PROCEDURE price_update_tol_ge_zero(
106: p_header_id_tbl IN PO_TBL_NUMBER
107: , p_price_update_tol_tbl IN PO_TBL_NUMBER
108: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
109: , x_result_type OUT NOCOPY VARCHAR2
110: )
111: IS
130: -- Checks that the Amount Limit is greater than or equal to zero.
131: -- Agreements only.
132: ---------------------------------------------------------------------------
133: PROCEDURE amount_limit_ge_zero(
134: p_header_id_tbl IN PO_TBL_NUMBER
135: , p_amount_limit_tbl IN PO_TBL_NUMBER
136: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
137: , x_result_type OUT NOCOPY VARCHAR2
138: )
131: -- Agreements only.
132: ---------------------------------------------------------------------------
133: PROCEDURE amount_limit_ge_zero(
134: p_header_id_tbl IN PO_TBL_NUMBER
135: , p_amount_limit_tbl IN PO_TBL_NUMBER
136: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
137: , x_result_type OUT NOCOPY VARCHAR2
138: )
139: IS
158: -- Checks that the Amount Limit is greater than or equal to the Amount Agreed.
159: -- Agreements only.
160: ---------------------------------------------------------------------------
161: PROCEDURE amt_limit_ge_amt_agreed(
162: p_header_id_tbl IN PO_TBL_NUMBER
163: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
164: , p_amount_limit_tbl IN PO_TBL_NUMBER
165: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
166: , x_result_type OUT NOCOPY VARCHAR2
159: -- Agreements only.
160: ---------------------------------------------------------------------------
161: PROCEDURE amt_limit_ge_amt_agreed(
162: p_header_id_tbl IN PO_TBL_NUMBER
163: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
164: , p_amount_limit_tbl IN PO_TBL_NUMBER
165: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
166: , x_result_type OUT NOCOPY VARCHAR2
167: )
160: ---------------------------------------------------------------------------
161: PROCEDURE amt_limit_ge_amt_agreed(
162: p_header_id_tbl IN PO_TBL_NUMBER
163: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
164: , p_amount_limit_tbl IN PO_TBL_NUMBER
165: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
166: , x_result_type OUT NOCOPY VARCHAR2
167: )
168: IS
187: -- Checks that the Amount Agreed is greater than or equal to zero.
188: -- Agreements only.
189: ---------------------------------------------------------------------------
190: PROCEDURE amount_agreed_ge_zero(
191: p_header_id_tbl IN PO_TBL_NUMBER
192: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
193: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
194: , x_result_type OUT NOCOPY VARCHAR2
195: )
188: -- Agreements only.
189: ---------------------------------------------------------------------------
190: PROCEDURE amount_agreed_ge_zero(
191: p_header_id_tbl IN PO_TBL_NUMBER
192: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
193: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
194: , x_result_type OUT NOCOPY VARCHAR2
195: )
196: IS
215: -- Checks that the Amount Agreed is not null if Amount Limit is not null.
216: -- Agreements only.
217: ---------------------------------------------------------------------------
218: PROCEDURE amount_agreed_not_null(
219: p_header_id_tbl IN PO_TBL_NUMBER
220: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
221: , p_amount_limit_tbl IN PO_TBL_NUMBER
222: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
223: , x_result_type OUT NOCOPY VARCHAR2
216: -- Agreements only.
217: ---------------------------------------------------------------------------
218: PROCEDURE amount_agreed_not_null(
219: p_header_id_tbl IN PO_TBL_NUMBER
220: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
221: , p_amount_limit_tbl IN PO_TBL_NUMBER
222: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
223: , x_result_type OUT NOCOPY VARCHAR2
224: )
217: ---------------------------------------------------------------------------
218: PROCEDURE amount_agreed_not_null(
219: p_header_id_tbl IN PO_TBL_NUMBER
220: , p_blanket_total_amount_tbl IN PO_TBL_NUMBER
221: , p_amount_limit_tbl IN PO_TBL_NUMBER
222: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
223: , x_result_type OUT NOCOPY VARCHAR2
224: )
225: IS
278: ---------------------------------------------------------------------------
279: -- Display a warning message if the supplier is on hold.
280: ---------------------------------------------------------------------------
281: PROCEDURE warn_supplier_on_hold(
282: p_header_id_tbl IN PO_TBL_NUMBER
283: , p_vendor_id_tbl IN PO_TBL_NUMBER
284: , x_result_set_id IN OUT NOCOPY NUMBER
285: , x_result_type OUT NOCOPY VARCHAR2
286: )
279: -- Display a warning message if the supplier is on hold.
280: ---------------------------------------------------------------------------
281: PROCEDURE warn_supplier_on_hold(
282: p_header_id_tbl IN PO_TBL_NUMBER
283: , p_vendor_id_tbl IN PO_TBL_NUMBER
284: , x_result_set_id IN OUT NOCOPY NUMBER
285: , x_result_type OUT NOCOPY VARCHAR2
286: )
287: IS
350: -- For Rate Type of User, the Rate is also required (not null),
351: -- but that is handled elsewhere (in the UI).
352: ---------------------------------------------------------------------------
353: PROCEDURE rate_gt_zero(
354: p_header_id_tbl IN PO_TBL_NUMBER
355: , p_rate_tbl IN PO_TBL_NUMBER
356: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
357: , x_result_type OUT NOCOPY VARCHAR2
358: )
351: -- but that is handled elsewhere (in the UI).
352: ---------------------------------------------------------------------------
353: PROCEDURE rate_gt_zero(
354: p_header_id_tbl IN PO_TBL_NUMBER
355: , p_rate_tbl IN PO_TBL_NUMBER
356: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
357: , x_result_type OUT NOCOPY VARCHAR2
358: )
359: IS
381: -- 2. Rate Date
382: -- 3. Rate
383: ---------------------------------------------------------------------------
384: PROCEDURE rate_combination_valid(
385: p_header_id_tbl IN PO_TBL_NUMBER
386: , p_org_id_tbl IN PO_TBL_NUMBER
387: , p_currency_code_tbl IN PO_TBL_VARCHAR30
388: , p_rate_type_tbl IN PO_TBL_VARCHAR30
389: , p_rate_date_tbl IN PO_TBL_DATE
382: -- 3. Rate
383: ---------------------------------------------------------------------------
384: PROCEDURE rate_combination_valid(
385: p_header_id_tbl IN PO_TBL_NUMBER
386: , p_org_id_tbl IN PO_TBL_NUMBER
387: , p_currency_code_tbl IN PO_TBL_VARCHAR30
388: , p_rate_type_tbl IN PO_TBL_VARCHAR30
389: , p_rate_date_tbl IN PO_TBL_DATE
390: , p_rate_tbl IN PO_TBL_NUMBER
386: , p_org_id_tbl IN PO_TBL_NUMBER
387: , p_currency_code_tbl IN PO_TBL_VARCHAR30
388: , p_rate_type_tbl IN PO_TBL_VARCHAR30
389: , p_rate_date_tbl IN PO_TBL_DATE
390: , p_rate_tbl IN PO_TBL_NUMBER
391: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
392: , x_result_type OUT NOCOPY VARCHAR2
393: )
394: IS
493: -- is email and that fax number is not null if supplier notification method
494: -- is fax.
495: ---------------------------------------------------------------------------
496: PROCEDURE fax_email_address_valid(
497: p_header_id_tbl IN PO_TBL_NUMBER
498: , p_supplier_notif_method_tbl IN PO_TBL_VARCHAR30
499: , p_fax_tbl IN PO_TBL_VARCHAR30
500: , p_email_address_tbl IN PO_TBL_VARCHAR2000
501: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
568: -- the Effective Date.
569: -- Agreements only.
570: ---------------------------------------------------------------------------
571: PROCEDURE effective_le_expiration(
572: p_header_id_tbl IN PO_TBL_NUMBER
573: , p_start_date_tbl IN PO_TBL_DATE
574: , p_end_date_tbl IN PO_TBL_DATE
575: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
576: , x_result_type OUT NOCOPY VARCHAR2
599: -- the Creation Date of any Orders referencing the Agreement.
600: -- Agreements only.
601: ---------------------------------------------------------------------------
602: PROCEDURE effective_from_le_order_date(
603: p_header_id_tbl IN PO_TBL_NUMBER
604: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
605: , p_start_date_tbl IN PO_TBL_DATE
606: , x_result_set_id IN OUT NOCOPY NUMBER
607: , x_result_type OUT NOCOPY VARCHAR2
677: -- the Creation Date of any Orders referencing the Agreement.
678: -- Agreements only.
679: ---------------------------------------------------------------------------
680: PROCEDURE effective_to_ge_order_date(
681: p_header_id_tbl IN PO_TBL_NUMBER
682: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
683: , p_end_date_tbl IN PO_TBL_DATE
684: , x_result_set_id IN OUT NOCOPY NUMBER
685: , x_result_type OUT NOCOPY VARCHAR2
754: -- Checks that the Effective From Date is less than or equal to
755: -- the Creation Date of any Orders referencing the Contract.
756: ---------------------------------------------------------------------------
757: PROCEDURE contract_start_le_order_date(
758: p_header_id_tbl IN PO_TBL_NUMBER
759: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
760: , p_start_date_tbl IN PO_TBL_DATE
761: , x_result_set_id IN OUT NOCOPY NUMBER
762: , x_result_type OUT NOCOPY VARCHAR2
838: -- Checks that the Effective To Date is greater than or equal to
839: -- the Creation Date of any Orders referencing the Contract.
840: ---------------------------------------------------------------------------
841: PROCEDURE contract_end_ge_order_date(
842: p_header_id_tbl IN PO_TBL_NUMBER
843: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
844: , p_end_date_tbl IN PO_TBL_DATE
845: , x_result_set_id IN OUT NOCOPY NUMBER
846: , x_result_type OUT NOCOPY VARCHAR2
919: ---------------------------------------------------------------------------
920: -- Checks that the Document Number is numeric, if required.
921: ---------------------------------------------------------------------------
922: PROCEDURE doc_num_chars_valid(
923: p_header_id_tbl IN PO_TBL_NUMBER
924: , p_org_id_tbl IN PO_TBL_NUMBER
925: , p_segment1_tbl IN PO_TBL_VARCHAR30
926: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
927: , x_result_type OUT NOCOPY VARCHAR2
920: -- Checks that the Document Number is numeric, if required.
921: ---------------------------------------------------------------------------
922: PROCEDURE doc_num_chars_valid(
923: p_header_id_tbl IN PO_TBL_NUMBER
924: , p_org_id_tbl IN PO_TBL_NUMBER
925: , p_segment1_tbl IN PO_TBL_VARCHAR30
926: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
927: , x_result_type OUT NOCOPY VARCHAR2
928: )
930: d_mod CONSTANT VARCHAR2(100) := D_doc_num_chars_valid;
931:
932: l_results_count NUMBER;
933: l_data_key NUMBER;
934: l_header_id_tbl PO_TBL_NUMBER;
935: l_segment1_tbl PO_TBL_VARCHAR30;
936: l_num_test NUMBER;
937: BEGIN
938:
1022: ---------------------------------------------------------------------------
1023: -- Checks that the Document Number is unique within the Org.
1024: ---------------------------------------------------------------------------
1025: PROCEDURE doc_num_unique(
1026: p_header_id_tbl IN PO_TBL_NUMBER
1027: , p_org_id_tbl IN PO_TBL_NUMBER
1028: , p_segment1_tbl IN PO_TBL_VARCHAR30
1029: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
1030: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1023: -- Checks that the Document Number is unique within the Org.
1024: ---------------------------------------------------------------------------
1025: PROCEDURE doc_num_unique(
1026: p_header_id_tbl IN PO_TBL_NUMBER
1027: , p_org_id_tbl IN PO_TBL_NUMBER
1028: , p_segment1_tbl IN PO_TBL_VARCHAR30
1029: , p_type_lookup_code_tbl IN PO_TBL_VARCHAR30
1030: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1031: , x_result_type OUT NOCOPY VARCHAR2
1036:
1037: l_results_count NUMBER;
1038:
1039: l_data_key NUMBER;
1040: l_header_id_tbl PO_TBL_NUMBER;
1041: l_org_id_tbl PO_TBL_NUMBER;
1042: l_segment1_tbl PO_TBL_VARCHAR30;
1043: l_nonunique_tbl PO_TBL_VARCHAR2000;
1044:
1037: l_results_count NUMBER;
1038:
1039: l_data_key NUMBER;
1040: l_header_id_tbl PO_TBL_NUMBER;
1041: l_org_id_tbl PO_TBL_NUMBER;
1042: l_segment1_tbl PO_TBL_VARCHAR30;
1043: l_nonunique_tbl PO_TBL_VARCHAR2000;
1044:
1045: l_check_sourcing_flag VARCHAR2(2000);
1541: -------------------------------------------------------------------------------
1542: -- Ensures that the Buyer is not null.
1543: -------------------------------------------------------------------------------
1544: PROCEDURE agent_id_not_null(
1545: p_header_id_tbl IN PO_TBL_NUMBER
1546: , p_agent_id_tbl IN PO_TBL_NUMBER
1547: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1548: , x_result_type OUT NOCOPY VARCHAR2
1549: )
1542: -- Ensures that the Buyer is not null.
1543: -------------------------------------------------------------------------------
1544: PROCEDURE agent_id_not_null(
1545: p_header_id_tbl IN PO_TBL_NUMBER
1546: , p_agent_id_tbl IN PO_TBL_NUMBER
1547: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1548: , x_result_type OUT NOCOPY VARCHAR2
1549: )
1550: IS
1567: -------------------------------------------------------------------------------
1568: -- Ensures that the Default Ship-To / Work Location is not null.
1569: -------------------------------------------------------------------------------
1570: PROCEDURE ship_to_loc_not_null(
1571: p_header_id_tbl IN PO_TBL_NUMBER
1572: , p_ship_to_loc_id_tbl IN PO_TBL_NUMBER
1573: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1574: , x_result_type OUT NOCOPY VARCHAR2
1575: )
1568: -- Ensures that the Default Ship-To / Work Location is not null.
1569: -------------------------------------------------------------------------------
1570: PROCEDURE ship_to_loc_not_null(
1571: p_header_id_tbl IN PO_TBL_NUMBER
1572: , p_ship_to_loc_id_tbl IN PO_TBL_NUMBER
1573: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1574: , x_result_type OUT NOCOPY VARCHAR2
1575: )
1576: IS
1593: -------------------------------------------------------------------------------
1594: -- Ensures that the Supplier is not null.
1595: -------------------------------------------------------------------------------
1596: PROCEDURE vendor_id_not_null(
1597: p_header_id_tbl IN PO_TBL_NUMBER
1598: , p_vendor_id_tbl IN PO_TBL_NUMBER
1599: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1600: , x_result_type OUT NOCOPY VARCHAR2
1601: )
1594: -- Ensures that the Supplier is not null.
1595: -------------------------------------------------------------------------------
1596: PROCEDURE vendor_id_not_null(
1597: p_header_id_tbl IN PO_TBL_NUMBER
1598: , p_vendor_id_tbl IN PO_TBL_NUMBER
1599: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1600: , x_result_type OUT NOCOPY VARCHAR2
1601: )
1602: IS
1619: -------------------------------------------------------------------------------
1620: -- Ensures that the Supplier Site is not null.
1621: -------------------------------------------------------------------------------
1622: PROCEDURE vendor_site_id_not_null(
1623: p_header_id_tbl IN PO_TBL_NUMBER
1624: , p_vendor_site_id_tbl IN PO_TBL_NUMBER
1625: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1626: , x_result_type OUT NOCOPY VARCHAR2
1627: )
1620: -- Ensures that the Supplier Site is not null.
1621: -------------------------------------------------------------------------------
1622: PROCEDURE vendor_site_id_not_null(
1623: p_header_id_tbl IN PO_TBL_NUMBER
1624: , p_vendor_site_id_tbl IN PO_TBL_NUMBER
1625: , x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
1626: , x_result_type OUT NOCOPY VARCHAR2
1627: )
1628: IS
1645: -------------------------------------------------------------------------------
1646: -- Ensures that the Segment1 is not null.
1647: -------------------------------------------------------------------------------
1648: PROCEDURE segment1_not_null(
1649: p_header_id_tbl IN PO_TBL_NUMBER
1650: , p_segment1_tbl IN PO_TBL_VARCHAR30
1651: , p_org_id_tbl IN PO_TBL_NUMBER
1652: , x_result_set_id IN OUT NOCOPY NUMBER
1653: , x_result_type OUT NOCOPY VARCHAR2
1647: -------------------------------------------------------------------------------
1648: PROCEDURE segment1_not_null(
1649: p_header_id_tbl IN PO_TBL_NUMBER
1650: , p_segment1_tbl IN PO_TBL_VARCHAR30
1651: , p_org_id_tbl IN PO_TBL_NUMBER
1652: , x_result_set_id IN OUT NOCOPY NUMBER
1653: , x_result_type OUT NOCOPY VARCHAR2
1654: )
1655: IS