27: -- Check for fields required on a booked order line
28:
29: IF p_line_rec.sold_to_org_id IS NULL THEN
30: x_return_status := FND_API.G_RET_STS_ERROR;
31: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
32: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
33: OE_Order_UTIL.Get_Attribute_Name('SOLD_TO_ORG_ID'));
34: OE_MSG_PUB.ADD;
35: END IF;
28:
29: IF p_line_rec.sold_to_org_id IS NULL THEN
30: x_return_status := FND_API.G_RET_STS_ERROR;
31: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
32: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
33: OE_Order_UTIL.Get_Attribute_Name('SOLD_TO_ORG_ID'));
34: OE_MSG_PUB.ADD;
35: END IF;
36:
35: END IF;
36:
37: IF p_line_rec.invoice_to_org_id IS NULL THEN
38: x_return_status := FND_API.G_RET_STS_ERROR;
39: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
40: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
41: OE_Order_UTIL.Get_Attribute_Name('INVOICE_TO_ORG_ID'));
42: OE_MSG_PUB.ADD;
43: END IF;
36:
37: IF p_line_rec.invoice_to_org_id IS NULL THEN
38: x_return_status := FND_API.G_RET_STS_ERROR;
39: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
40: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
41: OE_Order_UTIL.Get_Attribute_Name('INVOICE_TO_ORG_ID'));
42: OE_MSG_PUB.ADD;
43: END IF;
44:
43: END IF;
44:
45: IF p_line_rec.tax_exempt_flag IS NULL THEN
46: x_return_status := FND_API.G_RET_STS_ERROR;
47: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
48: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
49: OE_Order_UTIL.Get_Attribute_Name('TAX_EXEMPT_FLAG'));
50: OE_MSG_PUB.ADD;
51: END IF;
44:
45: IF p_line_rec.tax_exempt_flag IS NULL THEN
46: x_return_status := FND_API.G_RET_STS_ERROR;
47: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
48: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
49: OE_Order_UTIL.Get_Attribute_Name('TAX_EXEMPT_FLAG'));
50: OE_MSG_PUB.ADD;
51: END IF;
52:
53:
54: -- Item, Quantity and UOM Required
55: IF p_line_rec.inventory_item_id IS NULL THEN
56: x_return_status := FND_API.G_RET_STS_ERROR;
57: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
58: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
59: OE_Order_UTIL.Get_Attribute_Name('INVENTORY_ITEM_ID'));
60: OE_MSG_PUB.ADD;
61: END IF;
54: -- Item, Quantity and UOM Required
55: IF p_line_rec.inventory_item_id IS NULL THEN
56: x_return_status := FND_API.G_RET_STS_ERROR;
57: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
58: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
59: OE_Order_UTIL.Get_Attribute_Name('INVENTORY_ITEM_ID'));
60: OE_MSG_PUB.ADD;
61: END IF;
62:
61: END IF;
62:
63: IF p_line_rec.order_quantity_uom IS NULL THEN
64: x_return_status := FND_API.G_RET_STS_ERROR;
65: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
66: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
67: OE_Order_UTIL.Get_Attribute_Name('ORDER_QUANTITY_UOM'));
68: OE_MSG_PUB.ADD;
69: END IF;
62:
63: IF p_line_rec.order_quantity_uom IS NULL THEN
64: x_return_status := FND_API.G_RET_STS_ERROR;
65: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
66: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
67: OE_Order_UTIL.Get_Attribute_Name('ORDER_QUANTITY_UOM'));
68: OE_MSG_PUB.ADD;
69: END IF;
70:
71: -- Fix bug 1277092: ordered quantity should not be = 0 on a booked line
72: IF p_line_rec.ordered_quantity IS NULL
73: OR p_line_rec.ordered_quantity = 0 THEN
74: x_return_status := FND_API.G_RET_STS_ERROR;
75: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
76: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
77: OE_Order_UTIL.Get_Attribute_Name('ORDERED_QUANTITY'));
78: OE_MSG_PUB.ADD;
79: END IF;
72: IF p_line_rec.ordered_quantity IS NULL
73: OR p_line_rec.ordered_quantity = 0 THEN
74: x_return_status := FND_API.G_RET_STS_ERROR;
75: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
76: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
77: OE_Order_UTIL.Get_Attribute_Name('ORDERED_QUANTITY'));
78: OE_MSG_PUB.ADD;
79: END IF;
80:
93: THEN
94:
95: IF p_line_rec.price_list_id IS NULL THEN
96: x_return_status := FND_API.G_RET_STS_ERROR;
97: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
98: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
99: OE_Order_UTIL.Get_Attribute_Name('PRICE_LIST_ID'));
100: OE_MSG_PUB.ADD;
101: END IF;
94:
95: IF p_line_rec.price_list_id IS NULL THEN
96: x_return_status := FND_API.G_RET_STS_ERROR;
97: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
98: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
99: OE_Order_UTIL.Get_Attribute_Name('PRICE_LIST_ID'));
100: OE_MSG_PUB.ADD;
101: END IF;
102:
101: END IF;
102:
103: IF p_line_rec.unit_list_price IS NULL THEN
104: x_return_status := FND_API.G_RET_STS_ERROR;
105: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
106: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
107: OE_Order_UTIL.Get_Attribute_Name('UNIT_LIST_PRICE'));
108: OE_MSG_PUB.ADD;
109: END IF;
102:
103: IF p_line_rec.unit_list_price IS NULL THEN
104: x_return_status := FND_API.G_RET_STS_ERROR;
105: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
106: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
107: OE_Order_UTIL.Get_Attribute_Name('UNIT_LIST_PRICE'));
108: OE_MSG_PUB.ADD;
109: END IF;
110:
109: END IF;
110:
111: IF p_line_rec.unit_selling_price IS NULL THEN
112: x_return_status := FND_API.G_RET_STS_ERROR;
113: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
114: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
115: OE_Order_UTIL.Get_Attribute_Name('UNIT_SELLING_PRICE'));
116: OE_MSG_PUB.ADD;
117: END IF;
110:
111: IF p_line_rec.unit_selling_price IS NULL THEN
112: x_return_status := FND_API.G_RET_STS_ERROR;
113: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
114: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
115: OE_Order_UTIL.Get_Attribute_Name('UNIT_SELLING_PRICE'));
116: OE_MSG_PUB.ADD;
117: END IF;
118:
126: IF p_line_rec.line_category_code <> OE_GLOBALS.G_RETURN_CATEGORY_CODE THEN
127:
128: IF p_line_rec.ship_to_org_id IS NULL THEN
129: x_return_status := FND_API.G_RET_STS_ERROR;
130: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
131: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
132: OE_Order_UTIL.Get_Attribute_Name('SHIP_TO_ORG_ID'));
133: OE_MSG_PUB.ADD;
134: END IF;
127:
128: IF p_line_rec.ship_to_org_id IS NULL THEN
129: x_return_status := FND_API.G_RET_STS_ERROR;
130: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
131: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
132: OE_Order_UTIL.Get_Attribute_Name('SHIP_TO_ORG_ID'));
133: OE_MSG_PUB.ADD;
134: END IF;
135:
134: END IF;
135:
136: IF p_line_rec.payment_term_id IS NULL THEN
137: x_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
139: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
140: OE_Order_UTIL.Get_Attribute_Name('PAYMENT_TERM_ID'));
141: OE_MSG_PUB.ADD;
142: END IF;
135:
136: IF p_line_rec.payment_term_id IS NULL THEN
137: x_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_LINE_ATTRIBUTE');
139: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
140: OE_Order_UTIL.Get_Attribute_Name('PAYMENT_TERM_ID'));
141: OE_MSG_PUB.ADD;
142: END IF;
143:
149: IF p_line_rec.line_category_code = OE_GLOBALS.G_RETURN_CATEGORY_CODE THEN
150:
151: IF p_line_rec.ship_from_org_id IS NULL THEN
152: x_return_status := FND_API.G_RET_STS_ERROR;
153: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
154: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
155: OE_Order_UTIL.Get_Attribute_Name('SHIP_FROM_ORG_ID'));
156: OE_MSG_PUB.ADD;
157: END IF;
150:
151: IF p_line_rec.ship_from_org_id IS NULL THEN
152: x_return_status := FND_API.G_RET_STS_ERROR;
153: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
154: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
155: OE_Order_UTIL.Get_Attribute_Name('SHIP_FROM_ORG_ID'));
156: OE_MSG_PUB.ADD;
157: END IF;
158:
157: END IF;
158:
159: IF p_line_rec.request_date IS NULL THEN
160: x_return_status := FND_API.G_RET_STS_ERROR;
161: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
162: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
163: OE_Order_UTIL.Get_Attribute_Name('REQUEST_DATE'));
164: OE_MSG_PUB.ADD;
165: END IF;
158:
159: IF p_line_rec.request_date IS NULL THEN
160: x_return_status := FND_API.G_RET_STS_ERROR;
161: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
162: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
163: OE_Order_UTIL.Get_Attribute_Name('REQUEST_DATE'));
164: OE_MSG_PUB.ADD;
165: END IF;
166:
170:
171: IF p_line_rec.tax_date IS NULL
172: THEN
173: x_return_status := FND_API.G_RET_STS_ERROR;
174: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
175: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
176: OE_Order_UTIL.Get_Attribute_Name('TAX_DATE'));
177: OE_MSG_PUB.ADD;
178: END IF;
171: IF p_line_rec.tax_date IS NULL
172: THEN
173: x_return_status := FND_API.G_RET_STS_ERROR;
174: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_RETURN_ATTRIBUTE');
175: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
176: OE_Order_UTIL.Get_Attribute_Name('TAX_DATE'));
177: OE_MSG_PUB.ADD;
178: END IF;
179:
211: IF (l_line_type_rec.calculate_tax_flag = 'Y' OR p_line_rec.tax_exempt_flag = 'R')
212: AND p_line_rec.tax_code IS NULL
213: THEN
214: x_return_status := FND_API.G_RET_STS_ERROR;
215: FND_MESSAGE.SET_NAME('ONT','OE_VAL_TAX_CODE_REQD');
216: OE_MSG_PUB.ADD;
217: END IF;*/
218:
219: /* Added by Manish */
222: -- Service Duration is required on SERVICE lines
223: IF l_item_type_code = 'SERVICE' THEN
224: IF p_line_rec.service_duration IS NULL THEN
225: x_return_status := FND_API.G_RET_STS_ERROR;
226: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_SERVICE_DURATION');
227: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
228: OE_Order_UTIL.Get_Attribute_Name('SERVICE_DURATION'));
229: OE_MSG_PUB.ADD;
230: END IF;
223: IF l_item_type_code = 'SERVICE' THEN
224: IF p_line_rec.service_duration IS NULL THEN
225: x_return_status := FND_API.G_RET_STS_ERROR;
226: FND_MESSAGE.SET_NAME('ONT','OE_BOOK_REQD_SERVICE_DURATION');
227: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
228: OE_Order_UTIL.Get_Attribute_Name('SERVICE_DURATION'));
229: OE_MSG_PUB.ADD;
230: END IF;
231: END IF;
238: p_line_rec.cancelled_flag <> 'Y'
239: THEN
240: IF (OE_LINE_UTIL.Is_Over_Return(p_line_rec)) THEN
241: x_return_status := FND_API.G_RET_STS_ERROR;
242: FND_MESSAGE.Set_Name('ONT', 'OE_RETURN_INVALID_QUANTITY');
243: OE_MSG_PUB.ADD;
244: END IF;
245: END IF;
246:
303:
304: IF p_item_type_code IN ('MODEL', 'OPTION', 'KIT',
305: 'CLASS','INCLUDED', 'CONFIG') THEN
306: oe_debug_pub.add('item is config related with decimal qty',2);
307: FND_MESSAGE.SET_NAME('ONT', 'OE_CONFIG_NO_DECIMALS');
308: OE_MSG_PUB.Add;
309: x_return_status := FND_API.G_RET_STS_ERROR;
310:
311: ELSE
327: oe_debug_pub.add('l_pri_qty ' || l_primary_quantity,2);
328: oe_debug_pub.add('l_val_qty ' || l_validated_quantity,2);
329: /* bug 2926436 */
330: IF l_qty_return_status = 'W' THEN
331: fnd_message.set_name('ONT', 'OE_DECIMAL_MAX_PRECISION');
332: END IF;
333:
334: -- move INV error message to OE message stack
335: oe_msg_pub.add;
399: CLOSE find_config_assign;
400:
401: IF lexists IS NULL THEN
402: oe_debug_pub.add('No explicit assignment exists',2);
403: FND_MESSAGE.SET_NAME('ONT','OE_EXP_ASSIGN_REQ');
404: OE_MSG_PUB.ADD;
405: RAISE FND_API.G_EXC_ERROR;
406: END IF;
407:
409:
410: OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Line_Type',1);
411: EXCEPTION
412: WHEN NO_DATA_FOUND THEN
413: FND_MESSAGE.SET_NAME('ONT','OE_FLOW_CNT_CHANGE');
414: OE_MSG_PUB.ADD;
415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
416: WHEN FND_API.G_EXC_ERROR THEN
417: RAISE FND_API.G_EXC_ERROR;
453: OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Receiving_Org',1);
454: RETURN TRUE;
455: EXCEPTION
456: WHEN NO_DATA_FOUND THEN
457: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
458: OE_MSG_PUB.add;
459: RETURN FALSE;
460: WHEN OTHERS THEN
461: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
457: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
458: OE_MSG_PUB.add;
459: RETURN FALSE;
460: WHEN OTHERS THEN
461: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
462: OE_MSG_PUB.add;
463: RETURN FALSE;
464: END Validate_Receiving_Org;
465:
509: EXCEPTION
510: WHEN NO_DATA_FOUND THEN
511: oe_debug_pub.add('RR: No data found',1);
512:
513: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
514: OE_MSG_PUB.add;
515: RETURN FALSE;
516:
517: WHEN OTHERS THEN
515: RETURN FALSE;
516:
517: WHEN OTHERS THEN
518: oe_debug_pub.add('RR: OTHERS',1);
519: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
520: OE_MSG_PUB.add;
521: RETURN FALSE;
522:
523: END Validate_Item_Warehouse;
685: RETURN TRUE;
686: ELSIF (l_profile = 'R') THEN
687: RETURN FALSE;
688: ELSE -- warning
689: FND_MESSAGE.SET_NAME('ONT','OE_RETURN_ITEM_MISMATCH_WARNIN');
690: OE_MSG_PUB.ADD;
691: END IF;
692:
693: END IF;
755: RETURN TRUE;
756: ELSIF (l_profile = 'R') THEN
757: RETURN FALSE;
758: ELSE -- warning
759: FND_MESSAGE.SET_NAME('ONT','OE_UNFULFILLED_LINE_WARNING');
760: OE_MSG_PUB.ADD;
761: END IF;
762:
763: END IF;
821:
822: IF l_booked_flag = 'Y' THEN
823: RETURN TRUE;
824: ELSE
825: fnd_message.set_name('ONT', 'OE_RETURN_UNBOOKED_ORDER');
826: OE_MSG_PUB.Add;
827: END IF;
828:
829: oe_debug_pub.add('Exit Validate_Return_Reference',1);
831:
832: EXCEPTION
833: WHEN NO_DATA_FOUND THEN
834: oe_debug_pub.add('Validate_Return_Reference: No data found',1);
835: fnd_message.set_name('ONT', 'OE_RETURN_INVALID_SO_LINE');
836: OE_MSG_PUB.Add;
837: RETURN FALSE;
838: WHEN OTHERS THEN
839: oe_debug_pub.add('Validate_Return_Reference: When Others',1);
836: OE_MSG_PUB.Add;
837: RETURN FALSE;
838: WHEN OTHERS THEN
839: oe_debug_pub.add('Validate_Return_Reference: When Others',1);
840: fnd_message.set_name('ONT', 'OE_RETURN_INVALID_SO_LINE');
841: OE_MSG_PUB.Add;
842: RETURN FALSE;
843: END Validate_Return_Reference;
844:
1040: IF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_SERVICE OR
1041: p_line_rec.ship_model_complete_flag = 'Y'
1042: THEN
1043: oe_debug_pub.add('servie / part of smc model', 4);
1044: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_VALID_ITEM');
1045: FND_MESSAGE.SET_TOKEN('ITEM', p_line_rec.ordered_item);
1046: OE_MSG_PUB.Add;
1047: x_return_status := FND_API.G_RET_STS_ERROR;
1048: RETURN;
1041: p_line_rec.ship_model_complete_flag = 'Y'
1042: THEN
1043: oe_debug_pub.add('servie / part of smc model', 4);
1044: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_VALID_ITEM');
1045: FND_MESSAGE.SET_TOKEN('ITEM', p_line_rec.ordered_item);
1046: OE_MSG_PUB.Add;
1047: x_return_status := FND_API.G_RET_STS_ERROR;
1048: RETURN;
1049: ELSE
1051: END IF;
1052: ELSE
1053: IF (p_line_rec.item_type_code <> OE_GLOBALS.G_ITEM_STANDARD) THEN
1054: oe_debug_pub.add('Cannot dropship non-standard item',2);
1055: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_ALLOWED');
1056: OE_MSG_PUB.Add;
1057: x_return_status := FND_API.G_RET_STS_ERROR;
1058: RETURN;
1059: END IF;
1063: IF p_line_rec.ship_set_id is not null OR
1064: p_line_rec.arrival_set_id is not null THEN
1065:
1066: oe_debug_pub.add('Cannot insert external line to set',2);
1067: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_SET_INS_FAILED');
1068: OE_MSG_PUB.Add;
1069: x_return_status := FND_API.G_RET_STS_ERROR;
1070: RETURN;
1071: END IF;
1087: AND org.set_of_books_id= ( SELECT fsp.set_of_books_id
1088: FROM financials_system_parameters fsp);
1089:
1090: IF l_purchasing_enabled_flag = 'N' THEN
1091: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_ENABLED');
1092: FND_MESSAGE.SET_TOKEN('ITEM', nvl(p_line_rec.ship_from_org_id,
1093: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID')));
1094: FND_MESSAGE.SET_TOKEN('ORG', p_line_rec.ordered_item);
1095: OE_MSG_PUB.Add;
1088: FROM financials_system_parameters fsp);
1089:
1090: IF l_purchasing_enabled_flag = 'N' THEN
1091: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_ENABLED');
1092: FND_MESSAGE.SET_TOKEN('ITEM', nvl(p_line_rec.ship_from_org_id,
1093: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID')));
1094: FND_MESSAGE.SET_TOKEN('ORG', p_line_rec.ordered_item);
1095: OE_MSG_PUB.Add;
1096: x_return_status := FND_API.G_RET_STS_ERROR;
1090: IF l_purchasing_enabled_flag = 'N' THEN
1091: FND_MESSAGE.SET_NAME('ONT', 'OE_DS_NOT_ENABLED');
1092: FND_MESSAGE.SET_TOKEN('ITEM', nvl(p_line_rec.ship_from_org_id,
1093: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID')));
1094: FND_MESSAGE.SET_TOKEN('ORG', p_line_rec.ordered_item);
1095: OE_MSG_PUB.Add;
1096: x_return_status := FND_API.G_RET_STS_ERROR;
1097: END IF;
1098:
1235: THEN
1236:
1237: l_return_status := FND_API.G_RET_STS_ERROR;
1238:
1239: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1240: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1241: OE_Order_UTIL.Get_Attribute_Name('INVENTORY_ITEM_ID'));
1242: OE_MSG_PUB.Add;
1243:
1236:
1237: l_return_status := FND_API.G_RET_STS_ERROR;
1238:
1239: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1240: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1241: OE_Order_UTIL.Get_Attribute_Name('INVENTORY_ITEM_ID'));
1242: OE_MSG_PUB.Add;
1243:
1244: END IF;
1248: THEN
1249:
1250: l_return_status := FND_API.G_RET_STS_ERROR;
1251:
1252: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1253: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1254: OE_Order_UTIL.Get_Attribute_Name('LINE_TYPE_ID'));
1255: OE_MSG_PUB.Add;
1256:
1249:
1250: l_return_status := FND_API.G_RET_STS_ERROR;
1251:
1252: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1253: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1254: OE_Order_UTIL.Get_Attribute_Name('LINE_TYPE_ID'));
1255: OE_MSG_PUB.Add;
1256:
1257: ELSIF p_line_rec.line_type_id IS NOT NULL THEN
1278: and p_line_rec.return_reason_code is NULL
1279: THEN
1280: l_return_status := FND_API.G_RET_STS_ERROR;
1281:
1282: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1283: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1284: OE_Order_UTIL.Get_Attribute_Name('RETURN_REASON_CODE'));
1285: OE_MSG_PUB.Add;
1286:
1279: THEN
1280: l_return_status := FND_API.G_RET_STS_ERROR;
1281:
1282: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1283: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1284: OE_Order_UTIL.Get_Attribute_Name('RETURN_REASON_CODE'));
1285: OE_MSG_PUB.Add;
1286:
1287: END IF;
1297: p_line_rec.source_type_code is null THEN
1298: oe_debug_pub.add('Entity Validateion: subinventory', 1);
1299: IF p_line_rec.ship_from_org_id is null THEN
1300: l_return_status := FND_API.G_RET_STS_ERROR;
1301: fnd_message.set_name('ONT', 'OE_ATTRIBUTE_REQUIRED');
1302: fnd_message.set_token('ATTRIBUTE',OE_Order_UTIL.Get_Attribute_Name('SHIP_FROM_ORG_ID'));
1303: OE_MSG_PUB.Add;
1304: END IF;
1305: ELSE -- external
1298: oe_debug_pub.add('Entity Validateion: subinventory', 1);
1299: IF p_line_rec.ship_from_org_id is null THEN
1300: l_return_status := FND_API.G_RET_STS_ERROR;
1301: fnd_message.set_name('ONT', 'OE_ATTRIBUTE_REQUIRED');
1302: fnd_message.set_token('ATTRIBUTE',OE_Order_UTIL.Get_Attribute_Name('SHIP_FROM_ORG_ID'));
1303: OE_MSG_PUB.Add;
1304: END IF;
1305: ELSE -- external
1306: l_return_status := FND_API.G_RET_STS_ERROR;
1303: OE_MSG_PUB.Add;
1304: END IF;
1305: ELSE -- external
1306: l_return_status := FND_API.G_RET_STS_ERROR;
1307: fnd_message.set_name('ONT', 'OE_SUBINV_EXTERNAL');
1308: OE_MSG_PUB.Add;
1309: END IF;
1310: END IF;
1311:
1378:
1379: oe_debug_pub.add('Primary and Secondary X-VAL qty 1 not empty', 2);
1380:
1381: l_return_status := FND_API.G_RET_STS_ERROR;
1382: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1383: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ordered_Quantity2');
1384: OE_MSG_PUB.Add;
1385:
1386: ELSIF (p_line_rec.ordered_quantity2 <> FND_API.G_MISS_NUM OR
1379: oe_debug_pub.add('Primary and Secondary X-VAL qty 1 not empty', 2);
1380:
1381: l_return_status := FND_API.G_RET_STS_ERROR;
1382: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1383: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ordered_Quantity2');
1384: OE_MSG_PUB.Add;
1385:
1386: ELSIF (p_line_rec.ordered_quantity2 <> FND_API.G_MISS_NUM OR
1387: p_line_rec.ordered_quantity2 IS NOT NULL) AND
1387: p_line_rec.ordered_quantity2 IS NOT NULL) AND
1388: (p_line_rec.ordered_quantity IS NULL) THEN
1389:
1390: l_return_status := FND_API.G_RET_STS_ERROR;
1391: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1392: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ordered_Quantity');
1393: OE_MSG_PUB.Add;
1394: END IF; -- IF (p_line_rec.ordered_quantity <> FND_API.G_MISS_NUM OR
1395: END IF; -- IF l_item_rec.tracking_quantity_ind = 'PS' IF l_item_rec.dualum_ind in (1,2,3) THEN
1388: (p_line_rec.ordered_quantity IS NULL) THEN
1389:
1390: l_return_status := FND_API.G_RET_STS_ERROR;
1391: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
1392: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Ordered_Quantity');
1393: OE_MSG_PUB.Add;
1394: END IF; -- IF (p_line_rec.ordered_quantity <> FND_API.G_MISS_NUM OR
1395: END IF; -- IF l_item_rec.tracking_quantity_ind = 'PS' IF l_item_rec.dualum_ind in (1,2,3) THEN
1396:
1457: ,0);
1458: -- OPM END 06/22
1459: IF(l_return = -68) THEN
1460: l_return_status := FND_API.G_RET_STS_ERROR;
1461: FND_MESSAGE.set_name('GMI', 'IC_DEVIATION_HI_ERR');
1462: OE_MSG_PUB.Add;
1463: ELSIF (l_return = -69) THEN
1464: l_return_status := FND_API.G_RET_STS_ERROR;
1465: FND_MESSAGE.set_name('GMI', 'IC_DEVIATION_LO_ERR');
1461: FND_MESSAGE.set_name('GMI', 'IC_DEVIATION_HI_ERR');
1462: OE_MSG_PUB.Add;
1463: ELSIF (l_return = -69) THEN
1464: l_return_status := FND_API.G_RET_STS_ERROR;
1465: FND_MESSAGE.set_name('GMI', 'IC_DEVIATION_LO_ERR');
1466: OE_MSG_PUB.Add;
1467: END IF; */
1468:
1469:
1646: /* IF NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,p_old_line_rec.reserved_quantity)
1647: THEN
1648:
1649: IF (p_line_rec.reserved_quantity > p_line_rec.ordered_quantity) THEN
1650: fnd_message.set_name('ONT','OE_SCH_RES_MORE_ORD_QTY');
1651: OE_MSG_PUB.Add;
1652: l_return_status := FND_API.G_RET_STS_ERROR;
1653: END IF;
1654:
1671: -- Schedule_Ship_Date and schedule_Arrival_date. We should not
1672: -- error out for this item.
1673:
1674: IF p_line_rec.item_type_code <> OE_GLOBALS.G_ITEM_CONFIG THEN
1675: FND_MESSAGE.SET_NAME('ONT','OE_SCH_INVALID_CHANGE');
1676: OE_MSG_PUB.Add;
1677: l_return_status := FND_API.G_RET_STS_ERROR;
1678: END IF;
1679:
1691: IF (p_line_rec.project_id IS NOT NULL
1692: AND p_line_rec.ship_from_org_id IS NULL) THEN
1693:
1694: l_return_status := FND_API.G_RET_STS_ERROR;
1695: FND_MESSAGE.SET_NAME('ONT', 'OE_SHIP_FROM_REQD');
1696: OE_MSG_PUB.add;
1697: ELSIF (p_line_rec.task_id IS NOT NULL
1698: AND p_line_rec.project_id IS NULL) THEN
1699:
1697: ELSIF (p_line_rec.task_id IS NOT NULL
1698: AND p_line_rec.project_id IS NULL) THEN
1699:
1700: l_return_status := FND_API.G_RET_STS_ERROR;
1701: FND_MESSAGE.SET_NAME('ONT', 'OE_VAL_PROJECT_REQD');
1702: OE_MSG_PUB.add;
1703:
1704: END IF;
1705:
1762: (p_line_rec.project_id,
1763: p_line_rec.ship_from_org_id) IS NULL THEN
1764:
1765: l_return_status := FND_API.G_RET_STS_ERROR;
1766: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_SHIP_FROM_PROJ');
1767: OE_MSG_PUB.add;
1768: END IF;
1769:
1770: END IF;
1772: IF (p_line_rec.task_id IS NOT NULL
1773: AND p_line_rec.project_id IS NULL) THEN
1774:
1775: l_return_status := FND_API.G_RET_STS_ERROR;
1776: FND_MESSAGE.SET_NAME('ONT', 'OE_VAL_PROJECT_REQD');
1777: OE_MSG_PUB.add;
1778:
1779: ELSIF (p_line_rec.task_id is NOT NULL
1780: AND p_line_rec.project_id IS NOT NULL) THEN
1784: p_line_rec.task_id) THEN
1785:
1786: l_return_status := FND_API.G_RET_STS_ERROR;
1787: OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TASK_ID');
1788: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1789: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1790: OE_Order_Util.Get_Attribute_Name('task_id'));
1791: OE_MSG_PUB.Add;
1792: OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1785:
1786: l_return_status := FND_API.G_RET_STS_ERROR;
1787: OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TASK_ID');
1788: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1789: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1790: OE_Order_Util.Get_Attribute_Name('task_id'));
1791: OE_MSG_PUB.Add;
1792: OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1793:
1800: p_line_rec.project_id,
1801: p_line_rec.ship_from_org_id) THEN
1802:
1803: l_return_status := FND_API.G_RET_STS_ERROR;
1804: FND_MESSAGE.SET_NAME('ONT', 'OE_VAL_TASK_REQD');
1805: OE_MSG_PUB.ADD;
1806:
1807: END IF;
1808:
1820: (p_line_rec.inventory_item_id,p_line_rec.ship_from_org_id) = 'Y'
1821: THEN
1822:
1823: l_return_status := FND_API.G_RET_STS_ERROR;
1824: fnd_message.set_name('ONT', 'OE_UEFF_NUMBER_REQD');
1825: OE_MSG_PUB.add;
1826: END IF;
1827:
1828: END IF;
1831: IF (p_line_rec.project_id IS NOT NULL OR
1832: p_line_rec.task_id IS NOT NULL OR
1833: p_line_rec.end_item_unit_number IS NOT NULL) THEN
1834: l_return_status := FND_API.G_RET_STS_ERROR;
1835: fnd_message.set_name('ONT', 'OE_PJM_NOT_INSTALLED');
1836: OE_MSG_PUB.add;
1837:
1838: END IF;
1839:
1851: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS)
1852: --AND p_line_rec.line_id <> p_line_rec.ato_line_id
1853: THEN
1854:
1855: FND_MESSAGE.SET_NAME('ONT', 'OE_VAL_PROJ_UPD');
1856: OE_MSG_PUB.add;
1857:
1858:
1859: END IF;
1873: , p_line_rec.ordered_item
1874: , p_line_rec.sold_to_org_id)
1875: THEN
1876: l_return_status := FND_API.G_RET_STS_ERROR;
1877: fnd_message.set_name('ONT', 'OE_ITEM_VALIDATION_FAILED');
1878: OE_MSG_PUB.add;
1879: END IF;
1880:
1881: END IF;
1891: , p_line_rec.inventory_item_id
1892: )
1893: THEN
1894: l_return_status := FND_API.G_RET_STS_ERROR;
1895: fnd_message.set_name('ONT', 'OE_RETURN_ITEM_MISMATCH_REJECT');
1896: OE_MSG_PUB.add;
1897: END IF;
1898: END IF;
1899:
1907: ( p_line_rec.reference_line_id
1908: )
1909: THEN
1910: l_return_status := FND_API.G_RET_STS_ERROR;
1911: fnd_message.set_name('ONT', 'OE_UNFULFILLED_LINE_REJECT');
1912: OE_MSG_PUB.add;
1913: END IF;
1914:
1915: END IF;
1923: IF NOT Validate_Return_Item(p_line_rec.inventory_item_id,
1924: p_line_rec.ship_from_org_id)
1925: THEN
1926: l_return_status := FND_API.G_RET_STS_ERROR;
1927: fnd_message.set_name('ONT', 'OE_ITEM_NOT_RETURNABLE');
1928: OE_MSG_PUB.add;
1929: END IF;
1930: END IF;
1931:
1951: p_line_rec.return_context = 'SERIAL' and
1952: NVL(p_line_rec.ordered_quantity,1) <> 1)
1953: THEN
1954: l_return_status := FND_API.G_RET_STS_ERROR;
1955: fnd_message.set_name('ONT','OE_SERIAL_REFERENCED_RMA');
1956: OE_MSG_PUB.Add;
1957: END IF;
1958:
1959:
1967: IF NOT Validate_Ship_To_Org(p_line_rec.ship_to_org_id,
1968: p_line_rec.sold_to_org_id
1969: ) THEN
1970: l_return_status := FND_API.G_RET_STS_ERROR;
1971: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1972: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1973: OE_Order_Util.Get_Attribute_Name('ship_to_org_id'));
1974: OE_MSG_PUB.Add;
1975: END IF;
1968: p_line_rec.sold_to_org_id
1969: ) THEN
1970: l_return_status := FND_API.G_RET_STS_ERROR;
1971: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1972: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1973: OE_Order_Util.Get_Attribute_Name('ship_to_org_id'));
1974: OE_MSG_PUB.Add;
1975: END IF;
1976:
2003:
2004: EXCEPTION
2005: WHEN NO_DATA_FOUND THEN
2006: l_return_status := FND_API.G_RET_STS_ERROR;
2007: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2008: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2009: OE_Order_Util.Get_Attribute_Name('ship_to_contact_id'));
2010: OE_MSG_PUB.Add;
2011: WHEN OTHERS THEN
2004: EXCEPTION
2005: WHEN NO_DATA_FOUND THEN
2006: l_return_status := FND_API.G_RET_STS_ERROR;
2007: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2008: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2009: OE_Order_Util.Get_Attribute_Name('ship_to_contact_id'));
2010: OE_MSG_PUB.Add;
2011: WHEN OTHERS THEN
2012: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2029: IF NOT Validate_Deliver_To_Org(p_line_rec.deliver_to_org_id,
2030: p_line_rec.sold_to_org_id
2031: ) THEN
2032: l_return_status := FND_API.G_RET_STS_ERROR;
2033: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2034: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2035: OE_Order_Util.Get_Attribute_Name('deliver_to_org_id'));
2036: OE_MSG_PUB.Add;
2037: END IF;
2030: p_line_rec.sold_to_org_id
2031: ) THEN
2032: l_return_status := FND_API.G_RET_STS_ERROR;
2033: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2034: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2035: OE_Order_Util.Get_Attribute_Name('deliver_to_org_id'));
2036: OE_MSG_PUB.Add;
2037: END IF;
2038:
2064:
2065: EXCEPTION
2066: WHEN NO_DATA_FOUND THEN
2067: l_return_status := FND_API.G_RET_STS_ERROR;
2068: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2069: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2070: OE_Order_Util.Get_Attribute_Name('deliver_to_contact_id'));
2071: OE_MSG_PUB.Add;
2072: WHEN OTHERS THEN
2065: EXCEPTION
2066: WHEN NO_DATA_FOUND THEN
2067: l_return_status := FND_API.G_RET_STS_ERROR;
2068: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2069: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2070: OE_Order_Util.Get_Attribute_Name('deliver_to_contact_id'));
2071: OE_MSG_PUB.Add;
2072: WHEN OTHERS THEN
2073: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2140:
2141: EXCEPTION
2142: WHEN NO_DATA_FOUND THEN
2143: l_return_status := FND_API.G_RET_STS_ERROR;
2144: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2145: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2146: OE_Order_Util.Get_Attribute_Name('invoice_to_org_id'));
2147: OE_MSG_PUB.Add;
2148: WHEN OTHERS THEN
2141: EXCEPTION
2142: WHEN NO_DATA_FOUND THEN
2143: l_return_status := FND_API.G_RET_STS_ERROR;
2144: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2145: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2146: OE_Order_Util.Get_Attribute_Name('invoice_to_org_id'));
2147: OE_MSG_PUB.Add;
2148: WHEN OTHERS THEN
2149: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2182:
2183: EXCEPTION
2184: WHEN NO_DATA_FOUND THEN
2185: l_return_status := FND_API.G_RET_STS_ERROR;
2186: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2187: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2188: OE_Order_Util.Get_Attribute_Name('invoice_to_contact_id'));
2189: OE_MSG_PUB.Add;
2190: WHEN OTHERS THEN
2183: EXCEPTION
2184: WHEN NO_DATA_FOUND THEN
2185: l_return_status := FND_API.G_RET_STS_ERROR;
2186: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2187: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2188: OE_Order_Util.Get_Attribute_Name('invoice_to_contact_id'));
2189: OE_MSG_PUB.Add;
2190: WHEN OTHERS THEN
2191: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2247: EXCEPTION
2248:
2249: WHEN NO_DATA_FOUND THEN
2250: l_return_status := FND_API.G_RET_STS_ERROR;
2251: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2252: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2253: OE_Order_Util.Get_Attribute_Name('TAX_CODE'));
2254: OE_MSG_PUB.Add;
2255:
2248:
2249: WHEN NO_DATA_FOUND THEN
2250: l_return_status := FND_API.G_RET_STS_ERROR;
2251: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
2252: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2253: OE_Order_Util.Get_Attribute_Name('TAX_CODE'));
2254: OE_MSG_PUB.Add;
2255:
2256: WHEN OTHERS THEN
2276: THEN
2277: l_return_status := FND_API.G_RET_STS_ERROR;
2278: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_ERROR)
2279: THEN
2280: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
2281: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2282: OE_Order_Util.Get_Attribute_Name('TAX_EXEMPT_REASON_CODE'));
2283: OE_MSG_PUB.Add;
2284: END IF;
2277: l_return_status := FND_API.G_RET_STS_ERROR;
2278: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_ERROR)
2279: THEN
2280: fnd_message.set_name('ONT','OE_ATTRIBUTE_REQUIRED');
2281: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2282: OE_Order_Util.Get_Attribute_Name('TAX_EXEMPT_REASON_CODE'));
2283: OE_MSG_PUB.Add;
2284: END IF;
2285: END IF;
2298: THEN
2299: l_return_status := FND_API.G_RET_STS_ERROR;
2300: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_ERROR)
2301: THEN
2302: fnd_message.set_name('ONT','OE_TAX_EXEMPTION_NOT_ALLOWED');
2303: OE_MSG_PUB.Add;
2304: END IF;
2305:
2306: END IF; -- If Tax handling is Required
2388: l_return_status := FND_API.G_RET_STS_ERROR;
2389:
2390: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2391: THEN
2392: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2393: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2394: OE_Order_Util.Get_Attribute_Name('TAX_EXEMPT_NUMBER'));
2395: OE_MSG_PUB.Add;
2396: END IF;
2389:
2390: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2391: THEN
2392: fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2393: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2394: OE_Order_Util.Get_Attribute_Name('TAX_EXEMPT_NUMBER'));
2395: OE_MSG_PUB.Add;
2396: END IF;
2397:
2434: IF l_uom <> p_line_rec.order_quantity_uom
2435: THEN
2436: oe_debug_pub.add('uom other than primary uom is entered', 1);
2437:
2438: fnd_message.set_name('ONT','OE_INVALID_ORDER_QUANTITY_UOM');
2439: fnd_message.set_token('ITEM',p_line_rec.ordered_item );
2440: fnd_message.set_token('UOM', l_uom);
2441: OE_MSG_PUB.Add;
2442: RAISE FND_API.G_EXC_ERROR;
2435: THEN
2436: oe_debug_pub.add('uom other than primary uom is entered', 1);
2437:
2438: fnd_message.set_name('ONT','OE_INVALID_ORDER_QUANTITY_UOM');
2439: fnd_message.set_token('ITEM',p_line_rec.ordered_item );
2440: fnd_message.set_token('UOM', l_uom);
2441: OE_MSG_PUB.Add;
2442: RAISE FND_API.G_EXC_ERROR;
2443: END IF;
2436: oe_debug_pub.add('uom other than primary uom is entered', 1);
2437:
2438: fnd_message.set_name('ONT','OE_INVALID_ORDER_QUANTITY_UOM');
2439: fnd_message.set_token('ITEM',p_line_rec.ordered_item );
2440: fnd_message.set_token('UOM', l_uom);
2441: OE_MSG_PUB.Add;
2442: RAISE FND_API.G_EXC_ERROR;
2443: END IF;
2444: EXCEPTION
2458:
2459:
2460: IF l_uom_count = 0 THEN
2461: oe_debug_pub.add('uom/item combination invalid',2);
2462: fnd_message.set_name('ONT', 'OE_INVALID_ITEM_UOM');
2463: OE_MSG_PUB.Add;
2464: RAISE FND_API.G_EXC_ERROR;
2465: END IF;
2466: END IF;
2498: IF NOT OE_GLOBALS.EQUAL(l_list_type_code,'PRL') THEN
2499: -- any price list with 'PRL' type should be allowed to
2500: -- be associated with any agreement according to bug 1386406.
2501: IF NOT OE_GLOBALS.EQUAL(l_price_list_id, p_line_rec.price_list_id) THEN
2502: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT_PLIST');
2503: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2504: BEGIN
2505: SELECT name
2506: INTO l_price_list_name
2499: -- any price list with 'PRL' type should be allowed to
2500: -- be associated with any agreement according to bug 1386406.
2501: IF NOT OE_GLOBALS.EQUAL(l_price_list_id, p_line_rec.price_list_id) THEN
2502: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT_PLIST');
2503: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2504: BEGIN
2505: SELECT name
2506: INTO l_price_list_name
2507: FROM qp_List_headers_vl
2509:
2510: Exception when no_data_found then
2511: l_price_list_name := p_line_rec.price_list_id;
2512: END;
2513: fnd_message.set_Token('PRICE_LIST1', l_price_list_name);
2514: BEGIN
2515:
2516: SELECT name
2517: INTO l_price_list_name
2520: EXCEPTION
2521: WHEN NO_DATA_FOUND THEN
2522: l_price_list_name := l_price_list_id;
2523: END;
2524: fnd_message.set_Token('PRICE_LIST2', l_price_list_name);
2525: OE_MSG_PUB.Add;
2526: oe_debug_pub.add('Invalid Agreement +price_list_id combination',2);
2527: raise FND_API.G_EXC_ERROR;
2528: END IF;
2532: -- modified by lkxu, to check for customer relationships.
2533: IF l_sold_to_org IS NOT NULL AND l_sold_to_org <> -1
2534: AND NOT OE_GLOBALS.EQUAL(l_sold_to_org,p_line_rec.sold_to_org_id) THEN
2535: IF nvl(lcustomer_relations,'N') = 'N' THEN
2536: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2537: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2538: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2539: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2540: OE_MSG_PUB.Add;
2533: IF l_sold_to_org IS NOT NULL AND l_sold_to_org <> -1
2534: AND NOT OE_GLOBALS.EQUAL(l_sold_to_org,p_line_rec.sold_to_org_id) THEN
2535: IF nvl(lcustomer_relations,'N') = 'N' THEN
2536: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2537: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2538: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2539: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2540: OE_MSG_PUB.Add;
2541: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2534: AND NOT OE_GLOBALS.EQUAL(l_sold_to_org,p_line_rec.sold_to_org_id) THEN
2535: IF nvl(lcustomer_relations,'N') = 'N' THEN
2536: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2537: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2538: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2539: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2540: OE_MSG_PUB.Add;
2541: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2542: RAISE FND_API.G_EXC_ERROR;
2535: IF nvl(lcustomer_relations,'N') = 'N' THEN
2536: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2537: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2538: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2539: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2540: OE_MSG_PUB.Add;
2541: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2542: RAISE FND_API.G_EXC_ERROR;
2543: ELSIF lcustomer_relations = 'Y' THEN
2558: /* Replaced ra_customer_relationships with HZ Table to fix the bug 1888440 */
2559:
2560: EXCEPTION
2561: WHEN NO_DATA_FOUND THEN
2562: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2563: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2564: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2565: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2566: OE_MSG_PUB.Add;
2559:
2560: EXCEPTION
2561: WHEN NO_DATA_FOUND THEN
2562: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2563: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2564: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2565: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2566: OE_MSG_PUB.Add;
2567: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2560: EXCEPTION
2561: WHEN NO_DATA_FOUND THEN
2562: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2563: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2564: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2565: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2566: OE_MSG_PUB.Add;
2567: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2568: RAISE FND_API.G_EXC_ERROR;
2561: WHEN NO_DATA_FOUND THEN
2562: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2563: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2564: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2565: fnd_message.set_Token('CUSTOMER_ID', p_line_rec.sold_to_org_id);
2566: OE_MSG_PUB.Add;
2567: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2568: RAISE FND_API.G_EXC_ERROR;
2569: END;
2572:
2573:
2574: EXCEPTION
2575: WHEN NO_DATA_FOUND THEN
2576: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2577: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2578: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2579: fnd_message.set_Token('CUSTOMER_ID', l_sold_to_org);
2580: OE_MSG_PUB.Add;
2573:
2574: EXCEPTION
2575: WHEN NO_DATA_FOUND THEN
2576: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2577: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2578: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2579: fnd_message.set_Token('CUSTOMER_ID', l_sold_to_org);
2580: OE_MSG_PUB.Add;
2581: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2574: EXCEPTION
2575: WHEN NO_DATA_FOUND THEN
2576: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2577: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2578: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2579: fnd_message.set_Token('CUSTOMER_ID', l_sold_to_org);
2580: OE_MSG_PUB.Add;
2581: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2582: RAISE FND_API.G_EXC_ERROR;
2575: WHEN NO_DATA_FOUND THEN
2576: fnd_message.set_name('ONT', 'OE_INVALID_AGREEMENT');
2577: fnd_message.set_Token('AGREEMENT_ID', p_line_rec.agreement_id);
2578: fnd_message.set_Token('AGREEMENT_NAME', l_agreement_name);
2579: fnd_message.set_Token('CUSTOMER_ID', l_sold_to_org);
2580: OE_MSG_PUB.Add;
2581: oe_debug_pub.add('Invalid Agreement +sold_org_id combination',2);
2582: RAISE FND_API.G_EXC_ERROR;
2583: END;
2602: AND list_type_code = 'PRL';
2603:
2604: EXCEPTION
2605: WHEN NO_DATA_FOUND THEN
2606: fnd_message.set_name('ONT', 'OE_INVALID_NONAGR_PLIST');
2607: fnd_message.set_Token('PRICE_LIST1', p_line_rec.price_list_id);
2608: fnd_message.set_Token('PRICING_DATE', p_line_rec.pricing_date);
2609: OE_MSG_PUB.Add;
2610: oe_debug_pub.add('Invalid non agreement price list ',2);
2603:
2604: EXCEPTION
2605: WHEN NO_DATA_FOUND THEN
2606: fnd_message.set_name('ONT', 'OE_INVALID_NONAGR_PLIST');
2607: fnd_message.set_Token('PRICE_LIST1', p_line_rec.price_list_id);
2608: fnd_message.set_Token('PRICING_DATE', p_line_rec.pricing_date);
2609: OE_MSG_PUB.Add;
2610: oe_debug_pub.add('Invalid non agreement price list ',2);
2611: RAISE FND_API.G_EXC_ERROR;
2604: EXCEPTION
2605: WHEN NO_DATA_FOUND THEN
2606: fnd_message.set_name('ONT', 'OE_INVALID_NONAGR_PLIST');
2607: fnd_message.set_Token('PRICE_LIST1', p_line_rec.price_list_id);
2608: fnd_message.set_Token('PRICING_DATE', p_line_rec.pricing_date);
2609: OE_MSG_PUB.Add;
2610: oe_debug_pub.add('Invalid non agreement price list ',2);
2611: RAISE FND_API.G_EXC_ERROR;
2612: END;
2633:
2634: IF (NOT OE_GLOBALS.EQUAL(p_line_rec.line_number,null)) THEN
2635:
2636: l_return_status := FND_API.G_RET_STS_ERROR;
2637: fnd_message.set_name('ONT', 'OE_LINE_NUMBER_UPD');
2638: OE_MSG_PUB.add;
2639:
2640: END IF;
2641: END IF;
2669:
2670: oe_debug_pub.add('Ordered Qty cannot be greater than 1 for OTA lines',
2671: 1);
2672: l_return_status := FND_API.G_RET_STS_ERROR;
2673: FND_Message.Set_Name('ONT', 'OE_OTA_INVALID_QTY');
2674: oe_msg_pub.add;
2675: END IF;
2676:
2677: /* End of validation for OTA */
2687: (p_line_rec.cust_po_number
2688: ,p_line_rec.sold_to_org_id
2689: ,p_line_rec.header_id )
2690: THEN
2691: FND_MESSAGE.SET_NAME('ONT','OE_VAL_DUP_PO_NUMBER');
2692: OE_MSG_PUB.ADD;
2693: END IF;
2694:
2695: END IF;
2706:
2707: IF (p_line_rec.service_end_date <= p_line_rec.service_start_date)
2708: THEN
2709: l_return_status := FND_API.G_RET_STS_ERROR;
2710: fnd_message.set_name('ONT','OE_SERV_END_DATE');
2711: OE_MSG_PUB.Add;
2712: END IF;
2713:
2714: END IF;
2763: IF p_x_line_rec.blanket_number IS NOT NULL
2764: and p_x_line_rec.blanket_line_number is NOT NULL
2765: THEN
2766: x_return_status := FND_API.G_RET_STS_ERROR;
2767: fnd_message.set_name('ONT', 'OE_BLKT_DISALLOW_CLOSE_REL');
2768: OE_MSG_PUB.add;
2769: END IF;
2770:
2771: -- Validate line attributes