19: /* Bug# 1548597 */
20: x_secondary_available_qty NUMBER := 0;
21: x_error_status VARCHAR2(1);
22: BEGIN
23: x_error_status := rcv_error_pkg.g_ret_sts_error;
24:
25: IF (x_quantity_shipped_record.quantity_shipped IS NULL) THEN
26: rcv_error_pkg.set_error_message('RCV_ITEM_NO_SHIP_QTY');
27: RAISE e_validation_error;
22: BEGIN
23: x_error_status := rcv_error_pkg.g_ret_sts_error;
24:
25: IF (x_quantity_shipped_record.quantity_shipped IS NULL) THEN
26: rcv_error_pkg.set_error_message('RCV_ITEM_NO_SHIP_QTY');
27: RAISE e_validation_error;
28: END IF;
29:
30: IF (x_quantity_shipped_record.quantity_shipped < 0) THEN
27: RAISE e_validation_error;
28: END IF;
29:
30: IF (x_quantity_shipped_record.quantity_shipped < 0) THEN
31: rcv_error_pkg.set_error_message('RCV_ITEM_SUBZERO_SHIP_QTY');
32: RAISE e_validation_error;
33: END IF;
34:
35: -- get the tolerable quantity first
46: x_secondary_available_qty
47: );
48:
49: IF (x_quantity_shipped_record.quantity_shipped > x_tolerable_qty) THEN
50: x_error_status := rcv_error_pkg.g_ret_sts_warning;
51: rcv_error_pkg.set_error_message('RCV_ALL_QTY_OVER_TOLERANCE');
52: RAISE e_validation_error;
53: END IF;
54: EXCEPTION
47: );
48:
49: IF (x_quantity_shipped_record.quantity_shipped > x_tolerable_qty) THEN
50: x_error_status := rcv_error_pkg.g_ret_sts_warning;
51: rcv_error_pkg.set_error_message('RCV_ALL_QTY_OVER_TOLERANCE');
52: RAISE e_validation_error;
53: END IF;
54: EXCEPTION
55: WHEN e_validation_error THEN
53: END IF;
54: EXCEPTION
55: WHEN e_validation_error THEN
56: x_quantity_shipped_record.error_record.error_status := x_error_status;
57: x_quantity_shipped_record.error_record.error_message := rcv_error_pkg.get_last_message;
58:
59: IF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_NO_SHIP_QTY' THEN
60: rcv_error_pkg.set_token('ITEM', x_quantity_shipped_record.item_id);
61: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_SUBZERO_SHIP_QTY' THEN
56: x_quantity_shipped_record.error_record.error_status := x_error_status;
57: x_quantity_shipped_record.error_record.error_message := rcv_error_pkg.get_last_message;
58:
59: IF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_NO_SHIP_QTY' THEN
60: rcv_error_pkg.set_token('ITEM', x_quantity_shipped_record.item_id);
61: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_SUBZERO_SHIP_QTY' THEN
62: rcv_error_pkg.set_token('QTY_SHIPPED', x_quantity_shipped_record.quantity_shipped);
63: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ALL_QTY_OVER_TOLERANCE' THEN
64: rcv_error_pkg.set_token('QTY_A', x_quantity_shipped_record.quantity_shipped);
58:
59: IF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_NO_SHIP_QTY' THEN
60: rcv_error_pkg.set_token('ITEM', x_quantity_shipped_record.item_id);
61: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_SUBZERO_SHIP_QTY' THEN
62: rcv_error_pkg.set_token('QTY_SHIPPED', x_quantity_shipped_record.quantity_shipped);
63: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ALL_QTY_OVER_TOLERANCE' THEN
64: rcv_error_pkg.set_token('QTY_A', x_quantity_shipped_record.quantity_shipped);
65: rcv_error_pkg.set_token('QTY_B', x_tolerable_qty);
66: END IF;
60: rcv_error_pkg.set_token('ITEM', x_quantity_shipped_record.item_id);
61: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_SUBZERO_SHIP_QTY' THEN
62: rcv_error_pkg.set_token('QTY_SHIPPED', x_quantity_shipped_record.quantity_shipped);
63: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ALL_QTY_OVER_TOLERANCE' THEN
64: rcv_error_pkg.set_token('QTY_A', x_quantity_shipped_record.quantity_shipped);
65: rcv_error_pkg.set_token('QTY_B', x_tolerable_qty);
66: END IF;
67: END validate_quantity_shipped;
68:
61: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ITEM_SUBZERO_SHIP_QTY' THEN
62: rcv_error_pkg.set_token('QTY_SHIPPED', x_quantity_shipped_record.quantity_shipped);
63: ELSIF x_quantity_shipped_record.error_record.error_message = 'RCV_ALL_QTY_OVER_TOLERANCE' THEN
64: rcv_error_pkg.set_token('QTY_A', x_quantity_shipped_record.quantity_shipped);
65: rcv_error_pkg.set_token('QTY_B', x_tolerable_qty);
66: END IF;
67: END validate_quantity_shipped;
68:
69: /*===========================================================================
76: ) IS
77: x_progress VARCHAR2(3);
78: x_error_status VARCHAR2(1);
79: BEGIN
80: x_error_status := rcv_error_pkg.g_ret_sts_error;
81:
82: -- in RCVTXDAB.pls
83: IF NOT(rcv_dates_s.val_receipt_date_tolerance(x_expected_receipt_rec.line_location_id, x_expected_receipt_rec.expected_receipt_date)) THEN
84: x_error_status := rcv_error_pkg.g_ret_sts_warning;
80: x_error_status := rcv_error_pkg.g_ret_sts_error;
81:
82: -- in RCVTXDAB.pls
83: IF NOT(rcv_dates_s.val_receipt_date_tolerance(x_expected_receipt_rec.line_location_id, x_expected_receipt_rec.expected_receipt_date)) THEN
84: x_error_status := rcv_error_pkg.g_ret_sts_warning;
85: rcv_error_pkg.set_error_message('RCV_ASN_DATE_OUT_TOL');
86: RAISE e_validation_error;
87: END IF;
88: EXCEPTION
81:
82: -- in RCVTXDAB.pls
83: IF NOT(rcv_dates_s.val_receipt_date_tolerance(x_expected_receipt_rec.line_location_id, x_expected_receipt_rec.expected_receipt_date)) THEN
84: x_error_status := rcv_error_pkg.g_ret_sts_warning;
85: rcv_error_pkg.set_error_message('RCV_ASN_DATE_OUT_TOL');
86: RAISE e_validation_error;
87: END IF;
88: EXCEPTION
89: WHEN e_validation_error THEN
87: END IF;
88: EXCEPTION
89: WHEN e_validation_error THEN
90: x_expected_receipt_rec.error_record.error_status := x_error_status;
91: x_expected_receipt_rec.error_record.error_message := rcv_error_pkg.get_last_message;
92:
93: IF x_expected_receipt_rec.error_record.error_message = 'RCV_ASN_DATE_OUT_TOL' THEN
94: rcv_error_pkg.set_token('DELIVERY DATE', x_expected_receipt_rec.expected_receipt_date);
95: END IF;
90: x_expected_receipt_rec.error_record.error_status := x_error_status;
91: x_expected_receipt_rec.error_record.error_message := rcv_error_pkg.get_last_message;
92:
93: IF x_expected_receipt_rec.error_record.error_message = 'RCV_ASN_DATE_OUT_TOL' THEN
94: rcv_error_pkg.set_token('DELIVERY DATE', x_expected_receipt_rec.expected_receipt_date);
95: END IF;
96: END validate_expected_receipt_date;
97:
98: /*===========================================================================
105: ) IS
106: x_progress VARCHAR2(3);
107: x_error_status VARCHAR2(1);
108: BEGIN
109: x_error_status := rcv_error_pkg.g_ret_sts_error;
110:
111: IF (x_quantity_invoiced_record.quantity_invoiced < 0) THEN
112: rcv_error_pkg.set_error_message('RCV_ITEM_INVOICE_QTY');
113: RAISE e_validation_error;
108: BEGIN
109: x_error_status := rcv_error_pkg.g_ret_sts_error;
110:
111: IF (x_quantity_invoiced_record.quantity_invoiced < 0) THEN
112: rcv_error_pkg.set_error_message('RCV_ITEM_INVOICE_QTY');
113: RAISE e_validation_error;
114: END IF;
115: EXCEPTION
116: WHEN e_validation_error THEN
114: END IF;
115: EXCEPTION
116: WHEN e_validation_error THEN
117: x_quantity_invoiced_record.error_record.error_status := x_error_status;
118: x_quantity_invoiced_record.error_record.error_message := rcv_error_pkg.get_last_message;
119:
120: IF x_quantity_invoiced_record.error_record.error_message = 'RCV_ITEM_INVOICE_QTY' THEN
121: NULL;
122: END IF;
141: x_primary_unit_of_measure mtl_system_items.primary_unit_of_measure%TYPE := NULL;
142: x_error_status VARCHAR2(1);
143: BEGIN
144: -- check that the uom is valid
145: x_error_status := rcv_error_pkg.g_ret_sts_error;
146:
147: SELECT NVL(MAX(unit_of_measure), 'notfound')
148: INTO x_unit_of_measure
149: FROM mtl_units_of_measure
149: FROM mtl_units_of_measure
150: WHERE unit_of_measure = x_uom_record.unit_of_measure;
151:
152: IF (x_unit_of_measure = 'notfound') THEN
153: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_UOM_CODE');
154: RAISE e_validation_error;
155: END IF;
156:
157: -- check that system date is less than the disabled_date
156:
157: -- check that system date is less than the disabled_date
158:
159: IF (NOT(po_uom_s.val_unit_of_measure(x_uom_record.unit_of_measure))) THEN
160: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_UOM_CODE');
161: RAISE e_validation_error;
162: END IF;
163:
164: -- one-time purchase item
173: AND organization_id = NVL(x_uom_record.to_organization_id, organization_id); -- Raj added as org_id is part of uk
174:
175: IF (NVL(x_uom_record.primary_unit_of_measure, x_primary_unit_of_measure) <> x_primary_unit_of_measure) THEN
176: x_uom_record.error_record.error_status := 'W';
177: rcv_error_pkg.set_error_message('RCV_UOM_NOT_PRIMARY');
178: RAISE e_validation_error;
179: END IF;
180:
181: x_new_conversion := 0;
195: x_new_conversion
196: );
197:
198: IF (x_new_conversion = 0) THEN
199: rcv_error_pkg.set_error_message('RCV_UOM_NO_CONV_PRIMARY');
200: RAISE e_validation_error;
201: ELSIF(x_new_conversion <> x_uom_record.primary_quantity) THEN
202: rcv_error_pkg.set_error_message('RCV_QTY_NOT_PRIMARY');
203: RAISE e_validation_error;
198: IF (x_new_conversion = 0) THEN
199: rcv_error_pkg.set_error_message('RCV_UOM_NO_CONV_PRIMARY');
200: RAISE e_validation_error;
201: ELSIF(x_new_conversion <> x_uom_record.primary_quantity) THEN
202: rcv_error_pkg.set_error_message('RCV_QTY_NOT_PRIMARY');
203: RAISE e_validation_error;
204: END IF;
205: END IF;
206:
219: x_new_conversion
220: );
221:
222: IF (x_new_conversion = 0) THEN
223: rcv_error_pkg.set_error_message('RCV_UOM_NO_CONV_PO');
224: RAISE e_validation_error;
225: END IF;
226: END IF;
227:
253: x_new_conversion
254: );
255:
256: IF (x_new_conversion = 0) THEN
257: rcv_error_pkg.set_error_message('RCV_UOM_NO_CONV_ASL');
258: RAISE e_validation_error;
259: END IF;
260: END IF;
261: END IF;
261: END IF;
262: EXCEPTION
263: WHEN e_validation_error THEN
264: x_uom_record.error_record.error_status := x_error_status;
265: x_uom_record.error_record.error_message := rcv_error_pkg.get_last_message;
266:
267: IF x_uom_record.error_record.error_message = 'PO_PDOI_INVALID_UOM_CODE' THEN
268: rcv_error_pkg.set_token('VALUE', x_uom_record.unit_of_measure);
269: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NOT_PRIMARY' THEN
264: x_uom_record.error_record.error_status := x_error_status;
265: x_uom_record.error_record.error_message := rcv_error_pkg.get_last_message;
266:
267: IF x_uom_record.error_record.error_message = 'PO_PDOI_INVALID_UOM_CODE' THEN
268: rcv_error_pkg.set_token('VALUE', x_uom_record.unit_of_measure);
269: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NOT_PRIMARY' THEN
270: NULL;
271: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
272: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
268: rcv_error_pkg.set_token('VALUE', x_uom_record.unit_of_measure);
269: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NOT_PRIMARY' THEN
270: NULL;
271: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
272: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
273: rcv_error_pkg.set_token('PRIMARY_UNIT', x_primary_unit_of_measure);
274: ELSIF x_uom_record.error_record.error_message = 'RCV_QTY_NOT_PRIMARY' THEN
275: NULL;
276: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PO' THEN
269: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NOT_PRIMARY' THEN
270: NULL;
271: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
272: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
273: rcv_error_pkg.set_token('PRIMARY_UNIT', x_primary_unit_of_measure);
274: ELSIF x_uom_record.error_record.error_message = 'RCV_QTY_NOT_PRIMARY' THEN
275: NULL;
276: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PO' THEN
277: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
273: rcv_error_pkg.set_token('PRIMARY_UNIT', x_primary_unit_of_measure);
274: ELSIF x_uom_record.error_record.error_message = 'RCV_QTY_NOT_PRIMARY' THEN
275: NULL;
276: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PO' THEN
277: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
278: rcv_error_pkg.set_token('PO_UNIT', x_unit_meas_lookup_code_lines);
279: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_ASL' THEN
280: rcv_error_pkg.set_token('UNIT', x_uom_record.unit_of_measure);
281: END IF;
274: ELSIF x_uom_record.error_record.error_message = 'RCV_QTY_NOT_PRIMARY' THEN
275: NULL;
276: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PO' THEN
277: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
278: rcv_error_pkg.set_token('PO_UNIT', x_unit_meas_lookup_code_lines);
279: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_ASL' THEN
280: rcv_error_pkg.set_token('UNIT', x_uom_record.unit_of_measure);
281: END IF;
282: END validate_uom;
276: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_PO' THEN
277: rcv_error_pkg.set_token('SHIPMENT_UNIT', x_uom_record.unit_of_measure);
278: rcv_error_pkg.set_token('PO_UNIT', x_unit_meas_lookup_code_lines);
279: ELSIF x_uom_record.error_record.error_message = 'RCV_UOM_NO_CONV_ASL' THEN
280: rcv_error_pkg.set_token('UNIT', x_uom_record.unit_of_measure);
281: END IF;
282: END validate_uom;
283:
284: /*===========================================================================
295: x_organization_id mtl_system_items.organization_id%TYPE := NULL;
296: x_item_id_po po_lines.item_id%TYPE := NULL;
297: x_error_status VARCHAR2(1);
298: BEGIN
299: x_error_status := rcv_error_pkg.g_ret_sts_error;
300:
301: SELECT NVL(MAX(inventory_item_id), -9999)
302: INTO x_inventory_item
303: FROM mtl_system_items
303: FROM mtl_system_items
304: WHERE inventory_item_id = x_item_id_record.item_id;
305:
306: IF (x_inventory_item = -9999) THEN
307: rcv_error_pkg.set_error_message('RCV_ITEM_ID');
308: RAISE e_validation_error;
309: END IF;
310:
311: SELECT NVL(MAX(inventory_item_id), -9999)
314: WHERE SYSDATE BETWEEN NVL(start_date_active, SYSDATE - 1) AND NVL(end_date_active, SYSDATE + 1)
315: AND inventory_item_id = x_item_id_record.item_id;
316:
317: IF (x_inventory_item = -9999) THEN
318: rcv_error_pkg.set_error_message('RCV_ITEM_NOT_ACTIVE');
319: RAISE e_validation_error;
320: END IF;
321:
322: /* Bug 2160314.
333: WHERE inventory_item_id = x_item_id_record.item_id
334: AND organization_id = NVL(x_item_id_record.to_organization_id, organization_id);
335:
336: IF (x_organization_id = -9999) THEN
337: rcv_error_pkg.set_error_message('RCV_ITEM_NOT_IN_ORG');
338: RAISE e_validation_error;
339: END IF;
340:
341: SELECT NVL(MAX(item_id), -9999)
344: WHERE po_line_id = x_item_id_record.po_line_id
345: AND item_id = x_item_id_record.item_id;
346:
347: IF (x_item_id_po = -9999) THEN
348: rcv_error_pkg.set_error_message('RCV_ITEM_NOT_ON_PO');
349: RAISE e_validation_error;
350: END IF;
351:
352: /* Bug 2898324 The non-purchasable items were allowed to be
369: WHERE po_line_id = x_item_id_record.po_line_id
370: AND item_id = x_item_id_record.item_id;
371:
372: IF (x_item_id_po <> x_item_id_record.item_id) THEN
373: rcv_error_pkg.set_error_message('RCV_NOT_PO_LINE_NUM');
374: RAISE e_validation_error;
375: END IF;
376:
377: IF (g_asn_debug = 'Y') THEN
381: END IF;
382: EXCEPTION
383: WHEN e_validation_error THEN
384: x_item_id_record.error_record.error_status := x_error_status;
385: x_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
386:
387: IF x_item_id_record.error_record.error_message = 'RCV_ITEM_ID' THEN
388: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
389: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ACTIVE' THEN
384: x_item_id_record.error_record.error_status := x_error_status;
385: x_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
386:
387: IF x_item_id_record.error_record.error_message = 'RCV_ITEM_ID' THEN
388: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
389: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ACTIVE' THEN
390: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
391: ELSIF x_item_id_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
386:
387: IF x_item_id_record.error_record.error_message = 'RCV_ITEM_ID' THEN
388: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
389: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ACTIVE' THEN
390: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
391: ELSIF x_item_id_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
393: rcv_error_pkg.set_token('ORGANIZATION', x_item_id_record.to_organization_id);
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
388: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
389: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ACTIVE' THEN
390: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
391: ELSIF x_item_id_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
393: rcv_error_pkg.set_token('ORGANIZATION', x_item_id_record.to_organization_id);
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
389: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ACTIVE' THEN
390: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
391: ELSIF x_item_id_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
393: rcv_error_pkg.set_token('ORGANIZATION', x_item_id_record.to_organization_id);
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
397: ELSIF x_item_id_record.error_record.error_message = 'RCV_NOT_PO_LINE_NUM' THEN
391: ELSIF x_item_id_record.error_record.error_message = 'RCV_UOM_NO_CONV_PRIMARY' THEN
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
393: rcv_error_pkg.set_token('ORGANIZATION', x_item_id_record.to_organization_id);
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
397: ELSIF x_item_id_record.error_record.error_message = 'RCV_NOT_PO_LINE_NUM' THEN
398: rcv_error_pkg.set_token('PO_ITEM', x_item_id_po);
399: rcv_error_pkg.set_token('SHIPMENT_ITEM', x_item_id_record.item_id);
392: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
393: rcv_error_pkg.set_token('ORGANIZATION', x_item_id_record.to_organization_id);
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
397: ELSIF x_item_id_record.error_record.error_message = 'RCV_NOT_PO_LINE_NUM' THEN
398: rcv_error_pkg.set_token('PO_ITEM', x_item_id_po);
399: rcv_error_pkg.set_token('SHIPMENT_ITEM', x_item_id_record.item_id);
400: END IF;
394: ELSIF x_item_id_record.error_record.error_message = 'RCV_ITEM_NOT_ON_PO' THEN
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
397: ELSIF x_item_id_record.error_record.error_message = 'RCV_NOT_PO_LINE_NUM' THEN
398: rcv_error_pkg.set_token('PO_ITEM', x_item_id_po);
399: rcv_error_pkg.set_token('SHIPMENT_ITEM', x_item_id_record.item_id);
400: END IF;
401: END validate_item;
402:
395: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
396: rcv_error_pkg.set_token('PO_NUMBER', x_item_id_record.po_line_id);
397: ELSIF x_item_id_record.error_record.error_message = 'RCV_NOT_PO_LINE_NUM' THEN
398: rcv_error_pkg.set_token('PO_ITEM', x_item_id_po);
399: rcv_error_pkg.set_token('SHIPMENT_ITEM', x_item_id_record.item_id);
400: END IF;
401: END validate_item;
402:
403: /*===========================================================================
410: ) IS
411: x_progress VARCHAR2(3);
412: x_error_status VARCHAR2(1);
413: BEGIN
414: x_error_status := rcv_error_pkg.g_ret_sts_error;
415:
416: IF (x_item_id_record.item_description IS NULL) THEN
417: rcv_error_pkg.set_error_message('RCV_ITEM_NO_DESCRIPTION');
418: RAISE e_validation_error;
413: BEGIN
414: x_error_status := rcv_error_pkg.g_ret_sts_error;
415:
416: IF (x_item_id_record.item_description IS NULL) THEN
417: rcv_error_pkg.set_error_message('RCV_ITEM_NO_DESCRIPTION');
418: RAISE e_validation_error;
419: END IF;
420: EXCEPTION
421: WHEN e_validation_error THEN
419: END IF;
420: EXCEPTION
421: WHEN e_validation_error THEN
422: x_item_id_record.error_record.error_status := x_error_status;
423: x_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
424:
425: IF x_item_id_record.error_record.error_message = 'RCV_ITEM_NO_DESCRIPTION' THEN
426: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
427: END IF;
422: x_item_id_record.error_record.error_status := x_error_status;
423: x_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
424:
425: IF x_item_id_record.error_record.error_message = 'RCV_ITEM_NO_DESCRIPTION' THEN
426: rcv_error_pkg.set_token('ITEM', x_item_id_record.item_id);
427: END IF;
428: END validate_item_description;
429:
430: /*===========================================================================
439: x_progress VARCHAR2(3);
440: x_vendor_id po_vendors.vendor_id%TYPE := NULL;
441: x_error_status VARCHAR2(1);
442: BEGIN
443: x_error_status := rcv_error_pkg.g_ret_sts_error;
444:
445: SELECT NVL(MAX(inventory_item_id), 0)
446: INTO x_inventory_item
447: FROM mtl_system_items
448: WHERE inventory_item_id = x_sub_item_id_record.substitute_item_id
449: AND organization_id = NVL(x_sub_item_id_record.to_organization_id, organization_id);
450:
451: IF (x_inventory_item = 0) THEN
452: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_ID');
453: RAISE e_validation_error;
454: END IF;
455:
456: SELECT NVL(MAX(inventory_item_id), 0)
460: AND inventory_item_id = x_sub_item_id_record.substitute_item_id
461: AND organization_id = NVL(x_sub_item_id_record.to_organization_id, organization_id);
462:
463: IF (x_inventory_item = 0) THEN
464: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_NOT_ACTIVE');
465: RAISE e_validation_error;
466: END IF;
467:
468: /* Bug 3009663- Commented the check on allow_substitute_receipts_flag at the item level.
474: WHERE inventory_item_id = x_sub_item_id_record.substitute_item_id
475: AND organization_id = NVL(x_sub_item_id_record.to_organization_id, organization_id);
476:
477: IF (x_inventory_item = 0) THEN
478: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_NOT_IN_ORG');
479: RAISE e_validation_error;
480: END IF;
481:
482: SELECT NVL(MAX(inventory_item_id), 0)
486: AND organization_id = NVL(x_sub_item_id_record.to_organization_id, organization_id)
487: AND purchasing_item_flag = 'Y';
488:
489: IF (x_inventory_item = 0) THEN
490: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_NOT_PO_ENABLED');
491: RAISE e_validation_error;
492: END IF;
493:
494: SELECT NVL(MAX(inventory_item_id), 0)
498: AND organization_id = NVL(x_sub_item_id_record.to_organization_id, organization_id)
499: AND purchasing_enabled_flag = 'Y';
500:
501: IF (x_inventory_item = 0) THEN
502: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_NOT_PO_ENABLED');
503: RAISE e_validation_error;
504: END IF;
505:
506: /* Bug 3009663- Commented the check on the allow_substitute_receipt flag at the supplier level */
538:
539: END IF;
540:
541: IF (x_inventory_item = 0) THEN
542: rcv_error_pkg.set_error_message('RCV_ITEM_SUB_NOT_RELATED');
543: RAISE e_validation_error;
544: END IF;
545: EXCEPTION
546: WHEN e_validation_error THEN
544: END IF;
545: EXCEPTION
546: WHEN e_validation_error THEN
547: x_sub_item_id_record.error_record.error_status := x_error_status;
548: x_sub_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
549:
550: IF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_ID' THEN
551: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
552: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ACTIVE' THEN
547: x_sub_item_id_record.error_record.error_status := x_error_status;
548: x_sub_item_id_record.error_record.error_message := rcv_error_pkg.get_last_message;
549:
550: IF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_ID' THEN
551: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
552: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ACTIVE' THEN
553: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
554: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ALLOWED' THEN
555: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
549:
550: IF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_ID' THEN
551: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
552: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ACTIVE' THEN
553: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
554: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ALLOWED' THEN
555: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
556: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_IN_ORG' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
551: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
552: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ACTIVE' THEN
553: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
554: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ALLOWED' THEN
555: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
556: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_IN_ORG' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
558: rcv_error_pkg.set_token('ORGANIZATION', x_sub_item_id_record.to_organization_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
553: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
554: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ALLOWED' THEN
555: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
556: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_IN_ORG' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
558: rcv_error_pkg.set_token('ORGANIZATION', x_sub_item_id_record.to_organization_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
560: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
554: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_ALLOWED' THEN
555: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
556: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_IN_ORG' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
558: rcv_error_pkg.set_token('ORGANIZATION', x_sub_item_id_record.to_organization_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
560: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
556: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_IN_ORG' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
558: rcv_error_pkg.set_token('ORGANIZATION', x_sub_item_id_record.to_organization_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
560: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
563: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
564: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_RELATED' THEN
557: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
558: rcv_error_pkg.set_token('ORGANIZATION', x_sub_item_id_record.to_organization_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
560: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
563: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
564: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_RELATED' THEN
565: rcv_error_pkg.set_token('SUB_ITEM', x_sub_item_id_record.substitute_item_id);
559: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_VEN_NOT_ALLOWED' THEN
560: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
563: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
564: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_RELATED' THEN
565: rcv_error_pkg.set_token('SUB_ITEM', x_sub_item_id_record.substitute_item_id);
566: rcv_error_pkg.set_token('ITEM', x_inventory_item);
567: END IF;
561: rcv_error_pkg.set_token('SUPPLIER', x_sub_item_id_record.vendor_id);
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
563: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
564: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_RELATED' THEN
565: rcv_error_pkg.set_token('SUB_ITEM', x_sub_item_id_record.substitute_item_id);
566: rcv_error_pkg.set_token('ITEM', x_inventory_item);
567: END IF;
568: END validate_substitute_item;
569:
562: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_PO_ENABLED' THEN
563: rcv_error_pkg.set_token('ITEM', x_sub_item_id_record.substitute_item_id);
564: ELSIF x_sub_item_id_record.error_record.error_message = 'RCV_ITEM_SUB_NOT_RELATED' THEN
565: rcv_error_pkg.set_token('SUB_ITEM', x_sub_item_id_record.substitute_item_id);
566: rcv_error_pkg.set_token('ITEM', x_inventory_item);
567: END IF;
568: END validate_substitute_item;
569:
570: /*===========================================================================
579: x_progress VARCHAR2(3);
580: x_revision_control_flag VARCHAR2(1);
581: x_error_status VARCHAR2(1);
582: BEGIN
583: x_error_status := rcv_error_pkg.g_ret_sts_error;
584:
585: -- check whether the item is under revision control
586: -- If it is not then item should not have any revisions
587:
613: IF (g_asn_debug = 'Y') THEN
614: asn_debug.put_line('Item is not under revision control');
615: END IF;
616:
617: rcv_error_pkg.set_error_message('RCV_ITEM_REV_NOT_ALLOWED');
618: RAISE e_validation_error;
619: END IF;
620:
621: -- Check whether the revision number exists
631: AND organization_id = NVL(x_item_revision_record.to_organization_id, organization_id)
632: AND revision = x_item_revision_record.item_revision;
633:
634: IF (x_inventory_item = 0) THEN
635: rcv_error_pkg.set_error_message('PO_RI_INVALID_ITEM_REVISION');
636: RAISE e_validation_error;
637: END IF;
638:
639: -- Check whether revision is still active
645: AND mir.organization_id = NVL(x_item_revision_record.to_organization_id, mir.organization_id)
646: AND mir.revision = x_item_revision_record.item_revision;
647:
648: IF (x_inventory_item = 0) THEN
649: rcv_error_pkg.set_error_message('PO_RI_INVALID_ITEM_REVISION');
650: RAISE e_validation_error;
651: END IF;
652:
653: -- Check whether po_revision matches this revision if po_revision is not null
658: WHERE po_line_id = x_item_revision_record.po_line_id
659: AND NVL(item_revision, x_item_revision_record.item_revision) = x_item_revision_record.item_revision;
660:
661: IF (x_inventory_item = 0) THEN
662: x_error_status := rcv_error_pkg.g_ret_sts_warning;
663: rcv_error_pkg.set_error_message('RCV_NOT_PO_REVISION');
664: RAISE e_validation_error;
665: END IF;
666: EXCEPTION
659: AND NVL(item_revision, x_item_revision_record.item_revision) = x_item_revision_record.item_revision;
660:
661: IF (x_inventory_item = 0) THEN
662: x_error_status := rcv_error_pkg.g_ret_sts_warning;
663: rcv_error_pkg.set_error_message('RCV_NOT_PO_REVISION');
664: RAISE e_validation_error;
665: END IF;
666: EXCEPTION
667: WHEN e_validation_error THEN
665: END IF;
666: EXCEPTION
667: WHEN e_validation_error THEN
668: x_item_revision_record.error_record.error_status := x_error_status;
669: x_item_revision_record.error_record.error_message := rcv_error_pkg.get_last_message;
670:
671: IF x_item_revision_record.error_record.error_message = 'RCV_ITEM_REV_NOT_ALLOWED' THEN
672: rcv_error_pkg.set_token('ITEM', x_item_revision_record.item_id);
673: ELSIF x_item_revision_record.error_record.error_message = 'PO_RI_INVALID_ITEM_REVISION' THEN
668: x_item_revision_record.error_record.error_status := x_error_status;
669: x_item_revision_record.error_record.error_message := rcv_error_pkg.get_last_message;
670:
671: IF x_item_revision_record.error_record.error_message = 'RCV_ITEM_REV_NOT_ALLOWED' THEN
672: rcv_error_pkg.set_token('ITEM', x_item_revision_record.item_id);
673: ELSIF x_item_revision_record.error_record.error_message = 'PO_RI_INVALID_ITEM_REVISION' THEN
674: NULL;
675: ELSIF x_item_revision_record.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
676: rcv_error_pkg.set_token('PO_REV', '');
672: rcv_error_pkg.set_token('ITEM', x_item_revision_record.item_id);
673: ELSIF x_item_revision_record.error_record.error_message = 'PO_RI_INVALID_ITEM_REVISION' THEN
674: NULL;
675: ELSIF x_item_revision_record.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
676: rcv_error_pkg.set_token('PO_REV', '');
677: rcv_error_pkg.set_token('SHIPMENT_REV', x_item_revision_record.item_revision);
678: END IF;
679: END validate_item_revision;
680:
673: ELSIF x_item_revision_record.error_record.error_message = 'PO_RI_INVALID_ITEM_REVISION' THEN
674: NULL;
675: ELSIF x_item_revision_record.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
676: rcv_error_pkg.set_token('PO_REV', '');
677: rcv_error_pkg.set_token('SHIPMENT_REV', x_item_revision_record.item_revision);
678: END IF;
679: END validate_item_revision;
680:
681: /*===========================================================================
692: x_po_vendor_site_id po_headers.vendor_site_id%TYPE := NULL;
693: x_progress VARCHAR2(3);
694: x_error_status VARCHAR2(1);
695: BEGIN
696: x_error_status := rcv_error_pkg.g_ret_sts_error;
697:
698: IF (x_ref_integrity_rec.vendor_item_num IS NOT NULL) THEN
699: SELECT NVL(MAX(po_line_id), 0)
700: INTO x_po_line_id
702: WHERE po_line_id = x_ref_integrity_rec.po_line_id
703: AND vendor_product_num = x_ref_integrity_rec.vendor_item_num;
704:
705: IF (x_po_line_id = 0) THEN
706: rcv_error_pkg.set_error_message('RCV_NOT_PO_VEN_ITEM');
707: RAISE e_validation_error;
708: END IF;
709: END IF;
710:
720: WHERE po_header_id = x_ref_integrity_rec.po_header_id
721: AND vendor_id = x_ref_integrity_rec.vendor_id;
722:
723: IF (x_po_vendor_id = 0) THEN
724: rcv_error_pkg.set_error_message('RCV_NOT_PO_VEN');
725: RAISE e_validation_error;
726: END IF;
727: END IF;
728:
729: -- Check for header.vendor = lines.vendor
730:
731: IF v_header_record.header_record.vendor_id IS NOT NULL THEN
732: IF v_header_record.header_record.vendor_id <> NVL(x_ref_integrity_rec.vendor_id, v_header_record.header_record.vendor_id) THEN
733: rcv_error_pkg.set_error_message('RCV_ERC_MISMATCH_PO_VENDOR');
734: RAISE e_validation_error;
735: END IF;
736: END IF;
737:
742: WHERE po_header_id = x_ref_integrity_rec.po_header_id
743: AND vendor_site_id = x_ref_integrity_rec.vendor_site_id;
744:
745: IF (x_po_vendor_site_id = 0) THEN
746: rcv_error_pkg.set_error_message('RCV_NOT_PO_VEN_SITE');
747: RAISE e_validation_error;
748: END IF;
749: END IF;
750:
755: WHERE po_header_id = x_ref_integrity_rec.po_header_id
756: AND revision_num = x_ref_integrity_rec.po_revision_num;
757:
758: IF (x_po_vendor_site_id = 0) THEN
759: rcv_error_pkg.set_error_message('RCV_NOT_PO_REVISION');
760: RAISE e_validation_error;
761: END IF;
762: END IF;
763: EXCEPTION
762: END IF;
763: EXCEPTION
764: WHEN e_validation_error THEN
765: x_ref_integrity_rec.error_record.error_status := x_error_status;
766: x_ref_integrity_rec.error_record.error_message := rcv_error_pkg.get_last_message;
767:
768: IF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
769: rcv_error_pkg.set_token('PO_SUPPLIER_ITEM', '');
770: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER_ITEM', x_ref_integrity_rec.vendor_item_num);
765: x_ref_integrity_rec.error_record.error_status := x_error_status;
766: x_ref_integrity_rec.error_record.error_message := rcv_error_pkg.get_last_message;
767:
768: IF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
769: rcv_error_pkg.set_token('PO_SUPPLIER_ITEM', '');
770: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER_ITEM', x_ref_integrity_rec.vendor_item_num);
771: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN' THEN
772: rcv_error_pkg.set_token('PO_SUPPLIER', x_po_vendor_id);
773: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER', x_ref_integrity_rec.vendor_id);
766: x_ref_integrity_rec.error_record.error_message := rcv_error_pkg.get_last_message;
767:
768: IF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
769: rcv_error_pkg.set_token('PO_SUPPLIER_ITEM', '');
770: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER_ITEM', x_ref_integrity_rec.vendor_item_num);
771: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN' THEN
772: rcv_error_pkg.set_token('PO_SUPPLIER', x_po_vendor_id);
773: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER', x_ref_integrity_rec.vendor_id);
774: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_ERC_MISMATCH_PO_VENDOR' THEN
768: IF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
769: rcv_error_pkg.set_token('PO_SUPPLIER_ITEM', '');
770: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER_ITEM', x_ref_integrity_rec.vendor_item_num);
771: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN' THEN
772: rcv_error_pkg.set_token('PO_SUPPLIER', x_po_vendor_id);
773: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER', x_ref_integrity_rec.vendor_id);
774: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_ERC_MISMATCH_PO_VENDOR' THEN
775: NULL;
776: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
769: rcv_error_pkg.set_token('PO_SUPPLIER_ITEM', '');
770: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER_ITEM', x_ref_integrity_rec.vendor_item_num);
771: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_VEN' THEN
772: rcv_error_pkg.set_token('PO_SUPPLIER', x_po_vendor_id);
773: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER', x_ref_integrity_rec.vendor_id);
774: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_ERC_MISMATCH_PO_VENDOR' THEN
775: NULL;
776: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
777: rcv_error_pkg.set_token('PO_REV', '');
773: rcv_error_pkg.set_token('SHIPMENT_SUPPLIER', x_ref_integrity_rec.vendor_id);
774: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_ERC_MISMATCH_PO_VENDOR' THEN
775: NULL;
776: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
777: rcv_error_pkg.set_token('PO_REV', '');
778: rcv_error_pkg.set_token('SHIPMENT_REV', x_ref_integrity_rec.po_revision_num);
779: END IF;
780: END validate_ref_integ;
781:
774: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_ERC_MISMATCH_PO_VENDOR' THEN
775: NULL;
776: ELSIF x_ref_integrity_rec.error_record.error_message = 'RCV_NOT_PO_REVISION' THEN
777: rcv_error_pkg.set_token('PO_REV', '');
778: rcv_error_pkg.set_token('SHIPMENT_REV', x_ref_integrity_rec.po_revision_num);
779: END IF;
780: END validate_ref_integ;
781:
782: /*===========================================================================
790: x_freight_code org_freight_code_val_v.freight_code%TYPE;
791: x_progress VARCHAR2(3);
792: x_error_status VARCHAR2(1);
793: BEGIN
794: x_error_status := rcv_error_pkg.g_ret_sts_error;
795:
796: SELECT NVL(MAX(freight_code), 'notfound')
797: INTO x_freight_code
798: FROM org_freight_code_val_v
799: WHERE freight_code = x_freight_carrier_record.freight_carrier_code
800: AND organization_id = NVL(x_freight_carrier_record.to_organization_id, organization_id);
801:
802: IF (x_freight_code = 'notfound') THEN
803: rcv_error_pkg.set_error_message('RCV_CARRIER_DISABLED');
804: RAISE e_validation_error;
805: END IF;
806:
807: SELECT NVL(MAX(freight_code), 'notfound')
811: AND freight_code = x_freight_carrier_record.freight_carrier_code
812: AND NVL(disable_date, SYSDATE + 1) > SYSDATE;
813:
814: IF (x_freight_code = 'notfound') THEN
815: rcv_error_pkg.set_error_message('RCV_CARRIER_DISABLED');
816: RAISE e_validation_error;
817: END IF;
818: EXCEPTION
819: WHEN e_validation_error THEN
817: END IF;
818: EXCEPTION
819: WHEN e_validation_error THEN
820: x_freight_carrier_record.error_record.error_status := x_error_status;
821: x_freight_carrier_record.error_record.error_message := rcv_error_pkg.get_last_message;
822:
823: IF x_freight_carrier_record.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
824: rcv_error_pkg.set_token('CARRIER', x_freight_carrier_record.freight_carrier_code);
825: END IF;
820: x_freight_carrier_record.error_record.error_status := x_error_status;
821: x_freight_carrier_record.error_record.error_message := rcv_error_pkg.get_last_message;
822:
823: IF x_freight_carrier_record.error_record.error_message = 'RCV_NOT_PO_VEN_ITEM' THEN
824: rcv_error_pkg.set_token('CARRIER', x_freight_carrier_record.freight_carrier_code);
825: END IF;
826: END validate_freight_carrier;
827:
828: /*===========================================================================
836: x_name ap_tax_codes.NAME%TYPE := NULL;
837: x_progress VARCHAR2(3);
838: x_error_status VARCHAR2(1);
839: BEGIN
840: x_error_status := rcv_error_pkg.g_ret_sts_error;
841:
842: SELECT NVL(MAX(NAME), 'notfound')
843: INTO x_name
844: FROM ap_tax_codes
844: FROM ap_tax_codes
845: WHERE NAME = x_tax_name_record.tax_name;
846:
847: IF (x_name = 'notfound') THEN
848: rcv_error_pkg.set_error_message('RCV_ASBN_ITEM_TAX_CODE_DISABLE');
849: RAISE e_validation_error;
850: END IF;
851:
852: SELECT NVL(MAX(NAME), 'notfound')
855: WHERE NAME = x_tax_name_record.tax_name
856: AND NVL(inactive_date, SYSDATE + 1) > SYSDATE;
857:
858: IF (x_name = 'notfound') THEN
859: rcv_error_pkg.set_error_message('RCV_ASBN_ITEM_TAX_CODE_DISABLE');
860: RAISE e_validation_error;
861: END IF;
862: EXCEPTION
863: WHEN e_validation_error THEN
861: END IF;
862: EXCEPTION
863: WHEN e_validation_error THEN
864: x_tax_name_record.error_record.error_status := x_error_status;
865: x_tax_name_record.error_record.error_message := rcv_error_pkg.get_last_message;
866:
867: IF x_tax_name_record.error_record.error_message = 'RCV_ASBN_ITEM_TAX_CODE_DISABLE' THEN
868: rcv_error_pkg.set_token('TAX_CODE', x_tax_name_record.tax_name);
869: END IF;
864: x_tax_name_record.error_record.error_status := x_error_status;
865: x_tax_name_record.error_record.error_message := rcv_error_pkg.get_last_message;
866:
867: IF x_tax_name_record.error_record.error_message = 'RCV_ASBN_ITEM_TAX_CODE_DISABLE' THEN
868: rcv_error_pkg.set_token('TAX_CODE', x_tax_name_record.tax_name);
869: END IF;
870: WHEN OTHERS THEN
871: x_tax_name_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
872: rcv_error_pkg.set_sql_error_message('validate_tax_code', 000);
867: IF x_tax_name_record.error_record.error_message = 'RCV_ASBN_ITEM_TAX_CODE_DISABLE' THEN
868: rcv_error_pkg.set_token('TAX_CODE', x_tax_name_record.tax_name);
869: END IF;
870: WHEN OTHERS THEN
871: x_tax_name_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
872: rcv_error_pkg.set_sql_error_message('validate_tax_code', 000);
873: x_tax_name_record.error_record.error_status := rcv_error_pkg.get_last_message;
874: END validate_tax_code;
875:
868: rcv_error_pkg.set_token('TAX_CODE', x_tax_name_record.tax_name);
869: END IF;
870: WHEN OTHERS THEN
871: x_tax_name_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
872: rcv_error_pkg.set_sql_error_message('validate_tax_code', 000);
873: x_tax_name_record.error_record.error_status := rcv_error_pkg.get_last_message;
874: END validate_tax_code;
875:
876: /*===========================================================================
869: END IF;
870: WHEN OTHERS THEN
871: x_tax_name_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
872: rcv_error_pkg.set_sql_error_message('validate_tax_code', 000);
873: x_tax_name_record.error_record.error_status := rcv_error_pkg.get_last_message;
874: END validate_tax_code;
875:
876: /*===========================================================================
877:
885: x_success VARCHAR2(10) := NULL;
886: x_progress VARCHAR2(3);
887: x_error_status VARCHAR2(1);
888: BEGIN
889: x_error_status := rcv_error_pkg.g_ret_sts_error;
890:
891: -- first check if the po from the shipment is a supply agreement blanket purchase
892:
893: IF (g_asn_debug = 'Y') THEN
920: asn_debug.put_line('PO Approved supplier list ' || x_success);
921: END IF;
922:
923: IF (x_success = 'notfound') THEN
924: rcv_error_pkg.set_error_message('RCV_ASL_NOT_FOUND');
925: RAISE e_validation_error;
926: END IF;
927: EXCEPTION
928: WHEN e_validation_error THEN
926: END IF;
927: EXCEPTION
928: WHEN e_validation_error THEN
929: x_asl_record.error_record.error_status := x_error_status;
930: x_asl_record.error_record.error_message := rcv_error_pkg.get_last_message;
931:
932: IF x_asl_record.error_record.error_message = 'RCV_ASL_NOT_FOUND' THEN
933: rcv_error_pkg.set_token('ITEM', x_asl_record.item_id);
934: END IF;
929: x_asl_record.error_record.error_status := x_error_status;
930: x_asl_record.error_record.error_message := rcv_error_pkg.get_last_message;
931:
932: IF x_asl_record.error_record.error_message = 'RCV_ASL_NOT_FOUND' THEN
933: rcv_error_pkg.set_token('ITEM', x_asl_record.item_id);
934: END IF;
935: END validate_asl;
936:
937: /*===========================================================================
954: x_total_cum_shipped NUMBER;
955: x_new_conversion NUMBER := 0;
956: x_error_status VARCHAR2(1);
957: BEGIN
958: x_error_status := rcv_error_pkg.g_ret_sts_error;
959:
960: -- first check if the po from the shipment is a supply agreement blanket purchase
961:
962: IF (g_asn_debug = 'Y') THEN
985: END IF;
986:
987: IF (x_success = 'Y') THEN
988: IF (x_cum_quantity_record.vendor_cum_shipped_qty < 0) THEN
989: rcv_error_pkg.set_error_message('RCV_ASL_NO_CUM_QTY');
990: RAISE e_validation_error;
991: END IF;
992: END IF;
993: END IF;
1075: asn_debug.put_line('Derived Cum Quantity ' || TO_CHAR(NVL(x_total_cum_shipped, -999)));
1076: END IF;
1077:
1078: IF (x_total_cum_shipped <> NVL(x_cum_quantity_record.vendor_cum_shipped_qty, 0)) THEN
1079: rcv_error_pkg.set_error_message('RCV_RCV_NO_MATCH_ASN_CUM');
1080: RAISE e_validation_error;
1081: END IF;
1082: END IF;
1083: END IF;
1083: END IF;
1084: EXCEPTION
1085: WHEN e_validation_error THEN
1086: x_cum_quantity_record.error_record.error_status := x_error_status;
1087: x_cum_quantity_record.error_record.error_message := rcv_error_pkg.get_last_message;
1088:
1089: IF x_cum_quantity_record.error_record.error_message = 'RCV_ASL_NO_CUM_QTY' THEN
1090: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1091: ELSIF x_cum_quantity_record.error_record.error_message = 'RCV_RCV_NO_MATCH_ASN_CUM' THEN
1086: x_cum_quantity_record.error_record.error_status := x_error_status;
1087: x_cum_quantity_record.error_record.error_message := rcv_error_pkg.get_last_message;
1088:
1089: IF x_cum_quantity_record.error_record.error_message = 'RCV_ASL_NO_CUM_QTY' THEN
1090: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1091: ELSIF x_cum_quantity_record.error_record.error_message = 'RCV_RCV_NO_MATCH_ASN_CUM' THEN
1092: rcv_error_pkg.set_token('SHIPMENT', '');
1093: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1094: END IF;
1088:
1089: IF x_cum_quantity_record.error_record.error_message = 'RCV_ASL_NO_CUM_QTY' THEN
1090: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1091: ELSIF x_cum_quantity_record.error_record.error_message = 'RCV_RCV_NO_MATCH_ASN_CUM' THEN
1092: rcv_error_pkg.set_token('SHIPMENT', '');
1093: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1094: END IF;
1095: END validate_cum_quantity_shipped;
1096:
1089: IF x_cum_quantity_record.error_record.error_message = 'RCV_ASL_NO_CUM_QTY' THEN
1090: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1091: ELSIF x_cum_quantity_record.error_record.error_message = 'RCV_RCV_NO_MATCH_ASN_CUM' THEN
1092: rcv_error_pkg.set_token('SHIPMENT', '');
1093: rcv_error_pkg.set_token('ITEM', x_cum_quantity_record.item_id);
1094: END IF;
1095: END validate_cum_quantity_shipped;
1096:
1097: /*===========================================================================
1105: x_progress VARCHAR2(3) := NULL;
1106: x_lookup_code VARCHAR2(25) := NULL;
1107: x_error_status VARCHAR2(1);
1108: BEGIN
1109: x_error_status := rcv_error_pkg.g_ret_sts_error;
1110: x_progress := '005';
1111:
1112: SELECT NVL(MAX(pol.lookup_code), 'notfound')
1113: INTO x_lookup_code
1116: AND pol.lookup_type = x_po_lookup_code_record.lookup_type;
1117:
1118: IF ( x_lookup_code = 'notfound'
1119: AND x_po_lookup_code_record.lookup_type = 'RCV DESTINATION TYPE') THEN
1120: rcv_error_pkg.set_error_message('RCV_DEST_TYPE_CODE_INVALID');
1121: RAISE e_validation_error;
1122: END IF;
1123: EXCEPTION
1124: WHEN e_validation_error THEN
1122: END IF;
1123: EXCEPTION
1124: WHEN e_validation_error THEN
1125: x_po_lookup_code_record.error_record.error_status := x_error_status;
1126: x_po_lookup_code_record.error_record.error_message := rcv_error_pkg.get_last_message;
1127:
1128: IF x_po_lookup_code_record.error_record.error_message = 'RCV_DEST_TYPE_CODE_INVALID' THEN
1129: NULL;
1130: END IF;
1128: IF x_po_lookup_code_record.error_record.error_message = 'RCV_DEST_TYPE_CODE_INVALID' THEN
1129: NULL;
1130: END IF;
1131: WHEN OTHERS THEN
1132: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1133: rcv_error_pkg.set_sql_error_message('validate_po_lookup_code', 000);
1134: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.get_last_message;
1135: END validate_po_lookup_code;
1136:
1129: NULL;
1130: END IF;
1131: WHEN OTHERS THEN
1132: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1133: rcv_error_pkg.set_sql_error_message('validate_po_lookup_code', 000);
1134: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.get_last_message;
1135: END validate_po_lookup_code;
1136:
1137: /*===========================================================================
1130: END IF;
1131: WHEN OTHERS THEN
1132: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1133: rcv_error_pkg.set_sql_error_message('validate_po_lookup_code', 000);
1134: x_po_lookup_code_record.error_record.error_status := rcv_error_pkg.get_last_message;
1135: END validate_po_lookup_code;
1136:
1137: /*===========================================================================
1138:
1145: x_progress VARCHAR2(3) := NULL;
1146: x_subinventory VARCHAR2(10) := NULL;
1147: x_error_status VARCHAR2(1);
1148: BEGIN
1149: x_error_status := rcv_error_pkg.g_ret_sts_error;
1150: x_progress := '005';
1151:
1152: /*
1153: ** Only go through these validation routines if the destination type
1158: RETURN;
1159: END IF;
1160:
1161: IF (x_subinventory_record.subinventory IS NULL) THEN
1162: rcv_error_pkg.set_error_message('RCV_DEST_SUB_NA');
1163: RAISE e_validation_error;
1164: END IF;
1165:
1166: /*
1187: )
1188: );
1189:
1190: IF (x_subinventory = 'notfound') THEN
1191: rcv_error_pkg.set_error_message('RCV_DEST_SUB_INVALID');
1192: RAISE e_validation_error;
1193: END IF;
1194: EXCEPTION
1195: WHEN e_validation_error THEN
1193: END IF;
1194: EXCEPTION
1195: WHEN e_validation_error THEN
1196: x_subinventory_record.error_record.error_status := x_error_status;
1197: x_subinventory_record.error_record.error_message := rcv_error_pkg.get_last_message;
1198:
1199: IF x_subinventory_record.error_record.error_message = 'RCV_DEST_SUB_NA' THEN
1200: NULL;
1201: ELSIF x_subinventory_record.error_record.error_message = 'RCV_DEST_SUB_INVALID' THEN
1201: ELSIF x_subinventory_record.error_record.error_message = 'RCV_DEST_SUB_INVALID' THEN
1202: NULL;
1203: END IF;
1204: WHEN OTHERS THEN
1205: x_subinventory_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1206: rcv_error_pkg.set_sql_error_message('validate_subinventory', x_progress);
1207: x_subinventory_record.error_record.error_status := rcv_error_pkg.get_last_message;
1208: END validate_subinventory;
1209:
1202: NULL;
1203: END IF;
1204: WHEN OTHERS THEN
1205: x_subinventory_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1206: rcv_error_pkg.set_sql_error_message('validate_subinventory', x_progress);
1207: x_subinventory_record.error_record.error_status := rcv_error_pkg.get_last_message;
1208: END validate_subinventory;
1209:
1210: /*===========================================================================
1203: END IF;
1204: WHEN OTHERS THEN
1205: x_subinventory_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1206: rcv_error_pkg.set_sql_error_message('validate_subinventory', x_progress);
1207: x_subinventory_record.error_record.error_status := rcv_error_pkg.get_last_message;
1208: END validate_subinventory;
1209:
1210: /*===========================================================================
1211:
1218: x_progress VARCHAR2(3) := NULL;
1219: x_location NUMBER;
1220: x_error_status VARCHAR2(1);
1221: BEGIN
1222: x_error_status := rcv_error_pkg.g_ret_sts_error;
1223: x_progress := '005';
1224:
1225: /*
1226: ** The location id must be set if you're delivering items to either an
1230: */
1231: IF ( x_location_record.location_id IS NULL
1232: AND x_location_record.destination_type_code IN('EXPENSE', 'SHOP FLOOR')
1233: AND x_location_record.location_type_code = 'DELIVER_TO') THEN
1234: rcv_error_pkg.set_error_message('RCV_DELIVER_TO_LOC_NA');
1235: RAISE e_validation_error;
1236: ELSIF( x_location_record.location_id IS NULL
1237: AND x_location_record.location_type_code = 'SHIP_TO') THEN
1238: rcv_error_pkg.set_error_message('RCV_SHIP_TO_LOC_NA');
1234: rcv_error_pkg.set_error_message('RCV_DELIVER_TO_LOC_NA');
1235: RAISE e_validation_error;
1236: ELSIF( x_location_record.location_id IS NULL
1237: AND x_location_record.location_type_code = 'SHIP_TO') THEN
1238: rcv_error_pkg.set_error_message('RCV_SHIP_TO_LOC_NA');
1239: RAISE e_validation_error;
1240: ELSIF(x_location_record.location_id IS NULL) THEN
1241: RETURN;
1242: END IF;
1271: AND (hz.location_id = x_location_record.location_id);
1272: EXCEPTION
1273: WHEN NO_DATA_FOUND THEN
1274: IF (x_location_record.location_type_code = 'DELIVER_TO') THEN
1275: rcv_error_pkg.set_error_message('RCV_DELIVER_TO_LOC_INVALID');
1276: RAISE e_validation_error;
1277: ELSE
1278: rcv_error_pkg.set_error_message('RCV_SHIP_TO_LOC_NA');
1279: RAISE e_validation_error;
1274: IF (x_location_record.location_type_code = 'DELIVER_TO') THEN
1275: rcv_error_pkg.set_error_message('RCV_DELIVER_TO_LOC_INVALID');
1276: RAISE e_validation_error;
1277: ELSE
1278: rcv_error_pkg.set_error_message('RCV_SHIP_TO_LOC_NA');
1279: RAISE e_validation_error;
1280: END IF;
1281: END;
1282: END;
1282: END;
1283: EXCEPTION
1284: WHEN e_validation_error THEN
1285: x_location_record.error_record.error_status := x_error_status;
1286: x_location_record.error_record.error_message := rcv_error_pkg.get_last_message;
1287:
1288: IF x_location_record.error_record.error_message = 'RCV_DELIVER_TO_LOC_NA' THEN
1289: NULL;
1290: ELSIF x_location_record.error_record.error_message = 'RCV_SHIP_TO_LOC_NA' THEN
1292: ELSIF x_location_record.error_record.error_message = 'RCV_DELIVER_TO_LOC_INVALID' THEN
1293: NULL;
1294: END IF;
1295: WHEN OTHERS THEN
1296: x_location_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1297: rcv_error_pkg.set_sql_error_message('validate_location', x_progress);
1298: x_location_record.error_record.error_status := rcv_error_pkg.get_last_message;
1299: END validate_location;
1300:
1293: NULL;
1294: END IF;
1295: WHEN OTHERS THEN
1296: x_location_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1297: rcv_error_pkg.set_sql_error_message('validate_location', x_progress);
1298: x_location_record.error_record.error_status := rcv_error_pkg.get_last_message;
1299: END validate_location;
1300:
1301: /*===========================================================================
1294: END IF;
1295: WHEN OTHERS THEN
1296: x_location_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1297: rcv_error_pkg.set_sql_error_message('validate_location', x_progress);
1298: x_location_record.error_record.error_status := rcv_error_pkg.get_last_message;
1299: END validate_location;
1300:
1301: /*===========================================================================
1302:
1309: x_progress VARCHAR2(3) := NULL;
1310: x_full_name VARCHAR2(240) := NULL;
1311: x_error_status VARCHAR2(1);
1312: BEGIN
1313: x_error_status := rcv_error_pkg.g_ret_sts_error;
1314: x_progress := '005';
1315:
1316: IF (x_employee_record.employee_id IS NULL) THEN
1317: RETURN;
1332: IF (x_full_name = 'notfound') THEN
1333: /*
1334: ** DEBUG: Need another message for an invalid person
1335: */
1336: rcv_error_pkg.set_error_message('RCV_ALL_MISSING_DELIVER_PERSON');
1337: RAISE e_validation_error;
1338: END IF;
1339: EXCEPTION
1340: WHEN e_validation_error THEN
1338: END IF;
1339: EXCEPTION
1340: WHEN e_validation_error THEN
1341: x_employee_record.error_record.error_status := x_error_status;
1342: x_employee_record.error_record.error_message := rcv_error_pkg.get_last_message;
1343:
1344: IF x_employee_record.error_record.error_message = 'RCV_ALL_MISSING_DELIVER_PERSON' THEN
1345: NULL;
1346: END IF;
1344: IF x_employee_record.error_record.error_message = 'RCV_ALL_MISSING_DELIVER_PERSON' THEN
1345: NULL;
1346: END IF;
1347: WHEN OTHERS THEN
1348: x_employee_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1349: rcv_error_pkg.set_sql_error_message('validate_employee', x_progress);
1350: x_employee_record.error_record.error_status := rcv_error_pkg.get_last_message;
1351: END validate_employee;
1352:
1345: NULL;
1346: END IF;
1347: WHEN OTHERS THEN
1348: x_employee_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1349: rcv_error_pkg.set_sql_error_message('validate_employee', x_progress);
1350: x_employee_record.error_record.error_status := rcv_error_pkg.get_last_message;
1351: END validate_employee;
1352:
1353: /*===========================================================================
1346: END IF;
1347: WHEN OTHERS THEN
1348: x_employee_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1349: rcv_error_pkg.set_sql_error_message('validate_employee', x_progress);
1350: x_employee_record.error_record.error_status := rcv_error_pkg.get_last_message;
1351: END validate_employee;
1352:
1353: /*===========================================================================
1354:
1361: x_progress VARCHAR2(3) := NULL;
1362: x_locator VARCHAR2(81) := NULL;
1363: x_error_status VARCHAR2(1);
1364: BEGIN
1365: x_error_status := rcv_error_pkg.g_ret_sts_error;
1366: x_progress := '005';
1367:
1368: /*
1369: ** Only go through these validation routines if the destination type
1467: IF (g_asn_debug = 'Y') THEN
1468: asn_debug.put_line('In locator Errors');
1469: END IF;
1470:
1471: rcv_error_pkg.set_error_message('RCV_ALL_REQUIRED_LOCATOR');
1472: RAISE e_validation_error;
1473: END IF;
1474: EXCEPTION
1475: WHEN e_validation_error THEN
1473: END IF;
1474: EXCEPTION
1475: WHEN e_validation_error THEN
1476: x_locator_record.error_record.error_status := x_error_status;
1477: x_locator_record.error_record.error_message := rcv_error_pkg.get_last_message;
1478:
1479: IF x_locator_record.error_record.error_message = 'RCV_ALL_REQUIRED_LOCATOR' THEN
1480: NULL;
1481: END IF;
1479: IF x_locator_record.error_record.error_message = 'RCV_ALL_REQUIRED_LOCATOR' THEN
1480: NULL;
1481: END IF;
1482: WHEN OTHERS THEN
1483: x_locator_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1484: rcv_error_pkg.set_sql_error_message('validate_locator', x_progress);
1485: x_locator_record.error_record.error_status := rcv_error_pkg.get_last_message;
1486: END validate_locator;
1487:
1480: NULL;
1481: END IF;
1482: WHEN OTHERS THEN
1483: x_locator_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1484: rcv_error_pkg.set_sql_error_message('validate_locator', x_progress);
1485: x_locator_record.error_record.error_status := rcv_error_pkg.get_last_message;
1486: END validate_locator;
1487:
1488: /*===========================================================================
1481: END IF;
1482: WHEN OTHERS THEN
1483: x_locator_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1484: rcv_error_pkg.set_sql_error_message('validate_locator', x_progress);
1485: x_locator_record.error_record.error_status := rcv_error_pkg.get_last_message;
1486: END validate_locator;
1487:
1488: /*===========================================================================
1489:
1496: x_code fnd_territories_vl.territory_code%TYPE := NULL;
1497: x_progress VARCHAR2(3);
1498: x_error_status VARCHAR2(1);
1499: BEGIN
1500: x_error_status := rcv_error_pkg.g_ret_sts_error;
1501:
1502: SELECT NVL(MAX(territory_code), 'FF')
1503: INTO x_code
1504: FROM fnd_territories_vl
1504: FROM fnd_territories_vl
1505: WHERE territory_code = x_country_of_origin_record.country_of_origin_code;
1506:
1507: IF (x_code = 'FF') THEN
1508: rcv_error_pkg.set_error_message('RCV_ASN_ORIGIN_COUNTRY_INVALID');
1509: RAISE e_validation_error;
1510: END IF;
1511: EXCEPTION
1512: WHEN e_validation_error THEN
1510: END IF;
1511: EXCEPTION
1512: WHEN e_validation_error THEN
1513: x_country_of_origin_record.error_record.error_status := x_error_status;
1514: x_country_of_origin_record.error_record.error_message := rcv_error_pkg.get_last_message;
1515:
1516: IF x_country_of_origin_record.error_record.error_message = 'RCV_ASN_ORIGIN_COUNTRY_INVALID' THEN
1517: rcv_error_pkg.set_token('COUNTRY_OF_ORIGIN_CODE', x_country_of_origin_record.country_of_origin_code);
1518: rcv_error_pkg.set_token('SHIPMENT', '');
1513: x_country_of_origin_record.error_record.error_status := x_error_status;
1514: x_country_of_origin_record.error_record.error_message := rcv_error_pkg.get_last_message;
1515:
1516: IF x_country_of_origin_record.error_record.error_message = 'RCV_ASN_ORIGIN_COUNTRY_INVALID' THEN
1517: rcv_error_pkg.set_token('COUNTRY_OF_ORIGIN_CODE', x_country_of_origin_record.country_of_origin_code);
1518: rcv_error_pkg.set_token('SHIPMENT', '');
1519: END IF;
1520: WHEN OTHERS THEN
1521: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1514: x_country_of_origin_record.error_record.error_message := rcv_error_pkg.get_last_message;
1515:
1516: IF x_country_of_origin_record.error_record.error_message = 'RCV_ASN_ORIGIN_COUNTRY_INVALID' THEN
1517: rcv_error_pkg.set_token('COUNTRY_OF_ORIGIN_CODE', x_country_of_origin_record.country_of_origin_code);
1518: rcv_error_pkg.set_token('SHIPMENT', '');
1519: END IF;
1520: WHEN OTHERS THEN
1521: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1522: rcv_error_pkg.set_sql_error_message('validate_country_of_origin', x_progress);
1517: rcv_error_pkg.set_token('COUNTRY_OF_ORIGIN_CODE', x_country_of_origin_record.country_of_origin_code);
1518: rcv_error_pkg.set_token('SHIPMENT', '');
1519: END IF;
1520: WHEN OTHERS THEN
1521: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1522: rcv_error_pkg.set_sql_error_message('validate_country_of_origin', x_progress);
1523: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.get_last_message;
1524: END validate_country_of_origin;
1525:
1518: rcv_error_pkg.set_token('SHIPMENT', '');
1519: END IF;
1520: WHEN OTHERS THEN
1521: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1522: rcv_error_pkg.set_sql_error_message('validate_country_of_origin', x_progress);
1523: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.get_last_message;
1524: END validate_country_of_origin;
1525:
1526: /*
1519: END IF;
1520: WHEN OTHERS THEN
1521: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1522: rcv_error_pkg.set_sql_error_message('validate_country_of_origin', x_progress);
1523: x_country_of_origin_record.error_record.error_status := rcv_error_pkg.get_last_message;
1524: END validate_country_of_origin;
1525:
1526: /*
1527:
1533: ) IS
1534: l_consigned_po_flag po_line_locations_all.consigned_flag%TYPE;
1535: x_error_status VARCHAR2(1);
1536: BEGIN
1537: x_error_status := rcv_error_pkg.g_ret_sts_error;
1538:
1539: SELECT consigned_flag
1540: INTO l_consigned_po_flag
1541: FROM po_line_locations
1545: IF (g_asn_debug = 'Y') THEN
1546: asn_debug.put_line('in RCVTIS2B.pls' || l_consigned_po_flag);
1547: END IF;
1548:
1549: rcv_error_pkg.set_error_message('RCV_REJECT_ASBN_CONSIGNED_PO');
1550: RAISE e_validation_error;
1551: END IF;
1552: EXCEPTION
1553: WHEN e_validation_error THEN
1551: END IF;
1552: EXCEPTION
1553: WHEN e_validation_error THEN
1554: x_consigned_po_rec.error_record.error_status := x_error_status;
1555: x_consigned_po_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1556:
1557: IF x_consigned_po_rec.error_record.error_message = 'RCV_REJECT_ASBN_CONSIGNED_PO' THEN
1558: NULL;
1559: END IF;
1557: IF x_consigned_po_rec.error_record.error_message = 'RCV_REJECT_ASBN_CONSIGNED_PO' THEN
1558: NULL;
1559: END IF;
1560: WHEN OTHERS THEN
1561: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1562: rcv_error_pkg.set_sql_error_message('validate_consigned_po', '000');
1563: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1564: END validate_consigned_po;
1565:
1558: NULL;
1559: END IF;
1560: WHEN OTHERS THEN
1561: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1562: rcv_error_pkg.set_sql_error_message('validate_consigned_po', '000');
1563: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1564: END validate_consigned_po;
1565:
1566: /*===========================================================================
1559: END IF;
1560: WHEN OTHERS THEN
1561: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1562: rcv_error_pkg.set_sql_error_message('validate_consigned_po', '000');
1563: x_consigned_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1564: END validate_consigned_po;
1565:
1566: /*===========================================================================
1567: PROCEDURE NAME: validate_consumption_po()
1571: ) IS
1572: l_consumption_po_flag po_headers_all.consigned_consumption_flag%TYPE;
1573: x_error_status VARCHAR2(1);
1574: BEGIN
1575: x_error_status := rcv_error_pkg.g_ret_sts_error;
1576:
1577: SELECT consigned_consumption_flag
1578: INTO l_consumption_po_flag
1579: FROM po_headers
1583: IF (g_asn_debug = 'Y') THEN
1584: asn_debug.put_line('in RCVTIS2B.pls' || l_consumption_po_flag);
1585: END IF;
1586:
1587: rcv_error_pkg.set_error_message('RCV_REJECT_CONSUMPTION_PO');
1588: RAISE e_validation_error;
1589: END IF;
1590: EXCEPTION
1591: WHEN e_validation_error THEN
1589: END IF;
1590: EXCEPTION
1591: WHEN e_validation_error THEN
1592: x_consumption_po_rec.error_record.error_status := x_error_status;
1593: x_consumption_po_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1594:
1595: IF x_consumption_po_rec.error_record.error_message = 'RCV_REJECT_CONSUMPTION_PO' THEN
1596: NULL;
1597: END IF;
1595: IF x_consumption_po_rec.error_record.error_message = 'RCV_REJECT_CONSUMPTION_PO' THEN
1596: NULL;
1597: END IF;
1598: WHEN OTHERS THEN
1599: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1600: rcv_error_pkg.set_sql_error_message('validate_consumption_po', '000');
1601: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1602: END validate_consumption_po;
1603:
1596: NULL;
1597: END IF;
1598: WHEN OTHERS THEN
1599: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1600: rcv_error_pkg.set_sql_error_message('validate_consumption_po', '000');
1601: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1602: END validate_consumption_po;
1603:
1604: /*===========================================================================
1597: END IF;
1598: WHEN OTHERS THEN
1599: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1600: rcv_error_pkg.set_sql_error_message('validate_consumption_po', '000');
1601: x_consumption_po_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1602: END validate_consumption_po;
1603:
1604: /*===========================================================================
1605: PROCEDURE NAME: validate_consumption_release()
1609: ) IS
1610: l_consumption_release_flag po_releases_all.consigned_consumption_flag%TYPE;
1611: x_error_status VARCHAR2(1);
1612: BEGIN
1613: x_error_status := rcv_error_pkg.g_ret_sts_error;
1614:
1615: SELECT consigned_consumption_flag
1616: INTO l_consumption_release_flag
1617: FROM po_releases
1621: IF (g_asn_debug = 'Y') THEN
1622: asn_debug.put_line('in RCVTIS2B.pls, consumption release' || l_consumption_release_flag);
1623: END IF;
1624:
1625: rcv_error_pkg.set_error_message('RCV_REJECT_CONSUMPTION_RELEASE');
1626: RAISE e_validation_error;
1627: END IF;
1628: EXCEPTION
1629: WHEN e_validation_error THEN
1627: END IF;
1628: EXCEPTION
1629: WHEN e_validation_error THEN
1630: x_consumption_release_rec.error_record.error_status := x_error_status;
1631: x_consumption_release_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1632:
1633: IF x_consumption_release_rec.error_record.error_message = 'RCV_REJECT_CONSUMPTION_RELEASE' THEN
1634: NULL;
1635: END IF;
1633: IF x_consumption_release_rec.error_record.error_message = 'RCV_REJECT_CONSUMPTION_RELEASE' THEN
1634: NULL;
1635: END IF;
1636: WHEN OTHERS THEN
1637: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1638: rcv_error_pkg.set_sql_error_message('validate_consumption_release', '000');
1639: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1640: END validate_consumption_release;
1641:
1634: NULL;
1635: END IF;
1636: WHEN OTHERS THEN
1637: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1638: rcv_error_pkg.set_sql_error_message('validate_consumption_release', '000');
1639: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1640: END validate_consumption_release;
1641:
1642:
1635: END IF;
1636: WHEN OTHERS THEN
1637: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.g_ret_sts_unexp_error;
1638: rcv_error_pkg.set_sql_error_message('validate_consumption_release', '000');
1639: x_consumption_release_rec.error_record.error_status := rcv_error_pkg.get_last_message;
1640: END validate_consumption_release;
1641:
1642:
1643: /*##########################################################################
1766: asn_debug.put_line('Dual UOM check failed:' || l_progress);
1767: END IF;
1768:
1769: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1770: rcv_error_pkg.set_sql_error_message('Unexpected Exception in validate_secondary_parameters', l_progress);
1771: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1772:
1773: RETURN;
1774:
1767: END IF;
1768:
1769: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1770: rcv_error_pkg.set_sql_error_message('Unexpected Exception in validate_secondary_parameters', l_progress);
1771: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1772:
1773: RETURN;
1774:
1775: END;
1783:
1784: /*Error out if secondary parameters are specified and item is not dual uom controlled*/
1785: IF x_att_rec.secondary_uom_code IS NOT NULL THEN
1786: /*
1787: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1788: RAISE e_validation_error;
1789: */
1790: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1791: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1787: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1788: RAISE e_validation_error;
1789: */
1790: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1791: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1792: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1793:
1794: RETURN;
1795:
1788: RAISE e_validation_error;
1789: */
1790: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1791: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1792: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1793:
1794: RETURN;
1795:
1796:
1795:
1796:
1797: ELSIF x_att_rec.secondary_unit_of_measure IS NOT NULL THEN
1798: /*
1799: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1800: RAISE e_validation_error;
1801: */
1802: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1803: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1799: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1800: RAISE e_validation_error;
1801: */
1802: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1803: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1804: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1805:
1806: RETURN;
1807:
1800: RAISE e_validation_error;
1801: */
1802: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1803: rcv_error_pkg.set_error_message('PO_SECONDARY_UOM_NOT_REQUIRED');
1804: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1805:
1806: RETURN;
1807:
1808:
1807:
1808:
1809: ELSIF x_att_rec.secondary_quantity IS NOT NULL THEN
1810: /*
1811: rcv_error_pkg.set_error_message('PO_SECONDARY_QTY_NOT_REQUIRED');
1812: RAISE e_validation_error;
1813: */
1814: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1815: rcv_error_pkg.set_error_message('PO_SECONDARY_QTY_NOT_REQUIRED');
1811: rcv_error_pkg.set_error_message('PO_SECONDARY_QTY_NOT_REQUIRED');
1812: RAISE e_validation_error;
1813: */
1814: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1815: rcv_error_pkg.set_error_message('PO_SECONDARY_QTY_NOT_REQUIRED');
1816: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1817:
1818: RETURN;
1819:
1812: RAISE e_validation_error;
1813: */
1814: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1815: rcv_error_pkg.set_error_message('PO_SECONDARY_QTY_NOT_REQUIRED');
1816: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1817:
1818: RETURN;
1819:
1820:
1851: END IF;
1852:
1853: /*Log error into po_interface_error*/
1854: /*
1855: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1856: RAISE e_validation_error;
1857: */
1858: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1859: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1855: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1856: RAISE e_validation_error;
1857: */
1858: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1859: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1860: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1861:
1862: RETURN;
1863:
1856: RAISE e_validation_error;
1857: */
1858: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1859: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1860: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1861:
1862: RETURN;
1863:
1864: ELSE
1878: IF g_asn_debug = 'Y' THEN
1879: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1880: END IF;
1881: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1882: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1883: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1884:
1885: RETURN;
1886: END;
1879: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1880: END IF;
1881: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1882: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1883: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1884:
1885: RETURN;
1886: END;
1887:
1919: END IF;
1920:
1921: /*Log error into po_interface_error*/
1922: /*
1923: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1924: RAISE e_validation_error;
1925: */
1926: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1927: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1923: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1924: RAISE e_validation_error;
1925: */
1926: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1927: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1928: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1929:
1930: RETURN;
1931:
1924: RAISE e_validation_error;
1925: */
1926: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
1927: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
1928: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1929:
1930: RETURN;
1931:
1932: END IF;
1936: IF g_asn_debug = 'Y' THEN
1937: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1938: END IF;
1939: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1940: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1941: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1942:
1943: RETURN;
1944: END;
1937: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1938: END IF;
1939: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1940: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1941: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1942:
1943: RETURN;
1944: END;
1945:
1974: IF g_asn_debug = 'Y' THEN
1975: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1976: END IF;
1977: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1978: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1979: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1980:
1981: RETURN;
1982: END;
1975: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
1976: END IF;
1977: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
1978: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
1979: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
1980:
1981: RETURN;
1982: END;
1983:
2004: END IF;
2005:
2006: /*Log error into po_interface_error*/
2007: /*
2008: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2009: RAISE e_validation_error;
2010: */
2011: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2012: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2008: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2009: RAISE e_validation_error;
2010: */
2011: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2012: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2013: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2014:
2015: RETURN;
2016:
2009: RAISE e_validation_error;
2010: */
2011: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2012: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2013: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2014:
2015: RETURN;
2016:
2017:
2038: END IF;
2039:
2040: /*Log error into po_interface_error*/
2041: /*
2042: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2043: RAISE e_validation_error;
2044: */
2045: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2046: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2042: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2043: RAISE e_validation_error;
2044: */
2045: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2046: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2047: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2048:
2049: RETURN;
2050:
2043: RAISE e_validation_error;
2044: */
2045: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2046: rcv_error_pkg.set_error_message('PO_INCORRECT_SECONDARY_UOM');
2047: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2048:
2049: RETURN;
2050:
2051:
2058: IF g_asn_debug = 'Y' THEN
2059: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
2060: END IF;
2061: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2062: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
2063: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2064:
2065: RETURN;
2066: END;
2059: asn_debug.put_line('SQL in validate_secondary_parameters failed:' || l_progress);
2060: END IF;
2061: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2062: rcv_error_pkg.set_sql_error_message('Unexpected Exception:validate_secondary_parameters', l_progress);
2063: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2064:
2065: RETURN;
2066: END;
2067:
2095: asn_debug.put_line('within deviation check failed in VALIDATE_SECONDARY_PARAMETERS:' || l_progress);
2096: END IF;
2097: /*Log error into po_interface_error */
2098: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2099: rcv_error_pkg.set_error_message('PO_SRCE_ORG_OUT_OF_DEV');
2100: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2101:
2102: RETURN;
2103: END IF;
2096: END IF;
2097: /*Log error into po_interface_error */
2098: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2099: rcv_error_pkg.set_error_message('PO_SRCE_ORG_OUT_OF_DEV');
2100: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2101:
2102: RETURN;
2103: END IF;
2104:
2139: asn_debug.put_line('fetch secondary quantity failed in VALIDATE_SECONDARY_PARAMETERS:' || l_progress);
2140: END IF;
2141: /*Log error into po_interface_error */
2142: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2143: rcv_error_pkg.set_sql_error_message('Unexpected exception :fetch secondary quantity failed in validate_secondary_parameters', l_progress);
2144: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2145:
2146: RETURN;
2147: END IF;
2140: END IF;
2141: /*Log error into po_interface_error */
2142: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2143: rcv_error_pkg.set_sql_error_message('Unexpected exception :fetch secondary quantity failed in validate_secondary_parameters', l_progress);
2144: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2145:
2146: RETURN;
2147: END IF;
2148:
2163:
2164: EXCEPTION
2165: WHEN e_validation_error THEN
2166: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_error;
2167: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2168:
2169: WHEN OTHERS THEN
2170: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2171: rcv_error_pkg.set_sql_error_message('Unexpected exception:validate_secondary_parameters', l_progress);
2167: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2168:
2169: WHEN OTHERS THEN
2170: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2171: rcv_error_pkg.set_sql_error_message('Unexpected exception:validate_secondary_parameters', l_progress);
2172: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2173:
2174:
2175: END VALIDATE_SECONDARY_PARAMETERS;
2168:
2169: WHEN OTHERS THEN
2170: x_att_rec.error_record.error_status := fnd_api.g_ret_sts_unexp_error;
2171: rcv_error_pkg.set_sql_error_message('Unexpected exception:validate_secondary_parameters', l_progress);
2172: x_att_rec.error_record.error_message := rcv_error_pkg.get_last_message;
2173:
2174:
2175: END VALIDATE_SECONDARY_PARAMETERS;
2176: