163: Update qp_interface_list_lines set process_status_flag=NULL --'E'
164: Where orig_sys_line_ref = p_orig_sys_line_ref1
165: And request_id = p_request_id;
166:
167: fnd_message.set_name('QP','QP_DUPLICATE_LIST_LINES');
168: l_msg:=fnd_message.Get;
169:
170: --Insert the message into Interface error table.
171: Select qp_interface_errors_s.nextval
164: Where orig_sys_line_ref = p_orig_sys_line_ref1
165: And request_id = p_request_id;
166:
167: fnd_message.set_name('QP','QP_DUPLICATE_LIST_LINES');
168: l_msg:=fnd_message.Get;
169:
170: --Insert the message into Interface error table.
171: Select qp_interface_errors_s.nextval
172: into l_error_id
763: ELSE
764: -- Prepare the encoded message by setting it on the message
765: -- dictionary stack. Then, add it to the API message list.
766:
767: FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
768:
769: -- Derive return status.
770:
771: IF FND_FLEX_DESCVAL.value_error OR
1176: THEN
1177:
1178: p_header_rec.process_status_flag(I):=NULL; --'E';
1179:
1180: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1181: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_SYS_HEADER_ID');
1182: QP_BULK_MSG.ADD(l_msg_rec);
1183:
1184: END IF;
1177:
1178: p_header_rec.process_status_flag(I):=NULL; --'E';
1179:
1180: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1181: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_SYS_HEADER_ID');
1182: QP_BULK_MSG.ADD(l_msg_rec);
1183:
1184: END IF;
1185: END IF;
1190: THEN
1191: p_header_rec.list_type_code(I):= '1';
1192: P_header_rec.process_status_flag(I):=NULL; --'E';
1193:
1194: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1195: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_TYPE_CODE');
1196: QP_BULK_MSG.ADD(l_msg_rec);
1197:
1198: END IF;
1191: p_header_rec.list_type_code(I):= '1';
1192: P_header_rec.process_status_flag(I):=NULL; --'E';
1193:
1194: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1195: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_TYPE_CODE');
1196: QP_BULK_MSG.ADD(l_msg_rec);
1197:
1198: END IF;
1199:
1202: THEN
1203: p_header_rec.currency_code(I) := '1';
1204: P_header_rec.process_status_flag(I):=NULL; --'E';
1205:
1206: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1207: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','CURRENCY_CODE');
1208: QP_BULK_MSG.ADD(l_msg_rec);
1209: qp_bulk_loader_pub.write_log('Currency Validation failed');
1210:
1203: p_header_rec.currency_code(I) := '1';
1204: P_header_rec.process_status_flag(I):=NULL; --'E';
1205:
1206: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1207: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','CURRENCY_CODE');
1208: QP_BULK_MSG.ADD(l_msg_rec);
1209: qp_bulk_loader_pub.write_log('Currency Validation failed');
1210:
1211: END IF;
1215: THEN
1216: p_header_rec.name(I) := '1';
1217: p_header_rec.process_status_flag(I):=NULL; --'E';
1218:
1219: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1220: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','NAME');
1221: QP_BULK_MSG.ADD(l_msg_rec);
1222:
1223: END IF;
1216: p_header_rec.name(I) := '1';
1217: p_header_rec.process_status_flag(I):=NULL; --'E';
1218:
1219: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1220: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','NAME');
1221: QP_BULK_MSG.ADD(l_msg_rec);
1222:
1223: END IF;
1224:
1227: THEN
1228: p_header_rec.rounding_factor(I):= -1;
1229: P_header_rec.process_status_flag(I):=NULL;
1230:
1231: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1232: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ROUNDING_FACTOR');
1233: QP_BULK_MSG.ADD(l_msg_rec);
1234:
1235: END IF;
1228: p_header_rec.rounding_factor(I):= -1;
1229: P_header_rec.process_status_flag(I):=NULL;
1230:
1231: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1232: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ROUNDING_FACTOR');
1233: QP_BULK_MSG.ADD(l_msg_rec);
1234:
1235: END IF;
1236:
1240: THEN
1241: p_header_rec.language(I):= '1';
1242: P_header_rec.process_status_flag(I):=NULL;
1243:
1244: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1245: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LANGUAGE');
1246: QP_BULK_MSG.ADD(l_msg_rec);
1247:
1248: END IF;
1241: p_header_rec.language(I):= '1';
1242: P_header_rec.process_status_flag(I):=NULL;
1243:
1244: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1245: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LANGUAGE');
1246: QP_BULK_MSG.ADD(l_msg_rec);
1247:
1248: END IF;
1249:
1252: THEN
1253: p_header_rec.source_lang(I):= '1';
1254: p_header_rec.process_status_flag(I):=NULL;
1255:
1256: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1257: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','SOURCE_LANG');
1258: QP_BULK_MSG.ADD(l_msg_rec);
1259:
1260: END IF;
1253: p_header_rec.source_lang(I):= '1';
1254: p_header_rec.process_status_flag(I):=NULL;
1255:
1256: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1257: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','SOURCE_LANG');
1258: QP_BULK_MSG.ADD(l_msg_rec);
1259:
1260: END IF;
1261: END IF;
1265: AND p_header_rec.currency_header_id(I) IS NULL
1266: THEN
1267:
1268: p_header_rec.process_status_flag(I):=NULL;
1269: FND_MESSAGE.SET_NAME('QP','QP_MUL_CURR_REQD');
1270: QP_BULK_MSG.ADD(l_msg_rec);
1271:
1272: END IF;
1273:
1295:
1296: IF l_date_length<>10 or l_first_date_hash<>'/' or l_second_date_hash<>'/'
1297: THEN
1298: p_header_rec.process_status_flag(I):=NULL;
1299: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
1300: QP_BULK_MSG.Add(l_msg_rec);
1301: END IF;
1302:
1303: l_start_date := to_date(p_header_rec.start_date_active(I),'YYYY/MM/DD');
1303: l_start_date := to_date(p_header_rec.start_date_active(I),'YYYY/MM/DD');
1304: exception
1305: when others then
1306: p_header_rec.process_status_flag(I):=NULL;
1307: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
1308: QP_BULK_MSG.Add(l_msg_rec);
1309: end;
1310: END IF;
1311:
1325:
1326: IF l_date_length<>10 or l_first_date_hash<>'/' or l_second_date_hash<>'/'
1327: THEN
1328: p_header_rec.process_status_flag(I):=NULL;
1329: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
1330: QP_BULK_MSG.Add(l_msg_rec);
1331: END IF;
1332:
1333: l_end_date := to_date(p_header_rec.end_date_active(I),'YYYY/MM/DD');
1333: l_end_date := to_date(p_header_rec.end_date_active(I),'YYYY/MM/DD');
1334: exception
1335: when others then
1336: p_header_rec.process_status_flag(I):=NULL;
1337: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
1338: QP_BULK_MSG.Add(l_msg_rec);
1339: end;
1340: END IF;
1341: -- Bug 4904393 END RAVI (5138015,5207598,5207612,5414062)
1349: AND l_start_date IS NOT NULL
1350: THEN
1351: IF l_start_date > l_end_date THEN
1352: p_header_rec.process_status_flag(I):=NULL;
1353: FND_MESSAGE.SET_NAME('QP', 'QP_STRT_DATE_BFR_END_DATE');
1354: QP_BULK_MSG.Add(l_msg_rec);
1355: END IF;
1356: END IF;
1357: -- Bug 4929691 END RAVI (5207598,5207612)
1368: WHERE CURRENCY_CODE = P_header_rec.CURRENCY_CODE(I);
1369: EXCEPTION
1370: WHEN NO_DATA_FOUND THEN
1371: p_header_rec.process_status_flag(I):=NULL;
1372: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1373: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rounding_factor');
1374: qp_bulk_msg.add(l_msg_rec);
1375: END;
1376: END IF;
1369: EXCEPTION
1370: WHEN NO_DATA_FOUND THEN
1371: p_header_rec.process_status_flag(I):=NULL;
1372: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1373: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rounding_factor');
1374: qp_bulk_msg.add(l_msg_rec);
1375: END;
1376: END IF;
1377:
1382:
1383: IF l_price_rounding = 'PRECISION' THEN
1384: IF p_header_rec.rounding_factor(I) <> l_precision THEN
1385: p_header_rec.process_status_flag(I):=NULL;
1386: FND_MESSAGE.SET_NAME('QP', 'QP_ROUNDING_FACTOR_NO_UPDATE');
1387: qp_bulk_msg.add(l_msg_rec);
1388: END IF;
1389: END IF;
1390:
1390:
1391: IF (p_header_rec.rounding_factor(I))
1392: < nvl((l_precision), (p_header_rec.rounding_factor(I))) THEN
1393: p_header_rec.process_status_flag(I):=NULL;
1394: FND_MESSAGE.SET_NAME('QP', 'OE_PRL_INVALID_ROUNDING_FACTOR');
1395: FND_MESSAGE.SET_TOKEN('PRECISION', l_precision);
1396: qp_bulk_msg.add(l_msg_rec);
1397: END IF;
1398:
1391: IF (p_header_rec.rounding_factor(I))
1392: < nvl((l_precision), (p_header_rec.rounding_factor(I))) THEN
1393: p_header_rec.process_status_flag(I):=NULL;
1394: FND_MESSAGE.SET_NAME('QP', 'OE_PRL_INVALID_ROUNDING_FACTOR');
1395: FND_MESSAGE.SET_TOKEN('PRECISION', l_precision);
1396: qp_bulk_msg.add(l_msg_rec);
1397: END IF;
1398:
1399: ELSE
1399: ELSE
1400: IF l_price_rounding = 'PRECISION' THEN
1401: IF p_header_rec.rounding_factor(I) <> l_extended_precision THEN
1402: p_header_rec.process_status_flag(I):=NULL;
1403: FND_MESSAGE.SET_NAME('QP', 'QP_ROUNDING_FACTOR_NO_UPDATE');
1404: qp_bulk_msg.add(l_msg_rec);
1405: END IF;
1406: END IF;
1407:
1407:
1408: IF (p_header_rec.rounding_factor(I))
1409: < nvl((l_extended_precision),(p_header_rec.rounding_factor(I))) THEN
1410: p_header_rec.process_status_flag(I):=NULL;
1411: FND_MESSAGE.SET_NAME('QP', 'OE_PRL_INVALID_ROUNDING_FACTOR');
1412: FND_MESSAGE.SET_TOKEN('PRECISION', l_extended_precision);
1413: qp_bulk_msg.add(l_msg_rec);
1414: END IF;
1415: END IF;
1408: IF (p_header_rec.rounding_factor(I))
1409: < nvl((l_extended_precision),(p_header_rec.rounding_factor(I))) THEN
1410: p_header_rec.process_status_flag(I):=NULL;
1411: FND_MESSAGE.SET_NAME('QP', 'OE_PRL_INVALID_ROUNDING_FACTOR');
1412: FND_MESSAGE.SET_TOKEN('PRECISION', l_extended_precision);
1413: qp_bulk_msg.add(l_msg_rec);
1414: END IF;
1415: END IF;
1416:
1428: THEN
1429: IF p_header_rec.active_flag(I) NOT IN ('Y', 'N', 'y', 'n')
1430: THEN
1431: p_header_rec.process_status_flag(I):=NULL;
1432: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1433: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','active_flag');
1434: qp_bulk_msg.add(l_msg_rec);
1435: END IF;
1436: END IF;
1429: IF p_header_rec.active_flag(I) NOT IN ('Y', 'N', 'y', 'n')
1430: THEN
1431: p_header_rec.process_status_flag(I):=NULL;
1432: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1433: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','active_flag');
1434: qp_bulk_msg.add(l_msg_rec);
1435: END IF;
1436: END IF;
1437:
1439: THEN
1440: IF p_header_rec.automatic_flag(I) NOT IN ('Y', 'N', 'y', 'n')
1441: THEN
1442: p_header_rec.process_status_flag(I):=NULL;
1443: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1444: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic_flag');
1445: qp_bulk_msg.add(l_msg_rec);
1446: END IF;
1447: END IF;
1440: IF p_header_rec.automatic_flag(I) NOT IN ('Y', 'N', 'y', 'n')
1441: THEN
1442: p_header_rec.process_status_flag(I):=NULL;
1443: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1444: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic_flag');
1445: qp_bulk_msg.add(l_msg_rec);
1446: END IF;
1447: END IF;
1448:
1448:
1449: IF p_header_rec.global_flag(I) NOT IN ('Y', 'N', 'n')
1450: THEN
1451: p_header_rec.process_status_flag(I):=NULL;
1452: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1453: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','global_flag');
1454: qp_bulk_msg.add(l_msg_rec);
1455: END IF;
1456:
1449: IF p_header_rec.global_flag(I) NOT IN ('Y', 'N', 'n')
1450: THEN
1451: p_header_rec.process_status_flag(I):=NULL;
1452: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1453: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','global_flag');
1454: qp_bulk_msg.add(l_msg_rec);
1455: END IF;
1456:
1457: --added for MOAC
1463: --if security is OFF, global_flag cannot be 'N'
1464: IF (l_security_profile = 'N'
1465: and p_header_rec.global_flag(I) in ('N', 'n')) THEN
1466: p_header_rec.process_status_flag(I):=NULL;
1467: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1468: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','global_flag');
1469: qp_bulk_msg.add(l_msg_rec);
1470: END IF;
1471:
1464: IF (l_security_profile = 'N'
1465: and p_header_rec.global_flag(I) in ('N', 'n')) THEN
1466: p_header_rec.process_status_flag(I):=NULL;
1467: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1468: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','global_flag');
1469: qp_bulk_msg.add(l_msg_rec);
1470: END IF;
1471:
1472: IF l_security_profile = 'Y' THEN
1477: if security is ON and global_flag is 'N', orig_org_id cannot be null
1478: **/
1479: and p_header_rec.orig_org_id(I) is null) THEN
1480: p_header_rec.process_status_flag(I):=NULL;
1481: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1482: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_ORG_ID');
1483: qp_bulk_msg.add(l_msg_rec);
1484:
1485: END IF;
1478: **/
1479: and p_header_rec.orig_org_id(I) is null) THEN
1480: p_header_rec.process_status_flag(I):=NULL;
1481: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
1482: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_ORG_ID');
1483: qp_bulk_msg.add(l_msg_rec);
1484:
1485: END IF;
1486:
1488: --if orig_org_id is not null and it is not a valid org
1489: IF (p_header_rec.orig_org_id(I) is not null
1490: and QP_UTIL.validate_org_id(p_header_rec.orig_org_id(I)) = 'N') THEN
1491: p_header_rec.process_status_flag(I):=NULL;
1492: FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
1493: -- FND_MESSAGE.SET_TOKEN('ATTRIBUTE','orig_org_id');
1494: qp_bulk_msg.add(l_msg_rec);
1495: END IF;
1496: */
1489: IF (p_header_rec.orig_org_id(I) is not null
1490: and QP_UTIL.validate_org_id(p_header_rec.orig_org_id(I)) = 'N') THEN
1491: p_header_rec.process_status_flag(I):=NULL;
1492: FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
1493: -- FND_MESSAGE.SET_TOKEN('ATTRIBUTE','orig_org_id');
1494: qp_bulk_msg.add(l_msg_rec);
1495: END IF;
1496: */
1497: END IF;--IF l_security_profile = 'Y'
1499: --global_flag 'Y', org_id not null combination is invalid
1500: IF ((p_header_rec.global_flag(I) = 'Y'
1501: and p_header_rec.orig_org_id(I) is not null) OR (p_header_rec.global_flag(I) = 'N' and p_header_rec.orig_org_id(I) is null)) THEN
1502: p_header_rec.process_status_flag(I):=NULL;
1503: FND_MESSAGE.SET_NAME('QP', 'QP_GLOBAL_OU_VALIDATION');
1504: qp_bulk_msg.add(l_msg_rec);
1505: END IF;--p_header_rec.global_flag
1506: END IF;
1507: --end validations for moac
1510: THEN
1511: IF p_header_rec.mobile_download(I) NOT IN ('Y', 'N', 'y', 'n')
1512: THEN
1513: p_header_rec.process_status_flag(I):=NULL;
1514: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1515: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','mobile_download');
1516: qp_bulk_msg.add(l_msg_rec);
1517: END IF;
1518: END IF;
1511: IF p_header_rec.mobile_download(I) NOT IN ('Y', 'N', 'y', 'n')
1512: THEN
1513: p_header_rec.process_status_flag(I):=NULL;
1514: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1515: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','mobile_download');
1516: qp_bulk_msg.add(l_msg_rec);
1517: END IF;
1518: END IF;
1519:
1541: End;
1542:
1543: If l_exist = 1 THEN
1544: p_header_rec.process_status_flag(I):=NULL;
1545: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
1546: qp_bulk_msg.add(l_msg_rec);
1547: END IF;
1548:
1549: l_exist := NULL;
1557: and process_status_flag = 'P'; --is null;
1558:
1559: IF l_exist >0 THEN
1560: p_header_rec.process_status_flag(I):=NULL;
1561: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
1562: qp_bulk_msg.add(l_msg_rec);
1563: END IF;
1564: END IF;
1565:
1584: END;
1585:
1586: IF p_header_rec.interface_action_code(I) = 'INSERT' AND l_exist =1 THEN
1587: p_header_rec.process_status_flag(I):=NULL;
1588: fnd_message.set_name('QP', 'ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1589: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1590: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1591: qp_bulk_msg.add(l_msg_rec);
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1585:
1586: IF p_header_rec.interface_action_code(I) = 'INSERT' AND l_exist =1 THEN
1587: p_header_rec.process_status_flag(I):=NULL;
1588: fnd_message.set_name('QP', 'ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1589: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1590: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1591: qp_bulk_msg.add(l_msg_rec);
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1593: p_header_rec.process_status_flag(I):=NULL;
1586: IF p_header_rec.interface_action_code(I) = 'INSERT' AND l_exist =1 THEN
1587: p_header_rec.process_status_flag(I):=NULL;
1588: fnd_message.set_name('QP', 'ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1589: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1590: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1591: qp_bulk_msg.add(l_msg_rec);
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1593: p_header_rec.process_status_flag(I):=NULL;
1594: fnd_message.set_name('QP', 'HEADER_RECORD_DOES_NOT_EXIST');
1590: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1591: qp_bulk_msg.add(l_msg_rec);
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1593: p_header_rec.process_status_flag(I):=NULL;
1594: fnd_message.set_name('QP', 'HEADER_RECORD_DOES_NOT_EXIST');
1595: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1596: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1597: qp_bulk_msg.add(l_msg_rec);
1598: END IF;
1591: qp_bulk_msg.add(l_msg_rec);
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1593: p_header_rec.process_status_flag(I):=NULL;
1594: fnd_message.set_name('QP', 'HEADER_RECORD_DOES_NOT_EXIST');
1595: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1596: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1597: qp_bulk_msg.add(l_msg_rec);
1598: END IF;
1599:
1592: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_exist =0 THEN
1593: p_header_rec.process_status_flag(I):=NULL;
1594: fnd_message.set_name('QP', 'HEADER_RECORD_DOES_NOT_EXIST');
1595: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1596: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1597: qp_bulk_msg.add(l_msg_rec);
1598: END IF;
1599:
1600: --bug 6961376 start
1625:
1626: IF l_exist >1 THEN
1627: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1628: p_header_rec.process_status_flag(I):=NULL;
1629: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1630: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1631: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1632: qp_bulk_msg.add(l_msg_rec);
1633: END IF;
1626: IF l_exist >1 THEN
1627: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1628: p_header_rec.process_status_flag(I):=NULL;
1629: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1630: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1631: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1632: qp_bulk_msg.add(l_msg_rec);
1633: END IF;
1634: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_header_id_null = 'N' THEN
1627: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1628: p_header_rec.process_status_flag(I):=NULL;
1629: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1630: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1631: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1632: qp_bulk_msg.add(l_msg_rec);
1633: END IF;
1634: ELSIF p_header_rec.interface_action_code(I) = 'UPDATE' AND l_header_id_null = 'N' THEN
1635: qp_bulk_loader_pub.write_log('checking for unique orig_sys_header_ref: ' || p_header_rec.orig_sys_header_ref(I));
1661:
1662: IF l_exist >1 THEN
1663: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1664: p_header_rec.process_status_flag(I):=NULL;
1665: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1666: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1667: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1668: qp_bulk_msg.add(l_msg_rec);
1669: END IF;
1662: IF l_exist >1 THEN
1663: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1664: p_header_rec.process_status_flag(I):=NULL;
1665: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1666: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1667: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1668: qp_bulk_msg.add(l_msg_rec);
1669: END IF;
1670: END IF;
1663: qp_bulk_loader_pub.write_log('Entity Header l_exist of orig is: '||l_exist);
1664: p_header_rec.process_status_flag(I):=NULL;
1665: fnd_message.set_name('QP','ORIG_SYS_HEADER_REF_NOT_UNIQUE');
1666: FND_MESSAGE.SET_TOKEN('REF_NO', p_header_rec.orig_sys_header_ref(I));
1667: FND_MESSAGE.SET_TOKEN('LS_CODE', p_header_rec.list_source_code(I));
1668: qp_bulk_msg.add(l_msg_rec);
1669: END IF;
1670: END IF;
1671: --bug 6961376 end
1676: IF QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
1677: p_instance_type => QP_Security.G_PRICELIST_OBJECT,
1678: p_instance_pk1 => p_header_rec.list_header_id(I)) <> 'T' THEN
1679: p_header_rec.process_status_flag(I):=NULL;
1680: fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
1681: fnd_message.set_token('PRICING_OBJECT', 'Price List');
1682: qp_bulk_msg.add(l_msg_rec);
1683: END IF;
1684: END IF;
1677: p_instance_type => QP_Security.G_PRICELIST_OBJECT,
1678: p_instance_pk1 => p_header_rec.list_header_id(I)) <> 'T' THEN
1679: p_header_rec.process_status_flag(I):=NULL;
1680: fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
1681: fnd_message.set_token('PRICING_OBJECT', 'Price List');
1682: qp_bulk_msg.add(l_msg_rec);
1683: END IF;
1684: END IF;
1685:
1718:
1719: QP_BULK_MSG.ADD(l_msg_rec);
1720:
1721: -- Log Error Message
1722: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1723: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1724: 'Entity:Flexfield:Header_Desc_Flex');
1725: P_header_rec.process_status_flag(I):=NULL;
1726:
1719: QP_BULK_MSG.ADD(l_msg_rec);
1720:
1721: -- Log Error Message
1722: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
1723: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1724: 'Entity:Flexfield:Header_Desc_Flex');
1725: P_header_rec.process_status_flag(I):=NULL;
1726:
1727: QP_BULK_MSG.ADD(l_msg_rec);
1835: qp_bulk_loader_pub.write_log( 'Update pte_code : '||l_old_price_list_rec.pte_code);
1836: IF l_old_price_list_rec.source_system_code <> p_header_rec.source_system_code(I) or
1837: l_old_price_list_rec.pte_code <> p_header_rec.pte_code(I) THEN
1838: p_header_rec.process_status_flag(I):=NULL;
1839: fnd_message.set_name('QP', 'QP_NO_UPDATE_ATTRIBUTE');
1840: fnd_message.set_token('ATTRIBUTE', 'Source System Code / PTE Code');
1841: qp_bulk_msg.add(l_msg_rec);
1842: END IF;
1843: END IF;
1836: IF l_old_price_list_rec.source_system_code <> p_header_rec.source_system_code(I) or
1837: l_old_price_list_rec.pte_code <> p_header_rec.pte_code(I) THEN
1838: p_header_rec.process_status_flag(I):=NULL;
1839: fnd_message.set_name('QP', 'QP_NO_UPDATE_ATTRIBUTE');
1840: fnd_message.set_token('ATTRIBUTE', 'Source System Code / PTE Code');
1841: qp_bulk_msg.add(l_msg_rec);
1842: END IF;
1843: END IF;
1844:
1924: Exception
1925: When no_data_found then
1926: p_line_rec.list_header_id(I) := -1;
1927: p_line_rec.process_status_flag(I):=NULL;
1928: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
1929: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_header_ref(I));
1930: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
1931: qp_bulk_msg.add(l_msg_rec);
1932: End;
1925: When no_data_found then
1926: p_line_rec.list_header_id(I) := -1;
1927: p_line_rec.process_status_flag(I):=NULL;
1928: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
1929: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_header_ref(I));
1930: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
1931: qp_bulk_msg.add(l_msg_rec);
1932: End;
1933: IF p_line_rec.list_header_id(I) IS NOT NULL or
1926: p_line_rec.list_header_id(I) := -1;
1927: p_line_rec.process_status_flag(I):=NULL;
1928: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
1929: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_header_ref(I));
1930: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
1931: qp_bulk_msg.add(l_msg_rec);
1932: End;
1933: IF p_line_rec.list_header_id(I) IS NOT NULL or
1934: p_line_rec.list_header_id(I) <> 0 THEN
1948: --1.orig_sys_line_ref,
1949: IF p_line_rec.orig_sys_line_ref(I) IS NULL
1950: THEN
1951: p_line_rec.process_status_flag(I):=NULL;
1952: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1953: fnd_message.set_token('ATTRIBUTE', 'ORIG_SYS_LINE_REF');
1954: qp_bulk_msg.add(l_msg_rec);
1955: END IF;
1956:
1949: IF p_line_rec.orig_sys_line_ref(I) IS NULL
1950: THEN
1951: p_line_rec.process_status_flag(I):=NULL;
1952: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1953: fnd_message.set_token('ATTRIBUTE', 'ORIG_SYS_LINE_REF');
1954: qp_bulk_msg.add(l_msg_rec);
1955: END IF;
1956:
1957: --Bug#5359974 RAVI START
1967: IF p_line_rec.list_line_type_code(I) IS NULL
1968: THEN
1969: p_line_rec.list_line_type_code(I):= '1';
1970: p_line_rec.process_status_flag(I):=NULL;
1971: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1972: fnd_message.set_token('ATTRIBUTE', 'LIST_LINE_TYPE_CODE');
1973: qp_bulk_msg.add(l_msg_rec);
1974: END IF;
1975:
1968: THEN
1969: p_line_rec.list_line_type_code(I):= '1';
1970: p_line_rec.process_status_flag(I):=NULL;
1971: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1972: fnd_message.set_token('ATTRIBUTE', 'LIST_LINE_TYPE_CODE');
1973: qp_bulk_msg.add(l_msg_rec);
1974: END IF;
1975:
1976: IF p_line_rec.list_line_type_code(I) <>'PLL' AND p_line_rec.list_line_type_code(I)<>'PBH' THEN
1974: END IF;
1975:
1976: IF p_line_rec.list_line_type_code(I) <>'PLL' AND p_line_rec.list_line_type_code(I)<>'PBH' THEN
1977: p_line_rec.process_status_flag(I):=NULL;
1978: fnd_message.set_name('QP', 'QP_INVALID_ATTRIBUTE');
1979: fnd_message.set_token('ATTRIBUTE', 'LIST_LINE_TYPE_CODE');
1980: qp_bulk_msg.add(l_msg_rec);
1981: END IF;
1982:
1975:
1976: IF p_line_rec.list_line_type_code(I) <>'PLL' AND p_line_rec.list_line_type_code(I)<>'PBH' THEN
1977: p_line_rec.process_status_flag(I):=NULL;
1978: fnd_message.set_name('QP', 'QP_INVALID_ATTRIBUTE');
1979: fnd_message.set_token('ATTRIBUTE', 'LIST_LINE_TYPE_CODE');
1980: qp_bulk_msg.add(l_msg_rec);
1981: END IF;
1982:
1983: --3. Arithmetic Operator
1984: IF p_line_rec.arithmetic_operator(I) IS NULL
1985: THEN
1986: p_line_rec.arithmetic_operator(I):= '1';
1987: p_line_rec.process_status_flag(I):=NULL;
1988: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1989: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR1');
1990: qp_bulk_msg.add(l_msg_rec);
1991: ELSE
1992: IF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' AND
1985: THEN
1986: p_line_rec.arithmetic_operator(I):= '1';
1987: p_line_rec.process_status_flag(I):=NULL;
1988: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
1989: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR1');
1990: qp_bulk_msg.add(l_msg_rec);
1991: ELSE
1992: IF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' AND
1993: p_line_rec.list_line_type_code(I) <> 'PBH' AND
1993: p_line_rec.list_line_type_code(I) <> 'PBH' AND
1994: p_line_rec.price_break_header_ref(I) IS NULL THEN
1995: p_line_rec.arithmetic_operator(I):= '1';
1996: p_line_rec.process_status_flag(I):=NULL;
1997: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
1998: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 2');
1999: qp_bulk_msg.add(l_msg_rec);
2000: END IF;
2001: IF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
1994: p_line_rec.price_break_header_ref(I) IS NULL THEN
1995: p_line_rec.arithmetic_operator(I):= '1';
1996: p_line_rec.process_status_flag(I):=NULL;
1997: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
1998: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 2');
1999: qp_bulk_msg.add(l_msg_rec);
2000: END IF;
2001: IF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2002: IF p_line_rec.list_line_type_code(I) = 'PLL' AND
2004: NULL;
2005: ELSE
2006: p_line_rec.arithmetic_operator(I):= '1';
2007: p_line_rec.process_status_flag(I):=NULL;
2008: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2009: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 3');
2010: qp_bulk_msg.add(l_msg_rec);
2011: END IF;
2012: END IF;
2005: ELSE
2006: p_line_rec.arithmetic_operator(I):= '1';
2007: p_line_rec.process_status_flag(I):=NULL;
2008: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2009: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 3');
2010: qp_bulk_msg.add(l_msg_rec);
2011: END IF;
2012: END IF;
2013: --End arithemetic operator check
2060:
2061: if l_exist = 0 then
2062: p_line_rec.arithmetic_operator(I):= '1';
2063: p_line_rec.process_status_flag(I):=NULL;
2064: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2065: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 4');
2066: qp_bulk_msg.add(l_msg_rec);
2067: else
2068: l_servicable_item := 'Y';
2061: if l_exist = 0 then
2062: p_line_rec.arithmetic_operator(I):= '1';
2063: p_line_rec.process_status_flag(I):=NULL;
2064: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2065: fnd_message.set_token('ATTRIBUTE', 'ARITHMETIC_OPERATOR 4');
2066: qp_bulk_msg.add(l_msg_rec);
2067: else
2068: l_servicable_item := 'Y';
2069: end if;
2090: END;
2091:
2092: If p_line_rec.interface_action_code(I)='INSERT' AND l_exist >= 1 THEN
2093: p_line_rec.process_status_flag(I):=NULL;
2094: fnd_message.set_name('QP', 'ORIG_SYS_LINE_REF_NOT_UNIQUE');
2095: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2096: qp_bulk_msg.add(l_msg_rec);
2097: ELSIF p_line_rec.interface_action_code(I)='UPDATE' AND l_exist = 0 THEN
2098: p_line_rec.process_status_flag(I):=NULL;
2091:
2092: If p_line_rec.interface_action_code(I)='INSERT' AND l_exist >= 1 THEN
2093: p_line_rec.process_status_flag(I):=NULL;
2094: fnd_message.set_name('QP', 'ORIG_SYS_LINE_REF_NOT_UNIQUE');
2095: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2096: qp_bulk_msg.add(l_msg_rec);
2097: ELSIF p_line_rec.interface_action_code(I)='UPDATE' AND l_exist = 0 THEN
2098: p_line_rec.process_status_flag(I):=NULL;
2099: fnd_message.set_name('QP', 'LINE_RECORD_DOES_NOT_EXIST');
2095: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2096: qp_bulk_msg.add(l_msg_rec);
2097: ELSIF p_line_rec.interface_action_code(I)='UPDATE' AND l_exist = 0 THEN
2098: p_line_rec.process_status_flag(I):=NULL;
2099: fnd_message.set_name('QP', 'LINE_RECORD_DOES_NOT_EXIST');
2100: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2101: qp_bulk_msg.add(l_msg_rec);
2102: END IF;
2103:
2096: qp_bulk_msg.add(l_msg_rec);
2097: ELSIF p_line_rec.interface_action_code(I)='UPDATE' AND l_exist = 0 THEN
2098: p_line_rec.process_status_flag(I):=NULL;
2099: fnd_message.set_name('QP', 'LINE_RECORD_DOES_NOT_EXIST');
2100: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2101: qp_bulk_msg.add(l_msg_rec);
2102: END IF;
2103:
2104: If p_line_rec.interface_action_code(I)='INSERT' THEN
2110: and orig_sys_header_ref = p_line_rec.orig_sys_header_ref(I);
2111:
2112: IF l_exist >1 THEN
2113: p_line_rec.process_status_flag(I):=NULL;
2114: fnd_message.set_name('QP', 'ORIG_SYS_LINE_REF_NOT_UNIQUE');
2115: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2116: qp_bulk_msg.add(l_msg_rec);
2117: END IF;
2118: end if;
2111:
2112: IF l_exist >1 THEN
2113: p_line_rec.process_status_flag(I):=NULL;
2114: fnd_message.set_name('QP', 'ORIG_SYS_LINE_REF_NOT_UNIQUE');
2115: FND_MESSAGE.SET_TOKEN('REF_NO', p_line_rec.orig_sys_line_ref(I));
2116: qp_bulk_msg.add(l_msg_rec);
2117: END IF;
2118: end if;
2119:
2120: --- check for conditionally required fields --------
2121: IF p_line_rec.list_line_type_code(I) = 'PBH' then
2122: IF p_line_rec.price_break_type_code(I) IS NULL then
2123: p_line_rec.process_status_flag(I):=NULL;
2124: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
2125: fnd_message.set_token('ATTRIBUTE', 'PRICE_BREAK_TYPE_CODE');
2126: qp_bulk_msg.add(l_msg_rec);
2127: END IF;
2128: ELSE
2121: IF p_line_rec.list_line_type_code(I) = 'PBH' then
2122: IF p_line_rec.price_break_type_code(I) IS NULL then
2123: p_line_rec.process_status_flag(I):=NULL;
2124: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
2125: fnd_message.set_token('ATTRIBUTE', 'PRICE_BREAK_TYPE_CODE');
2126: qp_bulk_msg.add(l_msg_rec);
2127: END IF;
2128: ELSE
2129: IF p_line_rec.price_break_header_ref(I) IS NULL and
2128: ELSE
2129: IF p_line_rec.price_break_header_ref(I) IS NULL and
2130: p_line_rec.price_break_type_code(I) IS NOT NULL then
2131: p_line_rec.process_status_flag(I):=NULL;
2132: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2133: fnd_message.set_token('ATTRIBUTE', 'PRICE_BREAK_TYPE_CODE');
2134: qp_bulk_msg.add(l_msg_rec);
2135: END IF;
2136: END IF;
2129: IF p_line_rec.price_break_header_ref(I) IS NULL and
2130: p_line_rec.price_break_type_code(I) IS NOT NULL then
2131: p_line_rec.process_status_flag(I):=NULL;
2132: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2133: fnd_message.set_token('ATTRIBUTE', 'PRICE_BREAK_TYPE_CODE');
2134: qp_bulk_msg.add(l_msg_rec);
2135: END IF;
2136: END IF;
2137:
2137:
2138: IF p_line_rec.price_break_header_ref(I) IS NOT NULL then
2139: IF p_line_rec.rltd_modifier_grp_type(I) IS NULL then
2140: p_line_rec.process_status_flag(I):=NULL;
2141: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
2142: fnd_message.set_token('ATTRIBUTE', 'RLTD_MODIFIER_GRP_TYPE');
2143: qp_bulk_msg.add(l_msg_rec);
2144: END IF;
2145: END IF;
2138: IF p_line_rec.price_break_header_ref(I) IS NOT NULL then
2139: IF p_line_rec.rltd_modifier_grp_type(I) IS NULL then
2140: p_line_rec.process_status_flag(I):=NULL;
2141: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
2142: fnd_message.set_token('ATTRIBUTE', 'RLTD_MODIFIER_GRP_TYPE');
2143: qp_bulk_msg.add(l_msg_rec);
2144: END IF;
2145: END IF;
2146:
2159:
2160: -- if any price breaks are BLOCK
2161: IF (l_dummy > 0) THEN
2162: p_line_rec.process_status_flag(I):=NULL;
2163: FND_MESSAGE.SET_NAME('QP','QP_INVALID_CHILD_APPL_METHOD');
2164: qp_bulk_msg.add(l_msg_rec);
2165: END IF;
2166:
2167: -- Bug# 5228560 RAVI START
2179:
2180: -- if any price breaks are BLOCK in old lines
2181: IF (l_dummy > 0) THEN
2182: p_line_rec.process_status_flag(I):=NULL;
2183: FND_MESSAGE.SET_NAME('QP','QP_INVALID_CHILD_APPL_METHOD');
2184: qp_bulk_msg.add(l_msg_rec);
2185: END IF;
2186: -- Bug# 5228560 RAVI END
2187: END IF;
2207: AND (arithmetic_operator = 'UNIT_PRICE' OR recurring_value IS NOT NULL);
2208:
2209: IF (l_dummy > 0) THEN
2210: p_line_rec.process_status_flag(I):=NULL;
2211: FND_MESSAGE.SET_NAME('QP','QP_INVALID_PRICE_BREAK');
2212: qp_bulk_msg.add(l_msg_rec);
2213: END IF;
2214:
2215: END IF;
2230: END IF;
2231:
2232: IF (l_dummy > 0) THEN
2233: p_line_rec.process_status_flag(I):=NULL;
2234: FND_MESSAGE.SET_NAME('QP','QP_INVALID_PRICE_BREAK');
2235: qp_bulk_msg.add(l_msg_rec);
2236: END IF;
2237:
2238: l_dummy := null;
2249: END IF;
2250:
2251: IF (l_dummy > 0) THEN
2252: p_line_rec.process_status_flag(I):=NULL;
2253: FND_MESSAGE.SET_NAME('QP','QP_INVALID_PRICE_BREAK');
2254: qp_bulk_msg.add(l_msg_rec);
2255: END IF;
2256: END IF;
2257: -- Bug# 5228560 RAVI END
2264:
2265: IF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' and
2266: p_line_rec.recurring_value(I) is not NULL THEN
2267: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2268: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2269: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2270: QP_BULK_MSG.ADD(l_msg_rec);
2271: END IF;
2272:
2265: IF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' and
2266: p_line_rec.recurring_value(I) is not NULL THEN
2267: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2268: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2269: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2270: QP_BULK_MSG.ADD(l_msg_rec);
2271: END IF;
2272:
2273: BEGIN
2285: **/
2286: IF p_line_rec.price_break_type_code(I) IS NULL OR
2287: l_pb_type_code IS NULL THEN
2288: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2289: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2290: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2291: QP_BULK_MSG.ADD(l_msg_rec);
2292: qp_bulk_loader_pub.write_log('PRICE BREAK TYPE CODE NULL');
2293: ELSE
2286: IF p_line_rec.price_break_type_code(I) IS NULL OR
2287: l_pb_type_code IS NULL THEN
2288: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2289: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2290: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2291: QP_BULK_MSG.ADD(l_msg_rec);
2292: qp_bulk_loader_pub.write_log('PRICE BREAK TYPE CODE NULL');
2293: ELSE
2294: IF p_line_rec.price_break_type_code(I) = l_pb_type_code
2295: THEN
2296: NULL;
2297: ELSE
2298: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2299: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2300: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2301: QP_BULK_MSG.ADD(l_msg_rec);
2302: qp_bulk_loader_pub.write_log('PRICE BREAK TYPE CODE OF PARENT AND CHILD UNEQUAL');
2303: END IF;
2296: NULL;
2297: ELSE
2298: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2299: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2300: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Recurring Value');
2301: QP_BULK_MSG.ADD(l_msg_rec);
2302: qp_bulk_loader_pub.write_log('PRICE BREAK TYPE CODE OF PARENT AND CHILD UNEQUAL');
2303: END IF;
2304: END IF;
2308: IF l_art_opr <> 'UNIT_PRICE'
2309: and l_art_opr <> 'PERCENT_PRICE'
2310: THEN
2311: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2312: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2313: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2314: QP_BULK_MSG.ADD(l_msg_rec);
2315: END IF;
2316: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2309: and l_art_opr <> 'PERCENT_PRICE'
2310: THEN
2311: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2312: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2313: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2314: QP_BULK_MSG.ADD(l_msg_rec);
2315: END IF;
2316: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2317: IF l_art_opr <> 'BLOCK_PRICE' THEN
2315: END IF;
2316: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2317: IF l_art_opr <> 'BLOCK_PRICE' THEN
2318: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2319: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2320: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2321: QP_BULK_MSG.ADD(l_msg_rec);
2322: END IF;
2323: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2316: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2317: IF l_art_opr <> 'BLOCK_PRICE' THEN
2318: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2319: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2320: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2321: QP_BULK_MSG.ADD(l_msg_rec);
2322: END IF;
2323: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2324: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2322: END IF;
2323: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2324: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2325: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2326: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2327: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2328: QP_BULK_MSG.ADD(l_msg_rec);
2329: END IF;
2330: END IF;
2323: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2324: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2325: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2326: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2327: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator');
2328: QP_BULK_MSG.ADD(l_msg_rec);
2329: END IF;
2330: END IF;
2331: END IF;
2349: IF l_servicable_item='N' THEN
2350: IF p_line_rec.arithmetic_operator(I) = 'UNIT_PRICE' THEN
2351: IF l_art_opr <> 'UNIT_PRICE' THEN
2352: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2353: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2354: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC UNIT_PRICE -- PBH Wrong');
2355: QP_BULK_MSG.ADD(l_msg_rec);
2356: END IF;
2357: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2350: IF p_line_rec.arithmetic_operator(I) = 'UNIT_PRICE' THEN
2351: IF l_art_opr <> 'UNIT_PRICE' THEN
2352: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2353: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2354: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC UNIT_PRICE -- PBH Wrong');
2355: QP_BULK_MSG.ADD(l_msg_rec);
2356: END IF;
2357: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2358: IF l_art_opr <> 'BLOCK_PRICE' THEN
2356: END IF;
2357: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2358: IF l_art_opr <> 'BLOCK_PRICE' THEN
2359: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2360: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2361: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC BLOCK_PRICE -- PBH Wrong');
2362: QP_BULK_MSG.ADD(l_msg_rec);
2363: END IF;
2364: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2357: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2358: IF l_art_opr <> 'BLOCK_PRICE' THEN
2359: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2360: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2361: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC BLOCK_PRICE -- PBH Wrong');
2362: QP_BULK_MSG.ADD(l_msg_rec);
2363: END IF;
2364: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2365: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2363: END IF;
2364: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2365: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2366: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2367: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2368: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC BREAKUNIT_PRICE -- PBH Wrong');
2369: QP_BULK_MSG.ADD(l_msg_rec);
2370: END IF;
2371: END IF;
2364: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2365: IF l_art_opr <> 'BLOCK_PRICE' OR l_pb_type_code <> 'RANGE' THEN
2366: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2367: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2368: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Orderable item - PBC BREAKUNIT_PRICE -- PBH Wrong');
2369: QP_BULK_MSG.ADD(l_msg_rec);
2370: END IF;
2371: END IF;
2372: ELSIF l_servicable_item='Y' THEN
2372: ELSIF l_servicable_item='Y' THEN
2373: IF p_line_rec.arithmetic_operator(I) = 'UNIT_PRICE' THEN
2374: IF l_art_opr <> 'UNIT_PRICE' and l_art_opr <> 'PERCENT_PRICE' THEN
2375: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2376: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2377: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC UNIT_PRICE -- PBH Wrong');
2378: QP_BULK_MSG.ADD(l_msg_rec);
2379: END IF;
2380: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2373: IF p_line_rec.arithmetic_operator(I) = 'UNIT_PRICE' THEN
2374: IF l_art_opr <> 'UNIT_PRICE' and l_art_opr <> 'PERCENT_PRICE' THEN
2375: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2376: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2377: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC UNIT_PRICE -- PBH Wrong');
2378: QP_BULK_MSG.ADD(l_msg_rec);
2379: END IF;
2380: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2381: IF l_art_opr <> 'BLOCK_PRICE' THEN
2379: END IF;
2380: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2381: IF l_art_opr <> 'BLOCK_PRICE' THEN
2382: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2383: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2384: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC BLOCK_PRICE -- PBH Wrong');
2385: QP_BULK_MSG.ADD(l_msg_rec);
2386: END IF;
2387: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2380: ELSIF p_line_rec.arithmetic_operator(I) = 'BLOCK_PRICE' THEN
2381: IF l_art_opr <> 'BLOCK_PRICE' THEN
2382: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2383: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2384: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC BLOCK_PRICE -- PBH Wrong');
2385: QP_BULK_MSG.ADD(l_msg_rec);
2386: END IF;
2387: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2388: IF l_art_opr <> 'BLOCK_PRICE' THEN
2386: END IF;
2387: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2388: IF l_art_opr <> 'BLOCK_PRICE' THEN
2389: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2390: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2391: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC BREAKUNIT_PRICE -- PBH Wrong');
2392: QP_BULK_MSG.ADD(l_msg_rec);
2393: END IF;
2394: ELSIF p_line_rec.arithmetic_operator(I) = 'PERCENT_PRICE' THEN
2387: ELSIF p_line_rec.arithmetic_operator(I) = 'BREAKUNIT_PRICE' THEN
2388: IF l_art_opr <> 'BLOCK_PRICE' THEN
2389: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2390: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2391: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC BREAKUNIT_PRICE -- PBH Wrong');
2392: QP_BULK_MSG.ADD(l_msg_rec);
2393: END IF;
2394: ELSIF p_line_rec.arithmetic_operator(I) = 'PERCENT_PRICE' THEN
2395: IF l_art_opr <> 'BLOCK_PRICE' OR
2396: l_art_opr <> 'PERCENT_PRICE' OR
2397: l_art_opr <> 'UNIT_PRICE'
2398: THEN
2399: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2400: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2401: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC PERCENT_PRICE -- PBH Wrong');
2402: QP_BULK_MSG.ADD(l_msg_rec);
2403: END IF;
2404: END IF;
2397: l_art_opr <> 'UNIT_PRICE'
2398: THEN
2399: P_LINE_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
2400: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
2401: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Arithmetic Operator - Servicable item - PBC PERCENT_PRICE -- PBH Wrong');
2402: QP_BULK_MSG.ADD(l_msg_rec);
2403: END IF;
2404: END IF;
2405: END IF;
2420: and p_LINE_rec.generate_using_formula_id(I) IS NULL
2421: THEN
2422:
2423: p_line_rec.process_status_flag(I):=NULL;
2424: FND_MESSAGE.SET_NAME('QP','QP_OPERAND_FORMULA');
2425: QP_BULK_MSG.ADD(l_msg_rec);
2426:
2427: END IF;
2428:
2433: Recurring value allowed only for RANGE and BLOCK PRICE
2434: **/
2435: IF p_line_rec.recurring_value(I) is not null THEN
2436: IF p_line_rec.recurring_value(I) < 1 Then
2437: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2438: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2439: QP_BULK_MSG.ADD(l_msg_rec);
2440: ELSIF p_line_rec.arithmetic_operator(I) <> 'BLOCK_PRICE'
2441: OR l_art_opr <> 'BLOCK_PRICE'
2434: **/
2435: IF p_line_rec.recurring_value(I) is not null THEN
2436: IF p_line_rec.recurring_value(I) < 1 Then
2437: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2438: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2439: QP_BULK_MSG.ADD(l_msg_rec);
2440: ELSIF p_line_rec.arithmetic_operator(I) <> 'BLOCK_PRICE'
2441: OR l_art_opr <> 'BLOCK_PRICE'
2442: OR l_pb_type_code <> 'RANGE'
2440: ELSIF p_line_rec.arithmetic_operator(I) <> 'BLOCK_PRICE'
2441: OR l_art_opr <> 'BLOCK_PRICE'
2442: OR l_pb_type_code <> 'RANGE'
2443: THEN
2444: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2445: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2446: QP_BULK_MSG.ADD(l_msg_rec);
2447: END IF;
2448: END IF;
2441: OR l_art_opr <> 'BLOCK_PRICE'
2442: OR l_pb_type_code <> 'RANGE'
2443: THEN
2444: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2445: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2446: QP_BULK_MSG.ADD(l_msg_rec);
2447: END IF;
2448: END IF;
2449: /**
2448: END IF;
2449: /**
2450: IF p_line_rec.recurring_value(I) is not null
2451: And p_line_rec.recurring_value(I) < 1 Then
2452: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2453: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2454: QP_BULK_MSG.ADD(l_msg_rec);
2455: END IF;
2456: **/
2449: /**
2450: IF p_line_rec.recurring_value(I) is not null
2451: And p_line_rec.recurring_value(I) < 1 Then
2452: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2453: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Recurring Value');
2454: QP_BULK_MSG.ADD(l_msg_rec);
2455: END IF;
2456: **/
2457: -- Bug 4995724 END RAVI
2462: OR p_line_rec.start_date_active(I) IS NULL
2463: THEN
2464: Null;
2465: ELSIF (p_line_rec.start_date_active(I) > p_line_rec.end_date_active(I) ) THEN
2466: FND_MESSAGE.SET_NAME('QP', 'QP_STRT_DATE_BFR_END_DATE');
2467: QP_BULK_MSG.Add(l_msg_rec);
2468: --Bug# 5228368 RAVI
2469: p_line_rec.process_status_flag(I):=NULL;
2470: END IF;
2508:
2509: IF p_line_rec.start_date_active(I) < l_header_start_date OR
2510: p_line_rec.end_date_active(I) > l_header_end_date
2511: THEN
2512: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
2513: QP_BULK_MSG.Add(l_msg_rec);
2514: p_line_rec.process_status_flag(I):=NULL;
2515: END IF;
2516: -- Bug 5246745 RAVI END
2561:
2562: IF l_PBH_start_date <> p_line_rec.start_date_active(I) OR
2563: l_PBH_end_date <> p_line_rec.end_date_active(I)
2564: THEN
2565: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
2566: QP_BULK_MSG.Add(l_msg_rec);
2567: p_line_rec.process_status_flag(I):=NULL;
2568: END IF;
2569: END IF;
2595:
2596: QP_BULK_MSG.ADD(l_msg_rec);
2597:
2598: -- Log Error Message
2599: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2600: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2601: 'Entity:Flexfield:Line_Desc_Flex');
2602: p_line_rec.process_status_flag(I):=NULL;
2603:
2596: QP_BULK_MSG.ADD(l_msg_rec);
2597:
2598: -- Log Error Message
2599: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2600: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2601: 'Entity:Flexfield:Line_Desc_Flex');
2602: p_line_rec.process_status_flag(I):=NULL;
2603:
2604: QP_BULK_MSG.ADD(l_msg_rec);
2790: --------qualifier_attr_value, qualifier_attr_value_to -----------------*/
2791:
2792: IF p_qualifier_rec.qualifier_grouping_no(I) IS NULL THEN
2793: p_qualifier_rec.process_status_flag(I):=NULL;
2794: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2795: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER GROUPING NO');
2796: QP_BULK_MSG.ADD(l_msg_rec);
2797: END IF;
2798:
2791:
2792: IF p_qualifier_rec.qualifier_grouping_no(I) IS NULL THEN
2793: p_qualifier_rec.process_status_flag(I):=NULL;
2794: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2795: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER GROUPING NO');
2796: QP_BULK_MSG.ADD(l_msg_rec);
2797: END IF;
2798:
2799: IF p_qualifier_rec.list_line_id(I) IS NOT NULL THEN
2798:
2799: IF p_qualifier_rec.list_line_id(I) IS NOT NULL THEN
2800: IF p_qualifier_rec.list_line_id(I) <> -1 THEN
2801: p_qualifier_rec.process_status_flag(I):=NULL;
2802: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2803: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_LINE_ID');
2804: QP_BULK_MSG.ADD(l_msg_rec);
2805: END IF;
2806: ELSE
2799: IF p_qualifier_rec.list_line_id(I) IS NOT NULL THEN
2800: IF p_qualifier_rec.list_line_id(I) <> -1 THEN
2801: p_qualifier_rec.process_status_flag(I):=NULL;
2802: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2803: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_LINE_ID');
2804: QP_BULK_MSG.ADD(l_msg_rec);
2805: END IF;
2806: ELSE
2807: p_qualifier_rec.list_line_id(I):=-1;
2809: -- Qualifier Context
2810: /* IF p_qualifier_rec.qualifier_context(I) IS NULL THEN
2811: p_qualifier_rec.qualifier_context(I) := '1';
2812: p_qualifier_rec.process_status_flag(I):=NULL;
2813: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2814: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER CONTEXT');
2815: QP_BULK_MSG.ADD(l_msg_rec);
2816: END IF; */
2817:
2810: /* IF p_qualifier_rec.qualifier_context(I) IS NULL THEN
2811: p_qualifier_rec.qualifier_context(I) := '1';
2812: p_qualifier_rec.process_status_flag(I):=NULL;
2813: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2814: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER CONTEXT');
2815: QP_BULK_MSG.ADD(l_msg_rec);
2816: END IF; */
2817:
2818:
2822:
2823: -- IF p_qualifier_rec.qualifier_attribute_code(I) IS NULL THEN
2824: p_qualifier_rec.qualifier_attribute_code(I):= '1';
2825: p_qualifier_rec.process_status_flag(I):=NULL;
2826: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2827: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2828: QP_BULK_MSG.ADD(l_msg_rec);
2829: /* ELSE
2830:
2823: -- IF p_qualifier_rec.qualifier_attribute_code(I) IS NULL THEN
2824: p_qualifier_rec.qualifier_attribute_code(I):= '1';
2825: p_qualifier_rec.process_status_flag(I):=NULL;
2826: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2827: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2828: QP_BULK_MSG.ADD(l_msg_rec);
2829: /* ELSE
2830:
2831: BEGIN
2837:
2838: IF p_qualifier_rec.qualifier_attribute(I) IS NULL THEN
2839: p_qualifier_rec.qualifier_attribute(I):='1';
2840: p_qualifier_rec.process_status_flag(I):=NULL;
2841: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
2842: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attribute');
2843: QP_BULK_MSG.ADD(l_msg_rec);
2844: END IF;
2845: EXCEPTION
2838: IF p_qualifier_rec.qualifier_attribute(I) IS NULL THEN
2839: p_qualifier_rec.qualifier_attribute(I):='1';
2840: p_qualifier_rec.process_status_flag(I):=NULL;
2841: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
2842: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attribute');
2843: QP_BULK_MSG.ADD(l_msg_rec);
2844: END IF;
2845: EXCEPTION
2846: WHEN NO_DATA_FOUND THEN
2845: EXCEPTION
2846: WHEN NO_DATA_FOUND THEN
2847: p_qualifier_rec.qualifier_attribute(I):='1';
2848: p_qualifier_rec.process_status_flag(I):=NULL;
2849: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
2850: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attribute');
2851: QP_BULK_MSG.ADD(l_msg_rec);
2852: END;
2853: END IF; */
2846: WHEN NO_DATA_FOUND THEN
2847: p_qualifier_rec.qualifier_attribute(I):='1';
2848: p_qualifier_rec.process_status_flag(I):=NULL;
2849: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
2850: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attribute');
2851: QP_BULK_MSG.ADD(l_msg_rec);
2852: END;
2853: END IF; */
2854:
2858: THEN
2859: IF p_qualifier_rec.qualify_hier_descendents_flag(I) NOT IN ('Y', 'N', 'y', 'n')
2860: THEN
2861: p_qualifier_rec.process_status_flag(I):=NULL;
2862: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2863: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFY HIER DESCENDENTS FLAG ');
2864: qp_bulk_msg.add(l_msg_rec);
2865: ELSIF p_qualifier_rec.qualify_hier_descendents_flag(I) in ('Y','y') THEN
2866: BEGIN
2859: IF p_qualifier_rec.qualify_hier_descendents_flag(I) NOT IN ('Y', 'N', 'y', 'n')
2860: THEN
2861: p_qualifier_rec.process_status_flag(I):=NULL;
2862: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2863: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFY HIER DESCENDENTS FLAG ');
2864: qp_bulk_msg.add(l_msg_rec);
2865: ELSIF p_qualifier_rec.qualify_hier_descendents_flag(I) in ('Y','y') THEN
2866: BEGIN
2867: select 'Y' into l_hierarchy_enabled
2876: and qs.party_hierarchy_enabled_flag ='Y');
2877: p_qualifier_rec.qualify_hier_descendents_flag(I) := 'Y';
2878: EXCEPTION WHEN NO_DATA_FOUND THEN
2879: p_qualifier_rec.process_status_flag(I):=NULL;
2880: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2881: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFY HIER DESCENDENTS FLAG ');
2882: qp_bulk_msg.add(l_msg_rec);
2883: END;
2884: ELSE
2877: p_qualifier_rec.qualify_hier_descendents_flag(I) := 'Y';
2878: EXCEPTION WHEN NO_DATA_FOUND THEN
2879: p_qualifier_rec.process_status_flag(I):=NULL;
2880: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2881: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFY HIER DESCENDENTS FLAG ');
2882: qp_bulk_msg.add(l_msg_rec);
2883: END;
2884: ELSE
2885: null;
2892: IF p_qualifier_rec.start_date_active(I) is not null THEN
2893: IF p_qualifier_rec.start_date_active(I) > p_qualifier_rec.end_date_active(I) THEN
2894: qp_bulk_loader_pub.write_log('End Date is before Start Date');
2895: p_qualifier_rec.process_status_flag(I):=NULL;
2896: FND_MESSAGE.SET_NAME('QP', 'QP_STRT_DATE_BFR_END_DATE');
2897: QP_BULK_MSG.Add(l_msg_rec);
2898: END IF;
2899: ELSE
2900: qp_bulk_loader_pub.write_log('Qualifier Start Date is null');
2898: END IF;
2899: ELSE
2900: qp_bulk_loader_pub.write_log('Qualifier Start Date is null');
2901: p_qualifier_rec.process_status_flag(I):=NULL;
2902: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATE');
2903: QP_BULK_MSG.Add(l_msg_rec);
2904: END IF;
2905: END IF;
2906: -- Bug# 5214576 RAVI END
2919: select 1 into l_exist from qp_list_headers_b
2920: where list_header_id = to_number(p_qualifier_rec.qualifier_attr_value(I));
2921: exception when others then
2922: p_qualifier_rec.process_status_flag(I):=NULL;
2923: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2924: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER_ATTR_VALUE');
2925: QP_BULK_MSG.ADD(l_msg_rec);
2926: end;
2927: ELSE
2920: where list_header_id = to_number(p_qualifier_rec.qualifier_attr_value(I));
2921: exception when others then
2922: p_qualifier_rec.process_status_flag(I):=NULL;
2923: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
2924: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER_ATTR_VALUE');
2925: QP_BULK_MSG.ADD(l_msg_rec);
2926: end;
2927: ELSE
2928:
2951: );
2952:
2953: IF l_error_code IS NULL THEN
2954: p_qualifier_rec.process_status_flag(I):=NULL;
2955: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2956: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2957: QP_BULK_MSG.ADD(l_msg_rec);
2958: ELSE
2959: IF l_error_code=1 THEN
2952:
2953: IF l_error_code IS NULL THEN
2954: p_qualifier_rec.process_status_flag(I):=NULL;
2955: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
2956: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2957: QP_BULK_MSG.ADD(l_msg_rec);
2958: ELSE
2959: IF l_error_code=1 THEN
2960: qp_bulk_loader_pub.write_log('Qualifier Flexfield_name is not passed.');
2958: ELSE
2959: IF l_error_code=1 THEN
2960: qp_bulk_loader_pub.write_log('Qualifier Flexfield_name is not passed.');
2961: p_qualifier_rec.process_status_flag(I):=NULL;
2962: FND_MESSAGE.SET_NAME('QP','QP_QLF_FLXFLD_NULL');
2963: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2964: QP_BULK_MSG.ADD(l_msg_rec);
2965: ELSIF l_error_code=2 THEN
2966: qp_bulk_loader_pub.write_log('Qualifier Context is not passed');
2959: IF l_error_code=1 THEN
2960: qp_bulk_loader_pub.write_log('Qualifier Flexfield_name is not passed.');
2961: p_qualifier_rec.process_status_flag(I):=NULL;
2962: FND_MESSAGE.SET_NAME('QP','QP_QLF_FLXFLD_NULL');
2963: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2964: QP_BULK_MSG.ADD(l_msg_rec);
2965: ELSIF l_error_code=2 THEN
2966: qp_bulk_loader_pub.write_log('Qualifier Context is not passed');
2967: p_qualifier_rec.process_status_flag(I):=NULL;
2964: QP_BULK_MSG.ADD(l_msg_rec);
2965: ELSIF l_error_code=2 THEN
2966: qp_bulk_loader_pub.write_log('Qualifier Context is not passed');
2967: p_qualifier_rec.process_status_flag(I):=NULL;
2968: FND_MESSAGE.SET_NAME('QP','QP_QLF_CNTXT_NULL');
2969: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2970: QP_BULK_MSG.ADD(l_msg_rec);
2971: ELSIF l_error_code=3 THEN
2972: qp_bulk_loader_pub.write_log('Qualifier Attribute is not passed.');
2965: ELSIF l_error_code=2 THEN
2966: qp_bulk_loader_pub.write_log('Qualifier Context is not passed');
2967: p_qualifier_rec.process_status_flag(I):=NULL;
2968: FND_MESSAGE.SET_NAME('QP','QP_QLF_CNTXT_NULL');
2969: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2970: QP_BULK_MSG.ADD(l_msg_rec);
2971: ELSIF l_error_code=3 THEN
2972: qp_bulk_loader_pub.write_log('Qualifier Attribute is not passed.');
2973: p_qualifier_rec.process_status_flag(I):=NULL;
2970: QP_BULK_MSG.ADD(l_msg_rec);
2971: ELSIF l_error_code=3 THEN
2972: qp_bulk_loader_pub.write_log('Qualifier Attribute is not passed.');
2973: p_qualifier_rec.process_status_flag(I):=NULL;
2974: FND_MESSAGE.SET_NAME('QP','QP_QLF_ATTR_NULL');
2975: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2976: QP_BULK_MSG.ADD(l_msg_rec);
2977: ELSIF l_error_code=4 THEN
2978: qp_bulk_loader_pub.write_log('Qualifier Value is not passed');
2971: ELSIF l_error_code=3 THEN
2972: qp_bulk_loader_pub.write_log('Qualifier Attribute is not passed.');
2973: p_qualifier_rec.process_status_flag(I):=NULL;
2974: FND_MESSAGE.SET_NAME('QP','QP_QLF_ATTR_NULL');
2975: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2976: QP_BULK_MSG.ADD(l_msg_rec);
2977: ELSIF l_error_code=4 THEN
2978: qp_bulk_loader_pub.write_log('Qualifier Value is not passed');
2979: p_qualifier_rec.process_status_flag(I):=NULL;
2976: QP_BULK_MSG.ADD(l_msg_rec);
2977: ELSIF l_error_code=4 THEN
2978: qp_bulk_loader_pub.write_log('Qualifier Value is not passed');
2979: p_qualifier_rec.process_status_flag(I):=NULL;
2980: FND_MESSAGE.SET_NAME('QP','QP_QLF_ATTR_VAL_NULL');
2981: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2982: QP_BULK_MSG.ADD(l_msg_rec);
2983: ELSIF l_error_code=5 THEN
2984: qp_bulk_loader_pub.write_log('Qualifier Application short name is not passed');
2977: ELSIF l_error_code=4 THEN
2978: qp_bulk_loader_pub.write_log('Qualifier Value is not passed');
2979: p_qualifier_rec.process_status_flag(I):=NULL;
2980: FND_MESSAGE.SET_NAME('QP','QP_QLF_ATTR_VAL_NULL');
2981: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2982: QP_BULK_MSG.ADD(l_msg_rec);
2983: ELSIF l_error_code=5 THEN
2984: qp_bulk_loader_pub.write_log('Qualifier Application short name is not passed');
2985: p_qualifier_rec.process_status_flag(I):=NULL;
2982: QP_BULK_MSG.ADD(l_msg_rec);
2983: ELSIF l_error_code=5 THEN
2984: qp_bulk_loader_pub.write_log('Qualifier Application short name is not passed');
2985: p_qualifier_rec.process_status_flag(I):=NULL;
2986: FND_MESSAGE.SET_NAME('QP','QP_QLF_APP_NAME_NULL');
2987: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2988: QP_BULK_MSG.ADD(l_msg_rec);
2989: ELSIF l_error_code=6 THEN
2990: qp_bulk_loader_pub.write_log('Qualifier Invalid application short name.');
2983: ELSIF l_error_code=5 THEN
2984: qp_bulk_loader_pub.write_log('Qualifier Application short name is not passed');
2985: p_qualifier_rec.process_status_flag(I):=NULL;
2986: FND_MESSAGE.SET_NAME('QP','QP_QLF_APP_NAME_NULL');
2987: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2988: QP_BULK_MSG.ADD(l_msg_rec);
2989: ELSIF l_error_code=6 THEN
2990: qp_bulk_loader_pub.write_log('Qualifier Invalid application short name.');
2991: p_qualifier_rec.process_status_flag(I):=NULL;
2988: QP_BULK_MSG.ADD(l_msg_rec);
2989: ELSIF l_error_code=6 THEN
2990: qp_bulk_loader_pub.write_log('Qualifier Invalid application short name.');
2991: p_qualifier_rec.process_status_flag(I):=NULL;
2992: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_APP_NAME');
2993: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2994: QP_BULK_MSG.ADD(l_msg_rec);
2995: ELSIF l_error_code=7 THEN
2996: qp_bulk_loader_pub.write_log('Qualifier Invalid context passed');
2989: ELSIF l_error_code=6 THEN
2990: qp_bulk_loader_pub.write_log('Qualifier Invalid application short name.');
2991: p_qualifier_rec.process_status_flag(I):=NULL;
2992: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_APP_NAME');
2993: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
2994: QP_BULK_MSG.ADD(l_msg_rec);
2995: ELSIF l_error_code=7 THEN
2996: qp_bulk_loader_pub.write_log('Qualifier Invalid context passed');
2997: p_qualifier_rec.process_status_flag(I):=NULL;
2994: QP_BULK_MSG.ADD(l_msg_rec);
2995: ELSIF l_error_code=7 THEN
2996: qp_bulk_loader_pub.write_log('Qualifier Invalid context passed');
2997: p_qualifier_rec.process_status_flag(I):=NULL;
2998: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_CNTXT');
2999: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3000: QP_BULK_MSG.ADD(l_msg_rec);
3001: ELSIF l_error_code=8 THEN
3002: qp_bulk_loader_pub.write_log('Qualifier Invalid Attribute passed');
2995: ELSIF l_error_code=7 THEN
2996: qp_bulk_loader_pub.write_log('Qualifier Invalid context passed');
2997: p_qualifier_rec.process_status_flag(I):=NULL;
2998: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_CNTXT');
2999: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3000: QP_BULK_MSG.ADD(l_msg_rec);
3001: ELSIF l_error_code=8 THEN
3002: qp_bulk_loader_pub.write_log('Qualifier Invalid Attribute passed');
3003: p_qualifier_rec.process_status_flag(I):=NULL;
3000: QP_BULK_MSG.ADD(l_msg_rec);
3001: ELSIF l_error_code=8 THEN
3002: qp_bulk_loader_pub.write_log('Qualifier Invalid Attribute passed');
3003: p_qualifier_rec.process_status_flag(I):=NULL;
3004: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_ATTRIB');
3005: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3006: QP_BULK_MSG.ADD(l_msg_rec);
3007: ELSIF l_error_code=9 THEN
3008: qp_bulk_loader_pub.write_log('Qualifier Value does not exist');
3001: ELSIF l_error_code=8 THEN
3002: qp_bulk_loader_pub.write_log('Qualifier Invalid Attribute passed');
3003: p_qualifier_rec.process_status_flag(I):=NULL;
3004: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_ATTRIB');
3005: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3006: QP_BULK_MSG.ADD(l_msg_rec);
3007: ELSIF l_error_code=9 THEN
3008: qp_bulk_loader_pub.write_log('Qualifier Value does not exist');
3009: p_qualifier_rec.process_status_flag(I):=NULL;
3006: QP_BULK_MSG.ADD(l_msg_rec);
3007: ELSIF l_error_code=9 THEN
3008: qp_bulk_loader_pub.write_log('Qualifier Value does not exist');
3009: p_qualifier_rec.process_status_flag(I):=NULL;
3010: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_ATTR_VAL');
3011: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3012: QP_BULK_MSG.ADD(l_msg_rec);
3013: ELSIF l_error_code=10 THEN
3014: qp_bulk_loader_pub.write_log('Qualifier Invalid Flexfield Name');
3007: ELSIF l_error_code=9 THEN
3008: qp_bulk_loader_pub.write_log('Qualifier Value does not exist');
3009: p_qualifier_rec.process_status_flag(I):=NULL;
3010: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_ATTR_VAL');
3011: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3012: QP_BULK_MSG.ADD(l_msg_rec);
3013: ELSIF l_error_code=10 THEN
3014: qp_bulk_loader_pub.write_log('Qualifier Invalid Flexfield Name');
3015: p_qualifier_rec.process_status_flag(I):=NULL;
3012: QP_BULK_MSG.ADD(l_msg_rec);
3013: ELSIF l_error_code=10 THEN
3014: qp_bulk_loader_pub.write_log('Qualifier Invalid Flexfield Name');
3015: p_qualifier_rec.process_status_flag(I):=NULL;
3016: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_FLXFLD_NAME');
3017: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3018: QP_BULK_MSG.ADD(l_msg_rec);
3019: END IF;
3020: END IF;
3013: ELSIF l_error_code=10 THEN
3014: qp_bulk_loader_pub.write_log('Qualifier Invalid Flexfield Name');
3015: p_qualifier_rec.process_status_flag(I):=NULL;
3016: FND_MESSAGE.SET_NAME('QP','QP_QLF_INVALID_FLXFLD_NAME');
3017: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE CODE');
3018: QP_BULK_MSG.ADD(l_msg_rec);
3019: END IF;
3020: END IF;
3021: END IF;
3028: p_qualifier_rec.qualifier_attr_value_to(I) IS NULL THEN
3029:
3030: IF p_qualifier_rec.qualifier_attr_value_to_code(I) IS NULL THEN
3031: p_qualifier_rec.process_status_flag(I):=NULL;
3032: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3033: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE VALUE TO');
3034: QP_BULK_MSG.ADD(l_msg_rec);
3035: ELSE
3036:
3029:
3030: IF p_qualifier_rec.qualifier_attr_value_to_code(I) IS NULL THEN
3031: p_qualifier_rec.process_status_flag(I):=NULL;
3032: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3033: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE VALUE TO');
3034: QP_BULK_MSG.ADD(l_msg_rec);
3035: ELSE
3036:
3037: BEGIN
3056: END IF;
3057:
3058: IF p_qualifier_rec.qualifier_attr_value_to(I) IS NULL THEN
3059: p_qualifier_rec.process_status_flag(I):=NULL;
3060: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
3061: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value_to');
3062: QP_BULK_MSG.add(l_msg_rec);
3063: END IF;
3064:
3057:
3058: IF p_qualifier_rec.qualifier_attr_value_to(I) IS NULL THEN
3059: p_qualifier_rec.process_status_flag(I):=NULL;
3060: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
3061: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value_to');
3062: QP_BULK_MSG.add(l_msg_rec);
3063: END IF;
3064:
3065: EXCEPTION
3064:
3065: EXCEPTION
3066: WHEN NO_DATA_FOUND THEN
3067: p_qualifier_rec.process_status_flag(I):=NULL;
3068: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
3069: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value_to');
3070: QP_BULK_MSG.ADD(l_msg_rec);
3071:
3072: END;
3065: EXCEPTION
3066: WHEN NO_DATA_FOUND THEN
3067: p_qualifier_rec.process_status_flag(I):=NULL;
3068: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR');
3069: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qualifier_attr_value_to');
3070: QP_BULK_MSG.ADD(l_msg_rec);
3071:
3072: END;
3073: END IF;
3079: orig_sys_qualifier_ref.
3080: -------------------------------------------------------------*/
3081: IF p_qualifier_rec.orig_sys_qualifier_ref(I) IS NULL THEN
3082: p_qualifier_rec.process_status_flag(I):=NULL;
3083: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3084: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_SYS_QUALIFIER_REF');
3085: QP_BULK_MSG.ADD(l_msg_rec);
3086: END IF;
3087: l_exist:=null;
3080: -------------------------------------------------------------*/
3081: IF p_qualifier_rec.orig_sys_qualifier_ref(I) IS NULL THEN
3082: p_qualifier_rec.process_status_flag(I):=NULL;
3083: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3084: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG_SYS_QUALIFIER_REF');
3085: QP_BULK_MSG.ADD(l_msg_rec);
3086: END IF;
3087: l_exist:=null;
3088: -- Check for uniqueness of orig_sys_qualifier_ref
3097: END;
3098:
3099: IF p_qualifier_rec.interface_action_code(I) = 'INSERT' AND l_exist = 1 THEN
3100: p_qualifier_rec.process_status_flag(I):=NULL;
3101: FND_MESSAGE.SET_NAME('QP', 'ORIG_SYS_QUAL_REF_NOT_UNIQUE');
3102: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3103: QP_BULK_MSG.add(l_msg_rec);
3104: ELSIF p_qualifier_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3105: p_qualifier_rec.process_status_flag(I):=NULL;
3098:
3099: IF p_qualifier_rec.interface_action_code(I) = 'INSERT' AND l_exist = 1 THEN
3100: p_qualifier_rec.process_status_flag(I):=NULL;
3101: FND_MESSAGE.SET_NAME('QP', 'ORIG_SYS_QUAL_REF_NOT_UNIQUE');
3102: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3103: QP_BULK_MSG.add(l_msg_rec);
3104: ELSIF p_qualifier_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3105: p_qualifier_rec.process_status_flag(I):=NULL;
3106: FND_MESSAGE.SET_NAME('QP', 'QUALIFIER_REC_DOES_NOT_EXIST');
3102: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3103: QP_BULK_MSG.add(l_msg_rec);
3104: ELSIF p_qualifier_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3105: p_qualifier_rec.process_status_flag(I):=NULL;
3106: FND_MESSAGE.SET_NAME('QP', 'QUALIFIER_REC_DOES_NOT_EXIST');
3107: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3108: QP_BULK_MSG.add(l_msg_rec);
3109: END IF;
3110: If p_qualifier_rec.interface_action_code(I)='INSERT' THEN
3103: QP_BULK_MSG.add(l_msg_rec);
3104: ELSIF p_qualifier_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3105: p_qualifier_rec.process_status_flag(I):=NULL;
3106: FND_MESSAGE.SET_NAME('QP', 'QUALIFIER_REC_DOES_NOT_EXIST');
3107: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3108: QP_BULK_MSG.add(l_msg_rec);
3109: END IF;
3110: If p_qualifier_rec.interface_action_code(I)='INSERT' THEN
3111: l_exist:=null;
3117: and orig_sys_header_ref = p_qualifier_rec.orig_sys_header_ref(I);
3118:
3119: IF l_exist >1 THEN
3120: p_qualifier_rec.process_status_flag(I):=NULL;
3121: FND_MESSAGE.SET_NAME('QP', 'ORIG_SYS_QUAL_REF_NOT_UNIQUE');
3122: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3123: QP_BULK_MSG.add(l_msg_rec);
3124: END IF;
3125: end if;
3118:
3119: IF l_exist >1 THEN
3120: p_qualifier_rec.process_status_flag(I):=NULL;
3121: FND_MESSAGE.SET_NAME('QP', 'ORIG_SYS_QUAL_REF_NOT_UNIQUE');
3122: FND_MESSAGE.SET_TOKEN('REF_NO', p_qualifier_rec.orig_sys_qualifier_ref(I));
3123: QP_BULK_MSG.add(l_msg_rec);
3124: END IF;
3125: end if;
3126:
3132: Exception
3133: When NO_DATA_FOUND then
3134: p_qualifier_rec.process_status_flag(I):=NULL;
3135: p_qualifier_rec.list_header_id(I) := -1;
3136: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
3137: FND_MESSAGE.SET_TOKEN('REF_NO',NULL);
3138: qp_bulk_msg.add(l_msg_rec);
3139: End;
3140:
3133: When NO_DATA_FOUND then
3134: p_qualifier_rec.process_status_flag(I):=NULL;
3135: p_qualifier_rec.list_header_id(I) := -1;
3136: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
3137: FND_MESSAGE.SET_TOKEN('REF_NO',NULL);
3138: qp_bulk_msg.add(l_msg_rec);
3139: End;
3140:
3141: --SECONDARY PRICELIST CHECK
3157: EXCEPTION
3158: WHEN NO_DATA_FOUND THEN
3159: qp_bulk_loader_pub.write_log( 'Secondary Price List Currency not compatible with primary price list currency code');
3160: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3161: FND_MESSAGE.SET_NAME('QP', 'QP_SEC_PRL_CCD_INVALID');
3162: --FND_MESSAGE.SET_TOKEN('PRICELIST_NAME', p_qualifier_rec.qualifier_attr_value(I));
3163: QP_BULK_MSG.ADD(l_msg_rec);
3164: END;
3165: -- Bug 4926775 END RAVI
3158: WHEN NO_DATA_FOUND THEN
3159: qp_bulk_loader_pub.write_log( 'Secondary Price List Currency not compatible with primary price list currency code');
3160: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3161: FND_MESSAGE.SET_NAME('QP', 'QP_SEC_PRL_CCD_INVALID');
3162: --FND_MESSAGE.SET_TOKEN('PRICELIST_NAME', p_qualifier_rec.qualifier_attr_value(I));
3163: QP_BULK_MSG.ADD(l_msg_rec);
3164: END;
3165: -- Bug 4926775 END RAVI
3166:
3174: AND LANGUAGE = userenv('LANG');
3175: EXCEPTION
3176: WHEN NO_DATA_FOUND THEN
3177: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3178: FND_MESSAGE.SET_NAME('QP', 'SEC_PRL_ERROR');
3179: FND_MESSAGE.SET_TOKEN('PRICELIST_NAME', p_qualifier_rec.qualifier_attr_value_code(I));
3180: QP_BULK_MSG.ADD(l_msg_rec);
3181: END;
3182: END IF;
3175: EXCEPTION
3176: WHEN NO_DATA_FOUND THEN
3177: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3178: FND_MESSAGE.SET_NAME('QP', 'SEC_PRL_ERROR');
3179: FND_MESSAGE.SET_TOKEN('PRICELIST_NAME', p_qualifier_rec.qualifier_attr_value_code(I));
3180: QP_BULK_MSG.ADD(l_msg_rec);
3181: END;
3182: END IF;
3183: IF p_qualifier_rec.qualifier_attr_value(I) IS NOT NULL THEN
3214: end;
3215: end if;
3216: if l_exist <> 0 then
3217: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3218: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
3219: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Price List');
3220: QP_BULK_MSG.ADD(l_msg_rec);
3221: end if;
3222: qp_bulk_loader_pub.write_log( 'Secondary Price List security check');
3215: end if;
3216: if l_exist <> 0 then
3217: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3218: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
3219: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Price List');
3220: QP_BULK_MSG.ADD(l_msg_rec);
3221: end if;
3222: qp_bulk_loader_pub.write_log( 'Secondary Price List security check');
3223: IF QP_security.check_function(p_function_name => QP_Security.G_FUNCTION_UPDATE,
3223: IF QP_security.check_function(p_function_name => QP_Security.G_FUNCTION_UPDATE,
3224: p_instance_type => QP_Security.G_PRICELIST_OBJECT,
3225: p_instance_pk1 => to_number(p_qualifier_rec.qualifier_attr_value(I))) <> 'T' THEN
3226: p_qualifier_rec.process_status_flag(I):=NULL;
3227: fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
3228: fnd_message.set_token('PRICING_OBJECT', 'Price List');
3229: qp_bulk_msg.add(l_msg_rec);
3230: END IF;
3231: END IF;
3224: p_instance_type => QP_Security.G_PRICELIST_OBJECT,
3225: p_instance_pk1 => to_number(p_qualifier_rec.qualifier_attr_value(I))) <> 'T' THEN
3226: p_qualifier_rec.process_status_flag(I):=NULL;
3227: fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
3228: fnd_message.set_token('PRICING_OBJECT', 'Price List');
3229: qp_bulk_msg.add(l_msg_rec);
3230: END IF;
3231: END IF;
3232: END IF;
3246: qp_bulk_loader_pub.write_log( 'l_exist='||l_exist);
3247:
3248: IF l_exist > 0 THEN
3249: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3250: FND_MESSAGE.SET_NAME('QP','QP_1_SEC_PLST_FOR_BASIC');
3251: --Only one secondary pricelist allowed in Basic Pricing
3252: QP_BULK_MSG.ADD(l_msg_rec);
3253: END IF;
3254: l_exist:=0;
3261: AND (QUALIFIER_ATTR_VALUE = p_qualifier_rec.qualifier_attr_value(I)
3262: OR QUALIFIER_ATTR_VALUE_CODE = p_qualifier_rec.qualifier_attr_value_code(I));
3263: IF l_exist > 1 THEN
3264: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3265: FND_MESSAGE.SET_NAME('QP','QP_1_SEC_PLST_FOR_BASIC');
3266: --Only one secondary pricelist allowed in Basic Pricing
3267: QP_BULK_MSG.ADD(l_msg_rec);
3268: END IF;
3269: END IF;
3282: AND f.pte_code = 'ORDFUL';
3283:
3284: IF l_seg_level = 'ORDER' THEN
3285: P_QUALIFIER_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
3286: FND_MESSAGE.SET_NAME('QP', 'QP_ORDER_LEVEL_QUAL_NOT_ALLOWED');
3287: QP_BULK_MSG.ADD(l_msg_rec);
3288: END IF;
3289:
3290: EXCEPTION
3341: IF l_sourcing_method = 'ATTRIBUTE MAPPING' THEN
3342:
3343: IF l_sourcing_enabled <> 'Y' THEN
3344:
3345: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
3346: FND_MESSAGE.SET_TOKEN('CONTEXT',
3347: p_Qualifier_rec.qualifier_context(I));
3348: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3349: p_Qualifier_rec.qualifier_attribute(I));
3342:
3343: IF l_sourcing_enabled <> 'Y' THEN
3344:
3345: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
3346: FND_MESSAGE.SET_TOKEN('CONTEXT',
3347: p_Qualifier_rec.qualifier_context(I));
3348: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3349: p_Qualifier_rec.qualifier_attribute(I));
3350: QP_BULK_MSG.ADD(l_msg_rec);
3344:
3345: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
3346: FND_MESSAGE.SET_TOKEN('CONTEXT',
3347: p_Qualifier_rec.qualifier_context(I));
3348: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3349: p_Qualifier_rec.qualifier_attribute(I));
3350: QP_BULK_MSG.ADD(l_msg_rec);
3351:
3352: END IF;
3356: IF NOT (
3357: p_qualifier_rec.qualifier_context(I)= 'MODLIST' AND
3358: p_qualifier_rec.qualifier_attribute(I) = 'QUALIFIER_ATTRIBUTE10')
3359: THEN
3360: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
3361: FND_MESSAGE.SET_TOKEN('CONTEXT',
3362: p_Qualifier_rec.qualifier_context(I));
3363: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3364: p_Qualifier_rec.qualifier_attribute(I));
3357: p_qualifier_rec.qualifier_context(I)= 'MODLIST' AND
3358: p_qualifier_rec.qualifier_attribute(I) = 'QUALIFIER_ATTRIBUTE10')
3359: THEN
3360: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
3361: FND_MESSAGE.SET_TOKEN('CONTEXT',
3362: p_Qualifier_rec.qualifier_context(I));
3363: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3364: p_Qualifier_rec.qualifier_attribute(I));
3365: QP_BULK_MSG.ADD(l_msg_rec);
3359: THEN
3360: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
3361: FND_MESSAGE.SET_TOKEN('CONTEXT',
3362: p_Qualifier_rec.qualifier_context(I));
3363: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3364: p_Qualifier_rec.qualifier_attribute(I));
3365: QP_BULK_MSG.ADD(l_msg_rec);
3366: END IF;
3367:
3745: EXCEPTION
3746: WHEN NO_DATA_FOUND THEN
3747: p_pricing_attr_rec.list_line_id(I) := -1;
3748: p_pricing_attr_rec.process_status_flag(I):=NULL;
3749: fnd_message.set_name('QP', 'QP_INVALID_LINE_REF');
3750: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_line_ref(I));
3751: qp_bulk_msg.add(l_msg_rec);
3752: END;
3753: qp_bulk_loader_pub.write_log('After entity list_line_id pricing attribute');
3746: WHEN NO_DATA_FOUND THEN
3747: p_pricing_attr_rec.list_line_id(I) := -1;
3748: p_pricing_attr_rec.process_status_flag(I):=NULL;
3749: fnd_message.set_name('QP', 'QP_INVALID_LINE_REF');
3750: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_line_ref(I));
3751: qp_bulk_msg.add(l_msg_rec);
3752: END;
3753: qp_bulk_loader_pub.write_log('After entity list_line_id pricing attribute');
3754:
3794: End;
3795: END IF;
3796: if l_pa_count=0 then
3797: p_pricing_attr_rec.process_status_flag(I):=NULL;
3798: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
3799: fnd_message.set_token('ATTRIBUTE', 'PRODUCT_ATTRIBUTE_VALUE');
3800: qp_bulk_msg.add(l_msg_rec);
3801: end if;
3802: END IF;
3795: END IF;
3796: if l_pa_count=0 then
3797: p_pricing_attr_rec.process_status_flag(I):=NULL;
3798: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_ATTRIBUTE');
3799: fnd_message.set_token('ATTRIBUTE', 'PRODUCT_ATTRIBUTE_VALUE');
3800: qp_bulk_msg.add(l_msg_rec);
3801: end if;
3802: END IF;
3803: -- Bug# 5246745 RAVI END
3812: EXCEPTION
3813: WHEN NO_DATA_FOUND THEN
3814: p_pricing_attr_rec.list_header_id(I) := -1;
3815: p_pricing_attr_rec.process_status_flag(I):=NULL;
3816: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
3817: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_header_ref(I));
3818: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
3819: qp_bulk_msg.add(l_msg_rec);
3820: END;
3813: WHEN NO_DATA_FOUND THEN
3814: p_pricing_attr_rec.list_header_id(I) := -1;
3815: p_pricing_attr_rec.process_status_flag(I):=NULL;
3816: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
3817: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_header_ref(I));
3818: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
3819: qp_bulk_msg.add(l_msg_rec);
3820: END;
3821:
3814: p_pricing_attr_rec.list_header_id(I) := -1;
3815: p_pricing_attr_rec.process_status_flag(I):=NULL;
3816: fnd_message.set_name('QP', 'QP_INVALID_HEADER_REF');
3817: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_header_ref(I));
3818: FND_MESSAGE.SET_TOKEN('LS_CODE', NULL);
3819: qp_bulk_msg.add(l_msg_rec);
3820: END;
3821:
3822: -- Excluder Flag
3847: END;
3848:
3849: IF p_pricing_attr_rec.interface_action_code(I) = 'INSERT' AND l_exist = 1 THEN
3850: p_pricing_attr_rec.process_status_flag(I):=NULL;
3851: fnd_message.set_name('QP', 'ORIG_SYS_PRC_ATTR_REF_NOT_UNIQ');
3852: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3853: qp_bulk_msg.add(l_msg_rec);
3854: ELSIF p_pricing_attr_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3855: p_pricing_attr_rec.process_status_flag(I):=NULL;
3848:
3849: IF p_pricing_attr_rec.interface_action_code(I) = 'INSERT' AND l_exist = 1 THEN
3850: p_pricing_attr_rec.process_status_flag(I):=NULL;
3851: fnd_message.set_name('QP', 'ORIG_SYS_PRC_ATTR_REF_NOT_UNIQ');
3852: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3853: qp_bulk_msg.add(l_msg_rec);
3854: ELSIF p_pricing_attr_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3855: p_pricing_attr_rec.process_status_flag(I):=NULL;
3856: fnd_message.set_name('QP', 'PRC_ATTR_REC_DOES_NOT_EXIST');
3852: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3853: qp_bulk_msg.add(l_msg_rec);
3854: ELSIF p_pricing_attr_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3855: p_pricing_attr_rec.process_status_flag(I):=NULL;
3856: fnd_message.set_name('QP', 'PRC_ATTR_REC_DOES_NOT_EXIST');
3857: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3858: qp_bulk_msg.add(l_msg_rec);
3859: END IF;
3860:
3853: qp_bulk_msg.add(l_msg_rec);
3854: ELSIF p_pricing_attr_rec.interface_action_code(I) = 'UPDATE' AND l_exist = 0 THEN
3855: p_pricing_attr_rec.process_status_flag(I):=NULL;
3856: fnd_message.set_name('QP', 'PRC_ATTR_REC_DOES_NOT_EXIST');
3857: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3858: qp_bulk_msg.add(l_msg_rec);
3859: END IF;
3860:
3861: IF p_pricing_attr_rec.interface_action_code(I) = 'INSERT' THEN
3874: END;
3875:
3876: IF l_exist > 1 THEN
3877: p_pricing_attr_rec.process_status_flag(I):=NULL;
3878: fnd_message.set_name('QP', 'ORIG_SYS_PRC_ATTR_REF_NOT_UNIQ');
3879: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3880: qp_bulk_msg.add(l_msg_rec);
3881: END IF;
3882: END IF;
3875:
3876: IF l_exist > 1 THEN
3877: p_pricing_attr_rec.process_status_flag(I):=NULL;
3878: fnd_message.set_name('QP', 'ORIG_SYS_PRC_ATTR_REF_NOT_UNIQ');
3879: FND_MESSAGE.SET_TOKEN('REF_NO', p_pricing_attr_rec.orig_sys_pricing_attr_ref(I));
3880: qp_bulk_msg.add(l_msg_rec);
3881: END IF;
3882: END IF;
3883:
3903: IF NOT l_fna_valid THEN
3904:
3905: P_PRICING_ATTR_REC.process_status_flag(I):=NULL;
3906:
3907: FND_MESSAGE.set_name('QP', 'QP_INVALID_CAT_FUNC_PTE');
3908: FND_MESSAGE.set_token('CATID', p_PRICING_ATTR_REC.product_attr_value(I));
3909: FND_MESSAGE.set_token('PTE', l_pte_code);
3910: FND_MESSAGE.set_token('SS', l_ss_code);
3911: QP_BULK_MSG.Add(L_MSG_REC);
3904:
3905: P_PRICING_ATTR_REC.process_status_flag(I):=NULL;
3906:
3907: FND_MESSAGE.set_name('QP', 'QP_INVALID_CAT_FUNC_PTE');
3908: FND_MESSAGE.set_token('CATID', p_PRICING_ATTR_REC.product_attr_value(I));
3909: FND_MESSAGE.set_token('PTE', l_pte_code);
3910: FND_MESSAGE.set_token('SS', l_ss_code);
3911: QP_BULK_MSG.Add(L_MSG_REC);
3912:
3905: P_PRICING_ATTR_REC.process_status_flag(I):=NULL;
3906:
3907: FND_MESSAGE.set_name('QP', 'QP_INVALID_CAT_FUNC_PTE');
3908: FND_MESSAGE.set_token('CATID', p_PRICING_ATTR_REC.product_attr_value(I));
3909: FND_MESSAGE.set_token('PTE', l_pte_code);
3910: FND_MESSAGE.set_token('SS', l_ss_code);
3911: QP_BULK_MSG.Add(L_MSG_REC);
3912:
3913: END IF;
3906:
3907: FND_MESSAGE.set_name('QP', 'QP_INVALID_CAT_FUNC_PTE');
3908: FND_MESSAGE.set_token('CATID', p_PRICING_ATTR_REC.product_attr_value(I));
3909: FND_MESSAGE.set_token('PTE', l_pte_code);
3910: FND_MESSAGE.set_token('SS', l_ss_code);
3911: QP_BULK_MSG.Add(L_MSG_REC);
3912:
3913: END IF;
3914:
3925: IF l_datatype IS NOT NULL THEN
3926: p_pricing_attr_rec.product_attribute_datatype(I):=l_datatype;
3927: ELSE
3928: p_pricing_attr_rec.process_status_flag(I):=NULL;
3929: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
3930: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute Datatype');
3931: qp_bulk_msg.add(l_msg_rec);
3932: END IF;
3933:
3926: p_pricing_attr_rec.product_attribute_datatype(I):=l_datatype;
3927: ELSE
3928: p_pricing_attr_rec.process_status_flag(I):=NULL;
3929: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
3930: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute Datatype');
3931: qp_bulk_msg.add(l_msg_rec);
3932: END IF;
3933:
3934: qp_bulk_loader_pub.write_log('After entity pricing attribute');
3936: -- product uom code
3937:
3938: IF P_PRICING_ATTR_REC.PRODUCT_UOM_CODE(I) IS NULL THEN
3939: P_PRICING_ATTR_REC.process_status_flag(I):=NULL;
3940: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3941: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',QP_PRC_UTIL.Get_Attribute_Name('PRODUCT_UOM_CODE'));
3942: QP_BULK_MSG.ADD(L_MSG_REC);
3943: END IF;
3944:
3937:
3938: IF P_PRICING_ATTR_REC.PRODUCT_UOM_CODE(I) IS NULL THEN
3939: P_PRICING_ATTR_REC.process_status_flag(I):=NULL;
3940: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
3941: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',QP_PRC_UTIL.Get_Attribute_Name('PRODUCT_UOM_CODE'));
3942: QP_BULK_MSG.ADD(L_MSG_REC);
3943: END IF;
3944:
3945:
3981:
3982: qp_bulk_loader_pub.write_log('Count of records in Int table with pricing contect/attr/value null' || to_char(l_exist1));
3983: IF l_exist > 0 THEN
3984: p_pricing_attr_rec.process_status_flag(I):=NULL;
3985: FND_MESSAGE.SET_NAME('QP','QP_BULK_PRC_ATTR_ERROR');
3986: QP_BULK_MSG.ADD(l_msg_rec);
3987: END IF;
3988: IF l_exist1 > 0 THEN
3989: p_pricing_attr_rec.process_status_flag(I):=NULL;
3986: QP_BULK_MSG.ADD(l_msg_rec);
3987: END IF;
3988: IF l_exist1 > 0 THEN
3989: p_pricing_attr_rec.process_status_flag(I):=NULL;
3990: FND_MESSAGE.SET_NAME('QP','QP_BULK_INT_PRC_ATTR_ERROR');
3991: QP_BULK_MSG.ADD(l_msg_rec);
3992: END IF;
3993:
3994: END IF;
4024: l_exist1 := 0;
4025: END;
4026: IF l_exist > 0 OR l_exist1 > 0 THEN
4027: p_pricing_attr_rec.process_status_flag(I):=NULL;
4028: FND_MESSAGE.SET_NAME('QP','QP_1_PRIC_CONT_FOR_BASIC');
4029: --Only one pricing context allwed in Basic Pricing
4030: QP_BULK_MSG.ADD(l_msg_rec);
4031: END IF;
4032:
4047: and s.availability_in_basic = 'Y';
4048: EXCEPTION
4049: WHEN NO_DATA_FOUND THEN
4050: p_pricing_attr_rec.process_status_flag(I):=NULL;
4051: FND_MESSAGE.SET_NAME('QP','QP_PRIC_CONTXT_NA_BASIC');
4052: --Pricing Attribute Context not allowed in Basic Pricing
4053: QP_BULK_MSG.ADD(l_msg_rec);
4054: END;
4055:
4067: and s.availability_in_basic = 'Y';
4068: EXCEPTION
4069: WHEN NO_DATA_FOUND THEN
4070: p_pricing_attr_rec.process_status_flag(I):=NULL;
4071: FND_MESSAGE.SET_NAME('QP','QP_PROD_CONTXT_NA_BASIC');
4072: --Product Attribute Context not allowed in Basic Pricing
4073: QP_BULK_MSG.ADD(l_msg_rec);
4074: END;
4075: END IF;
4108: END;
4109:
4110: IF l_exist >0 OR l_exist1>0 THEN
4111: p_pricing_attr_rec.process_status_flag(I):=NULL;
4112: FND_MESSAGE.SET_NAME('QP', 'INVALID_PROD_CONTEXT_ATTR_PAIR');
4113: QP_BULK_MSG.ADD(l_msg_rec);
4114: END IF;
4115:
4116: -- check for pricing atributes
4124: OR p_Pricing_Attr_rec.comparison_operator_code(I) IS NULL)
4125: THEN
4126: p_pricing_attr_rec.process_status_flag(I):=NULL;
4127: IF p_Pricing_Attr_rec.pricing_attribute_context(I) IS NULL THEN
4128: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4129: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE_CONTEXT');
4130: QP_BULK_MSG.ADD(l_msg_rec);
4131: END IF;
4132: IF p_Pricing_Attr_rec.pricing_attribute(I) IS NULL THEN
4125: THEN
4126: p_pricing_attr_rec.process_status_flag(I):=NULL;
4127: IF p_Pricing_Attr_rec.pricing_attribute_context(I) IS NULL THEN
4128: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4129: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE_CONTEXT');
4130: QP_BULK_MSG.ADD(l_msg_rec);
4131: END IF;
4132: IF p_Pricing_Attr_rec.pricing_attribute(I) IS NULL THEN
4133: IF p_Pricing_Attr_rec.pricing_attr_code(I) IS NULL THEN
4130: QP_BULK_MSG.ADD(l_msg_rec);
4131: END IF;
4132: IF p_Pricing_Attr_rec.pricing_attribute(I) IS NULL THEN
4133: IF p_Pricing_Attr_rec.pricing_attr_code(I) IS NULL THEN
4134: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4136: QP_BULK_MSG.ADD(l_msg_rec);
4137: ELSE
4138: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR' );
4131: END IF;
4132: IF p_Pricing_Attr_rec.pricing_attribute(I) IS NULL THEN
4133: IF p_Pricing_Attr_rec.pricing_attr_code(I) IS NULL THEN
4134: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4136: QP_BULK_MSG.ADD(l_msg_rec);
4137: ELSE
4138: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR' );
4139: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4134: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4136: QP_BULK_MSG.ADD(l_msg_rec);
4137: ELSE
4138: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR' );
4139: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4140: QP_BULK_MSG.ADD(l_msg_rec);
4141: END IF;
4142: END IF;
4135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4136: QP_BULK_MSG.ADD(l_msg_rec);
4137: ELSE
4138: FND_MESSAGE.SET_NAME('QP','QP_VALUE_TO_ID_ERROR' );
4139: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING_ATTRIBUTE');
4140: QP_BULK_MSG.ADD(l_msg_rec);
4141: END IF;
4142: END IF;
4143: IF p_Pricing_Attr_rec.comparison_operator_code(I) IS NULL THEN
4140: QP_BULK_MSG.ADD(l_msg_rec);
4141: END IF;
4142: END IF;
4143: IF p_Pricing_Attr_rec.comparison_operator_code(I) IS NULL THEN
4144: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4145: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'COMPARISON_OPERATOR_CODE');
4146: QP_BULK_MSG.ADD(l_msg_rec);
4147: END IF;
4148: ELSE
4141: END IF;
4142: END IF;
4143: IF p_Pricing_Attr_rec.comparison_operator_code(I) IS NULL THEN
4144: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4145: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'COMPARISON_OPERATOR_CODE');
4146: QP_BULK_MSG.ADD(l_msg_rec);
4147: END IF;
4148: ELSE
4149: QP_UTIL.validate_qp_flexfield(flexfield_name =>'QP_ATTR_DEFNS_PRICING'
4161:
4162: If (l_context_error = 'N' AND l_error_code = 7) -- invalid context
4163: Then
4164: p_pricing_attr_rec.process_status_flag(I):=NULL;
4165: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4166: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4167: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTRIBUTE_CONTEXT'));
4168:
4169: QP_BULK_MSG.Add(l_msg_rec);
4162: If (l_context_error = 'N' AND l_error_code = 7) -- invalid context
4163: Then
4164: p_pricing_attr_rec.process_status_flag(I):=NULL;
4165: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4166: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4167: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTRIBUTE_CONTEXT'));
4168:
4169: QP_BULK_MSG.Add(l_msg_rec);
4170: END IF;
4171:
4172: If l_attribute_error = 'N' AND l_error_code = 8 -- invalid Attribute
4173: Then
4174: p_pricing_attr_rec.process_status_flag(I):=NULL;
4175: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4176: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Attribute');
4177: QP_BULK_MSG.Add(l_msg_rec);
4178: END IF;
4179:
4172: If l_attribute_error = 'N' AND l_error_code = 8 -- invalid Attribute
4173: Then
4174: p_pricing_attr_rec.process_status_flag(I):=NULL;
4175: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4176: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Attribute');
4177: QP_BULK_MSG.Add(l_msg_rec);
4178: END IF;
4179:
4180: IF p_pricing_Attr_rec.comparison_operator_code(I) = '=' Then
4181:
4182: If l_value_error = 'N' AND l_error_code = 9 -- invalid value
4183: Then
4184: p_pricing_attr_rec.process_status_flag(I):=NULL;
4185: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4186: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Value From ');
4187: QP_BULK_MSG.Add(l_msg_rec);
4188: End If;
4189: END IF;
4182: If l_value_error = 'N' AND l_error_code = 9 -- invalid value
4183: Then
4184: p_pricing_attr_rec.process_status_flag(I):=NULL;
4185: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4186: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',' Value From ');
4187: QP_BULK_MSG.Add(l_msg_rec);
4188: End If;
4189: END IF;
4190:
4194: p_Pricing_Attr_rec.pricing_attribute(I) = 'PRICING_ATTRIBUTE12'
4195: --When Pricing Context is 'Volume' and Attribute is 'Item Amount'
4196: THEN
4197: p_pricing_attr_rec.process_status_flag(I):=NULL;
4198: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4199: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Pricing Attribute');
4200: QP_BULK_MSG.Add(l_msg_rec);
4201: END IF;
4202:
4195: --When Pricing Context is 'Volume' and Attribute is 'Item Amount'
4196: THEN
4197: p_pricing_attr_rec.process_status_flag(I):=NULL;
4198: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4199: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Pricing Attribute');
4200: QP_BULK_MSG.Add(l_msg_rec);
4201: END IF;
4202:
4203: --validation for canonical form
4204: l_error_code:=QP_UTIL.validate_num_date(p_Pricing_Attr_rec.pricing_attribute_datatype(I),
4205: p_Pricing_Attr_rec.pricing_attr_value_from(I));
4206: IF l_error_code <> 0 THEN
4207: p_pricing_attr_rec.process_status_flag(I):=NULL;
4208: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4209: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Value From ');
4210: QP_BULK_MSG.Add(l_msg_rec);
4211: END IF;
4212:
4205: p_Pricing_Attr_rec.pricing_attr_value_from(I));
4206: IF l_error_code <> 0 THEN
4207: p_pricing_attr_rec.process_status_flag(I):=NULL;
4208: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4209: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Value From ');
4210: QP_BULK_MSG.Add(l_msg_rec);
4211: END IF;
4212:
4213: -- Validation for Value_To
4218: (p_Pricing_Attr_rec.pricing_attr_value_to(I) IS NULL OR
4219: p_Pricing_Attr_rec.pricing_attr_value_from(I) IS NULL)
4220: THEN
4221: p_pricing_attr_rec.process_status_flag(I):=NULL;
4222: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4223: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4224: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_TO')||'/'||
4225: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_FROM'));
4226: QP_BULK_MSG.Add(l_msg_rec);
4219: p_Pricing_Attr_rec.pricing_attr_value_from(I) IS NULL)
4220: THEN
4221: p_pricing_attr_rec.process_status_flag(I):=NULL;
4222: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4223: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4224: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_TO')||'/'||
4225: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_FROM'));
4226: QP_BULK_MSG.Add(l_msg_rec);
4227: END IF;
4233: UPPER(p_Pricing_Attr_rec.comparison_operator_code(I)) <> 'BETWEEN' AND
4234: p_Pricing_Attr_rec.pricing_attr_value_from(I) IS NULL
4235: THEN
4236: p_pricing_attr_rec.process_status_flag(I):=NULL;
4237: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4238: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4239: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_FROM'));
4240: QP_BULK_MSG.Add(l_msg_rec);
4241: END IF;
4234: p_Pricing_Attr_rec.pricing_attr_value_from(I) IS NULL
4235: THEN
4236: p_pricing_attr_rec.process_status_flag(I):=NULL;
4237: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4238: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4239: QP_PRC_UTIL.Get_Attribute_Name('PRICING_ATTR_VALUE_FROM'));
4240: QP_BULK_MSG.Add(l_msg_rec);
4241: END IF;
4242:
4244: p_Pricing_Attr_rec.pricing_attr_value_to(I));
4245:
4246: IF l_error_code <> 0 THEN
4247: p_pricing_attr_rec.process_status_flag(I):=NULL;
4248: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4249: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Value To ');
4250: QP_BULK_MSG.Add(l_msg_rec);
4251: END IF;
4252:
4245:
4246: IF l_error_code <> 0 THEN
4247: p_pricing_attr_rec.process_status_flag(I):=NULL;
4248: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4249: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Value To ');
4250: QP_BULK_MSG.Add(l_msg_rec);
4251: END IF;
4252:
4253: END IF; -- Else
4258: or p_Pricing_Attr_rec.pricing_attribute(I) is not null ) then
4259:
4260: IF p_Pricing_Attr_rec.comparison_operator_code(I) is null then
4261: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4262: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4263: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4264: QP_PRC_UTIL.Get_Attribute_Name('COMPARISON_OPERATOR_CODE'));
4265: QP_BULK_MSG.Add(l_msg_rec);
4266: ElSE
4259:
4260: IF p_Pricing_Attr_rec.comparison_operator_code(I) is null then
4261: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4262: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4263: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4264: QP_PRC_UTIL.Get_Attribute_Name('COMPARISON_OPERATOR_CODE'));
4265: QP_BULK_MSG.Add(l_msg_rec);
4266: ElSE
4267: SELECT lookup_code
4272:
4273: If SQL%NOTFOUND
4274: Then
4275: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4276: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4277: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4278: QP_PRC_UTIL.Get_Attribute_Name('COMPARISON_OPERATOR_CODE'));
4279: QP_BULK_MSG.Add(l_msg_rec);
4280: END IF;
4273: If SQL%NOTFOUND
4274: Then
4275: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4276: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED' );
4277: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4278: QP_PRC_UTIL.Get_Attribute_Name('COMPARISON_OPERATOR_CODE'));
4279: QP_BULK_MSG.Add(l_msg_rec);
4280: END IF;
4281:
4300: null;
4301: end;
4302: if l_exist > 0 then
4303: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4304: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4305: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING ATTRIBUTE');
4306: QP_BULK_MSG.Add(l_msg_rec);
4307: end if;
4308:
4301: end;
4302: if l_exist > 0 then
4303: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4304: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4305: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PRICING ATTRIBUTE');
4306: QP_BULK_MSG.Add(l_msg_rec);
4307: end if;
4308:
4309: END IF; /* context or atttribute is not null */
4325: AND r.rltd_modifier_grp_type = 'PRICE BREAK';
4326:
4327: IF p_pricing_attr_rec.pricing_attribute_context(I) IS NULL THEN
4328: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4329: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
4330: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Attribute Context');
4331: QP_BULK_MSG.Add(l_msg_rec);
4332: ELSIF p_pricing_attr_rec.pricing_attribute_context(I)<>'VOLUME' THEN
4333: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4326:
4327: IF p_pricing_attr_rec.pricing_attribute_context(I) IS NULL THEN
4328: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4329: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
4330: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Attribute Context');
4331: QP_BULK_MSG.Add(l_msg_rec);
4332: ELSIF p_pricing_attr_rec.pricing_attribute_context(I)<>'VOLUME' THEN
4333: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4334: FND_MESSAGE.SET_NAME('QP','PBH_CHILD_LINE_INVALID_CONTEXT');
4330: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Attribute Context');
4331: QP_BULK_MSG.Add(l_msg_rec);
4332: ELSIF p_pricing_attr_rec.pricing_attribute_context(I)<>'VOLUME' THEN
4333: p_pricing_attr_rec.process_status_flag(I) :=NULL; --'E';
4334: FND_MESSAGE.SET_NAME('QP','PBH_CHILD_LINE_INVALID_CONTEXT');
4335: QP_BULK_MSG.Add(l_msg_rec);
4336: END IF;
4337:
4338: EXCEPTION
4376: END;
4377:
4378: IF l_count > 0 THEN
4379: p_pricing_attr_rec.process_status_flag(I):=NULL;
4380: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4381: QP_BULK_MSG.Add(l_msg_rec);
4382:
4383: -- set the corresponding line as errored
4384: UPDATE qp_interface_list_lines
4386: WHERE request_id = p_pricing_attr_rec.request_id(I)
4387: AND orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4388: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4389:
4390: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4391: l_msg_txt:= FND_MESSAGE.GET;
4392:
4393: INSERT INTO QP_INTERFACE_ERRORS
4394: (error_id,last_update_date, last_updated_by, creation_date,
4387: AND orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4388: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4389:
4390: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4391: l_msg_txt:= FND_MESSAGE.GET;
4392:
4393: INSERT INTO QP_INTERFACE_ERRORS
4394: (error_id,last_update_date, last_updated_by, creation_date,
4395: created_by, last_update_login, request_id, program_application_id,
4411: p_pricing_attr_rec.orig_sys_pricing_attr_ref(I)
4412: THEN
4413: p_pricing_attr_rec.process_status_flag(J):=NULL; --'E';
4414: l_msg_rec.orig_sys_pricing_attr_ref := p_pricing_attr_rec.orig_sys_pricing_attr_ref(J);
4415: FND_MESSAGE.SET_NAME('QP', 'QP_PARENT_FAILED');
4416: QP_BULK_MSG.ADD(l_msg_rec);
4417: END IF;
4418: END LOOP;
4419:
4440: END;
4441:
4442: IF l_count > 0 THEN
4443: p_pricing_attr_rec.process_status_flag(I):=NULL;
4444: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4445: QP_BULK_MSG.Add(l_msg_rec);
4446:
4447: -- set the corresponding line as errored
4448: UPDATE qp_interface_list_lines
4450: WHERE request_id = p_pricing_attr_rec.request_id(I)
4451: AND orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4452: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4453:
4454: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4455: l_msg_txt:= FND_MESSAGE.GET;
4456:
4457: INSERT INTO QP_INTERFACE_ERRORS
4458: (error_id,last_update_date, last_updated_by, creation_date,
4451: AND orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4452: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4453:
4454: FND_MESSAGE.SET_NAME('QP','QP_UNIQUE_PRIMARY_UOM');
4455: l_msg_txt:= FND_MESSAGE.GET;
4456:
4457: INSERT INTO QP_INTERFACE_ERRORS
4458: (error_id,last_update_date, last_updated_by, creation_date,
4459: created_by, last_update_login, request_id, program_application_id,
4475: p_pricing_attr_rec.orig_sys_pricing_attr_ref(I)
4476: THEN
4477: p_pricing_attr_rec.process_status_flag(J):=NULL; --'E';
4478: l_msg_rec.orig_sys_pricing_attr_ref := p_pricing_attr_rec.orig_sys_pricing_attr_ref(J);
4479: FND_MESSAGE.SET_NAME('QP', 'QP_PARENT_FAILED');
4480: QP_BULK_MSG.ADD(l_msg_rec);
4481: END IF;
4482: END LOOP;
4483: END IF; -- If duplicate
4564: --qp_bulk_loader_pub.write_log('multi_attr:'||l_count);
4565:
4566: IF l_count>1 THEN
4567: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
4568: FND_MESSAGE.SET_NAME('QP', 'QP_MULT_PRICE_BREAK_ATTRS');
4569: QP_BULK_MSG.ADD(l_msg_rec);
4570:
4571: UPDATE qp_interface_list_lines
4572: SET process_status_flag = NULL --'E'
4572: SET process_status_flag = NULL --'E'
4573: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4574: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4575:
4576: l_msg_txt:= FND_MESSAGE.GET;
4577:
4578: INSERT INTO QP_INTERFACE_ERRORS
4579: (error_id,last_update_date, last_updated_by, creation_date,
4580: created_by, last_update_login, request_id, program_application_id,
4623: l_pa_to_val_tmp:=to_number(p_pricing_attr_rec.pricing_attr_value_to(I));
4624: EXCEPTION
4625: WHEN OTHERS THEN
4626: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
4627: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATA_TYPE');
4628: QP_BULK_MSG.ADD(l_msg_rec);
4629: p_pricing_attr_rec.pricing_attr_value_to(I):=0;
4630: END;
4631:
4633: l_pa_from_val_tmp:=to_number(p_pricing_attr_rec.pricing_attr_value_from(I));
4634: EXCEPTION
4635: WHEN OTHERS THEN
4636: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
4637: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_DATA_TYPE');
4638: QP_BULK_MSG.ADD(l_msg_rec);
4639: p_pricing_attr_rec.pricing_attr_value_from(I):=0;
4640: END;
4641: -- Bug# 5440851 RAVI END
4698: qp_bulk_loader_pub.write_log('FROM value has a corresponding TO value or is zero.');
4699: ELSE
4700: qp_bulk_loader_pub.write_log('ERROR: No Same To_From Value for Price Break');
4701: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL ; --'E';
4702: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_TO_FROM');
4703: QP_BULK_MSG.ADD(l_msg_rec);
4704:
4705: UPDATE qp_interface_list_lines
4706: SET process_status_flag = NULL --'E'
4706: SET process_status_flag = NULL --'E'
4707: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4708: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4709:
4710: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_TO_FROM');
4711: l_msg_txt:= FND_MESSAGE.GET;
4712:
4713: INSERT INTO QP_INTERFACE_ERRORS
4714: (error_id,last_update_date, last_updated_by, creation_date,
4707: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4708: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4709:
4710: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_TO_FROM');
4711: l_msg_txt:= FND_MESSAGE.GET;
4712:
4713: INSERT INTO QP_INTERFACE_ERRORS
4714: (error_id,last_update_date, last_updated_by, creation_date,
4715: created_by, last_update_login, request_id, program_application_id,
4725: END IF;
4726: ELSE
4727: qp_bulk_loader_pub.write_log('ERROR: No Same From_To Value for Price Break');
4728: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL ; --'E';
4729: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_FROM_TO');
4730: QP_BULK_MSG.ADD(l_msg_rec);
4731:
4732: UPDATE qp_interface_list_lines
4733: SET process_status_flag = NULL --'E'
4733: SET process_status_flag = NULL --'E'
4734: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4735: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4736:
4737: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_FROM_TO');
4738: l_msg_txt:= FND_MESSAGE.GET;
4739:
4740: INSERT INTO QP_INTERFACE_ERRORS
4741: (error_id,last_update_date, last_updated_by, creation_date,
4734: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4735: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4736:
4737: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_CRSPNDNG_FROM_TO');
4738: l_msg_txt:= FND_MESSAGE.GET;
4739:
4740: INSERT INTO QP_INTERFACE_ERRORS
4741: (error_id,last_update_date, last_updated_by, creation_date,
4742: created_by, last_update_login, request_id, program_application_id,
4761: NULL;
4762: ELSE
4763: qp_bulk_loader_pub.write_log('ERROR: No 0 From Value');
4764: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL ; --'E';
4765: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_ZERO_FROM');
4766: QP_BULK_MSG.ADD(l_msg_rec);
4767:
4768: UPDATE qp_interface_list_lines
4769: SET process_status_flag = NULL --'E'
4769: SET process_status_flag = NULL --'E'
4770: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4771: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4772:
4773: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_ZERO_FROM');
4774: l_msg_txt:= FND_MESSAGE.GET;
4775:
4776: INSERT INTO QP_INTERFACE_ERRORS
4777: (error_id,last_update_date, last_updated_by, creation_date,
4770: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4771: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4772:
4773: FND_MESSAGE.SET_NAME('QP', 'QP_PBK_ZERO_FROM');
4774: l_msg_txt:= FND_MESSAGE.GET;
4775:
4776: INSERT INTO QP_INTERFACE_ERRORS
4777: (error_id,last_update_date, last_updated_by, creation_date,
4778: created_by, last_update_login, request_id, program_application_id,
4802:
4803: IF l_status = 'OVERLAP' OR l_status1 = 'OVERLAP' THEN
4804: qp_bulk_loader_pub.write_log('Overlapping Price Breaks');
4805: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL ; --'E';
4806: FND_MESSAGE.SET_NAME('QP', 'QP_OVERLAP_PRICE_BREAK_RANGE');
4807: QP_BULK_MSG.ADD(l_msg_rec);
4808:
4809: UPDATE qp_interface_list_lines
4810: SET process_status_flag = NULL --'E'
4810: SET process_status_flag = NULL --'E'
4811: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4812: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4813:
4814: FND_MESSAGE.SET_NAME('QP', 'QP_OVERLAP_PRICE_BREAK_RANGE');
4815: l_msg_txt:= FND_MESSAGE.GET;
4816:
4817: INSERT INTO QP_INTERFACE_ERRORS
4818: (error_id,last_update_date, last_updated_by, creation_date,
4811: WHERE orig_sys_line_ref = p_pricing_attr_rec.orig_sys_line_ref(I)
4812: AND orig_sys_header_ref = p_pricing_attr_rec.orig_sys_header_ref(I);
4813:
4814: FND_MESSAGE.SET_NAME('QP', 'QP_OVERLAP_PRICE_BREAK_RANGE');
4815: l_msg_txt:= FND_MESSAGE.GET;
4816:
4817: INSERT INTO QP_INTERFACE_ERRORS
4818: (error_id,last_update_date, last_updated_by, creation_date,
4819: created_by, last_update_login, request_id, program_application_id,
4862:
4863: QP_BULK_MSG.ADD(l_msg_rec);
4864:
4865: -- Log Error Message
4866: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4867: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4868: 'Entity:Flexfield:Pricing_Attr_Desc_Flex');
4869: p_pricing_attr_rec.process_status_flag(I):=NULL;
4870:
4863: QP_BULK_MSG.ADD(l_msg_rec);
4864:
4865: -- Log Error Message
4866: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
4867: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4868: 'Entity:Flexfield:Pricing_Attr_Desc_Flex');
4869: p_pricing_attr_rec.process_status_flag(I):=NULL;
4870:
4871: QP_BULK_MSG.ADD(l_msg_rec);
4970: OR l_old_pricing_attr_rec.product_attr_value <>
4971: p_pricing_attr_rec.product_attr_value(I) THEN
4972:
4973: P_PRICING_ATTR_REC.PROCESS_STATUS_FLAG(I):= NULL; --'E';
4974: FND_MESSAGE.SET_NAME('QP', 'NO_PRODUCT_ATTR_UPD');
4975: QP_BULK_MSG.ADD(l_msg_rec);
4976: END IF;
4977: END IF;
4978:
4999: IF l_sourcing_method = 'ATTRIBUTE MAPPING' THEN
5000:
5001: IF l_sourcing_enabled <> 'Y' THEN
5002:
5003: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5004: FND_MESSAGE.SET_TOKEN('CONTEXT',
5005: p_Pricing_Attr_rec.product_attribute_context(I));
5006: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5007: p_Pricing_Attr_rec.product_attribute(I));
5000:
5001: IF l_sourcing_enabled <> 'Y' THEN
5002:
5003: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5004: FND_MESSAGE.SET_TOKEN('CONTEXT',
5005: p_Pricing_Attr_rec.product_attribute_context(I));
5006: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5007: p_Pricing_Attr_rec.product_attribute(I));
5008: QP_BULK_MSG.ADD(l_msg_rec);
5002:
5003: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5004: FND_MESSAGE.SET_TOKEN('CONTEXT',
5005: p_Pricing_Attr_rec.product_attribute_context(I));
5006: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5007: p_Pricing_Attr_rec.product_attribute(I));
5008: QP_BULK_MSG.ADD(l_msg_rec);
5009: END IF;
5010:
5009: END IF;
5010:
5011: IF l_sourcing_status <> 'Y' THEN
5012:
5013: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5014: FND_MESSAGE.SET_TOKEN('CONTEXT',
5015: p_Pricing_Attr_rec.product_attribute_context(I));
5016: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5017: p_Pricing_Attr_rec.product_attribute(I));
5010:
5011: IF l_sourcing_status <> 'Y' THEN
5012:
5013: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5014: FND_MESSAGE.SET_TOKEN('CONTEXT',
5015: p_Pricing_Attr_rec.product_attribute_context(I));
5016: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5017: p_Pricing_Attr_rec.product_attribute(I));
5018: QP_BULK_MSG.ADD(l_msg_rec);
5012:
5013: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5014: FND_MESSAGE.SET_TOKEN('CONTEXT',
5015: p_Pricing_Attr_rec.product_attribute_context(I));
5016: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5017: p_Pricing_Attr_rec.product_attribute(I));
5018: QP_BULK_MSG.ADD(l_msg_rec);
5019:
5020: END IF;
5044: IF l_sourcing_method = 'ATTRIBUTE MAPPING' THEN
5045:
5046: IF l_sourcing_enabled <> 'Y' THEN
5047:
5048: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5049: FND_MESSAGE.SET_TOKEN('CONTEXT',
5050: p_Pricing_Attr_rec.pricing_attribute_context(I));
5051: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5052: p_Pricing_Attr_rec.pricing_attribute(I));
5045:
5046: IF l_sourcing_enabled <> 'Y' THEN
5047:
5048: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5049: FND_MESSAGE.SET_TOKEN('CONTEXT',
5050: p_Pricing_Attr_rec.pricing_attribute_context(I));
5051: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5052: p_Pricing_Attr_rec.pricing_attribute(I));
5053: QP_BULK_MSG.ADD(l_msg_rec);
5047:
5048: FND_MESSAGE.SET_NAME('QP','QP_ENABLE_SOURCING');
5049: FND_MESSAGE.SET_TOKEN('CONTEXT',
5050: p_Pricing_Attr_rec.pricing_attribute_context(I));
5051: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5052: p_Pricing_Attr_rec.pricing_attribute(I));
5053: QP_BULK_MSG.ADD(l_msg_rec);
5054: END IF;
5055:
5054: END IF;
5055:
5056: IF l_sourcing_status <> 'Y' THEN
5057:
5058: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5059: FND_MESSAGE.SET_TOKEN('CONTEXT',
5060: p_Pricing_Attr_rec.pricing_attribute_context(I));
5061: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5062: p_Pricing_Attr_rec.pricing_attribute(I));
5055:
5056: IF l_sourcing_status <> 'Y' THEN
5057:
5058: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5059: FND_MESSAGE.SET_TOKEN('CONTEXT',
5060: p_Pricing_Attr_rec.pricing_attribute_context(I));
5061: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5062: p_Pricing_Attr_rec.pricing_attribute(I));
5063: QP_BULK_MSG.ADD(l_msg_rec);
5057:
5058: FND_MESSAGE.SET_NAME('QP','QP_BUILD_SOURCING_RULES');
5059: FND_MESSAGE.SET_TOKEN('CONTEXT',
5060: p_Pricing_Attr_rec.pricing_attribute_context(I));
5061: FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5062: p_Pricing_Attr_rec.pricing_attribute(I));
5063: QP_BULK_MSG.ADD(l_msg_rec);
5064:
5065: END IF;
5103:
5104: qp_bulk_loader_pub.write_log('Entering Attribute Header validation');
5105: -- 1.Currency Code
5106:
5107: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5108: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','CURRENCY CODE');
5109: l_msg_txt := FND_MESSAGE.GET;
5110:
5111:
5104: qp_bulk_loader_pub.write_log('Entering Attribute Header validation');
5105: -- 1.Currency Code
5106:
5107: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5108: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','CURRENCY CODE');
5109: l_msg_txt := FND_MESSAGE.GET;
5110:
5111:
5112: INSERT INTO QP_INTERFACE_ERRORS
5105: -- 1.Currency Code
5106:
5107: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5108: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','CURRENCY CODE');
5109: l_msg_txt := FND_MESSAGE.GET;
5110:
5111:
5112: INSERT INTO QP_INTERFACE_ERRORS
5113: (error_id,last_update_date, last_updated_by, creation_date,
5133: );
5134:
5135: -- 2.Freight Terms
5136:
5137: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5138: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT TERMS');
5139: l_msg_txt := FND_MESSAGE.GET;
5140:
5141: --Bug# 5412029 START RAVI
5134:
5135: -- 2.Freight Terms
5136:
5137: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5138: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT TERMS');
5139: l_msg_txt := FND_MESSAGE.GET;
5140:
5141: --Bug# 5412029 START RAVI
5142: --Check if the frieght terms are valid
5135: -- 2.Freight Terms
5136:
5137: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5138: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT TERMS');
5139: l_msg_txt := FND_MESSAGE.GET;
5140:
5141: --Bug# 5412029 START RAVI
5142: --Check if the frieght terms are valid
5143: INSERT INTO QP_INTERFACE_ERRORS
5214: --Bug# 5412029 END RAVI
5215:
5216: -- 3. LIST TYPE CODE
5217:
5218: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5219: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST TYPE CODE');
5220: l_msg_txt := FND_MESSAGE.GET;
5221:
5222: INSERT INTO QP_INTERFACE_ERRORS
5215:
5216: -- 3. LIST TYPE CODE
5217:
5218: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5219: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST TYPE CODE');
5220: l_msg_txt := FND_MESSAGE.GET;
5221:
5222: INSERT INTO QP_INTERFACE_ERRORS
5223: (error_id,last_update_date, last_updated_by, creation_date,
5216: -- 3. LIST TYPE CODE
5217:
5218: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5219: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST TYPE CODE');
5220: l_msg_txt := FND_MESSAGE.GET;
5221:
5222: INSERT INTO QP_INTERFACE_ERRORS
5223: (error_id,last_update_date, last_updated_by, creation_date,
5224: created_by, last_update_login, request_id, program_application_id,
5241: AND lookup_code = qpih.list_type_code);
5242:
5243: -- 4.Ship Method(Freight Carrier)
5244:
5245: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5246: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT CARRIER');
5247: l_msg_txt := FND_MESSAGE.GET;
5248:
5249: --Bug# 5412029 START RAVI
5242:
5243: -- 4.Ship Method(Freight Carrier)
5244:
5245: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5246: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT CARRIER');
5247: l_msg_txt := FND_MESSAGE.GET;
5248:
5249: --Bug# 5412029 START RAVI
5250: --Check if the ship method are valid
5243: -- 4.Ship Method(Freight Carrier)
5244:
5245: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5246: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'FREIGHT CARRIER');
5247: l_msg_txt := FND_MESSAGE.GET;
5248:
5249: --Bug# 5412029 START RAVI
5250: --Check if the ship method are valid
5251: INSERT INTO QP_INTERFACE_ERRORS
5324: AND nvl(end_date_active, sysdate) );
5325: --Bug# 5412029 END RAVI
5326:
5327: -- 5. Payment Terms
5328: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5329: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PAYMENT TERMS');
5330: l_msg_txt := FND_MESSAGE.GET;
5331:
5332: --Bug# 5412029 START RAVI
5325: --Bug# 5412029 END RAVI
5326:
5327: -- 5. Payment Terms
5328: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5329: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PAYMENT TERMS');
5330: l_msg_txt := FND_MESSAGE.GET;
5331:
5332: --Bug# 5412029 START RAVI
5333: --Check if the payment terms are valid
5326:
5327: -- 5. Payment Terms
5328: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5329: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'PAYMENT TERMS');
5330: l_msg_txt := FND_MESSAGE.GET;
5331:
5332: --Bug# 5412029 START RAVI
5333: --Check if the payment terms are valid
5334: INSERT INTO QP_INTERFACE_ERRORS
5411:
5412: --Bug# 5412029 END RAVI
5413: -- 6. Currency Header
5414:
5415: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5416: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'CURRENCY HEADER');
5417: l_msg_txt := FND_MESSAGE.GET;
5418:
5419: -- Bug 4938046,5412029 START RAVI
5412: --Bug# 5412029 END RAVI
5413: -- 6. Currency Header
5414:
5415: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5416: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'CURRENCY HEADER');
5417: l_msg_txt := FND_MESSAGE.GET;
5418:
5419: -- Bug 4938046,5412029 START RAVI
5420: /**
5413: -- 6. Currency Header
5414:
5415: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5416: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'CURRENCY HEADER');
5417: l_msg_txt := FND_MESSAGE.GET;
5418:
5419: -- Bug 4938046,5412029 START RAVI
5420: /**
5421: Currency Header and Header ID validation
5496: -- Bug 4938046,5412029 END RAVI
5497:
5498: -- 7. Name
5499:
5500: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
5501: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'NAME');
5502: l_msg_txt := FND_MESSAGE.GET;
5503:
5504: INSERT INTO QP_INTERFACE_ERRORS
5497:
5498: -- 7. Name
5499:
5500: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
5501: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'NAME');
5502: l_msg_txt := FND_MESSAGE.GET;
5503:
5504: INSERT INTO QP_INTERFACE_ERRORS
5505: (error_id,last_update_date, last_updated_by, creation_date,
5498: -- 7. Name
5499:
5500: fnd_message.set_name('QP', 'QP_ATTRIBUTE_REQUIRED');
5501: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'NAME');
5502: l_msg_txt := FND_MESSAGE.GET;
5503:
5504: INSERT INTO QP_INTERFACE_ERRORS
5505: (error_id,last_update_date, last_updated_by, creation_date,
5506: created_by, last_update_login, request_id, program_application_id,
5520: AND (name is null or name = '');
5521:
5522: -- 8. Name in other pricelists
5523:
5524: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
5525: l_msg_txt := FND_MESSAGE.GET;
5526:
5527: qp_bulk_loader_pub.write_log('Name check in TL table '||userenv('LANG')||' '||to_char(p_request_id));
5528:
5521:
5522: -- 8. Name in other pricelists
5523:
5524: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
5525: l_msg_txt := FND_MESSAGE.GET;
5526:
5527: qp_bulk_loader_pub.write_log('Name check in TL table '||userenv('LANG')||' '||to_char(p_request_id));
5528:
5529: INSERT INTO QP_INTERFACE_ERRORS
5548: qp_bulk_loader_pub.write_log('Count '||SQL%ROWCOUNT);
5549:
5550: -- 9. Name in other Interface header records
5551:
5552: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
5553: l_msg_txt := FND_MESSAGE.GET;
5554:
5555: INSERT INTO QP_INTERFACE_ERRORS
5556: (error_id,last_update_date, last_updated_by, creation_date,
5549:
5550: -- 9. Name in other Interface header records
5551:
5552: fnd_message.set_name('QP', 'SO_OTHER_NAME_ALREADY_IN_USE');
5553: l_msg_txt := FND_MESSAGE.GET;
5554:
5555: INSERT INTO QP_INTERFACE_ERRORS
5556: (error_id,last_update_date, last_updated_by, creation_date,
5557: created_by, last_update_login, request_id, program_application_id,
5576: qp_bulk_loader_pub.write_log('Count 9 '||SQL%ROWCOUNT);
5577:
5578: -- 10. Pricing Transaction Entity
5579:
5580: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5581: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Transaction Entity');
5582: l_msg_txt := FND_MESSAGE.GET;
5583:
5584: INSERT INTO QP_INTERFACE_ERRORS
5577:
5578: -- 10. Pricing Transaction Entity
5579:
5580: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5581: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Transaction Entity');
5582: l_msg_txt := FND_MESSAGE.GET;
5583:
5584: INSERT INTO QP_INTERFACE_ERRORS
5585: (error_id,last_update_date, last_updated_by, creation_date,
5578: -- 10. Pricing Transaction Entity
5579:
5580: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5581: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Pricing Transaction Entity');
5582: l_msg_txt := FND_MESSAGE.GET;
5583:
5584: INSERT INTO QP_INTERFACE_ERRORS
5585: (error_id,last_update_date, last_updated_by, creation_date,
5586: created_by, last_update_login, request_id, program_application_id,
5603: AND lookup_code = qpih.pte_code);
5604:
5605: -- 11. Source System Code
5606:
5607: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5608: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5609: l_msg_txt := FND_MESSAGE.GET;
5610:
5611: INSERT INTO QP_INTERFACE_ERRORS
5604:
5605: -- 11. Source System Code
5606:
5607: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5608: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5609: l_msg_txt := FND_MESSAGE.GET;
5610:
5611: INSERT INTO QP_INTERFACE_ERRORS
5612: (error_id,last_update_date, last_updated_by, creation_date,
5605: -- 11. Source System Code
5606:
5607: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5608: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5609: l_msg_txt := FND_MESSAGE.GET;
5610:
5611: INSERT INTO QP_INTERFACE_ERRORS
5612: (error_id,last_update_date, last_updated_by, creation_date,
5613: created_by, last_update_login, request_id, program_application_id,
5651:
5652: --for bug 4731613 moved this validation to attribute_header procedure
5653: -- 12. Validate Orig_Org_Id
5654:
5655: FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
5656: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5657: l_msg_txt := FND_MESSAGE.GET;
5658:
5659: INSERT INTO QP_INTERFACE_ERRORS
5652: --for bug 4731613 moved this validation to attribute_header procedure
5653: -- 12. Validate Orig_Org_Id
5654:
5655: FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
5656: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5657: l_msg_txt := FND_MESSAGE.GET;
5658:
5659: INSERT INTO QP_INTERFACE_ERRORS
5660: (error_id,last_update_date, last_updated_by, creation_date,
5653: -- 12. Validate Orig_Org_Id
5654:
5655: FND_MESSAGE.SET_NAME('FND','FND_MO_ORG_INVALID');
5656: --FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'Source System Code');
5657: l_msg_txt := FND_MESSAGE.GET;
5658:
5659: INSERT INTO QP_INTERFACE_ERRORS
5660: (error_id,last_update_date, last_updated_by, creation_date,
5661: created_by, last_update_login, request_id, program_application_id,
5676:
5677: --Bug#5208112 RAVI START
5678: -- 13. Validate Rounding Factor
5679:
5680: FND_MESSAGE.SET_NAME('QP','QP_ROUNDING_FACTOR_NO_UPDATE');
5681: l_msg_txt := FND_MESSAGE.GET;
5682:
5683: INSERT INTO QP_INTERFACE_ERRORS
5684: (error_id,last_update_date, last_updated_by, creation_date,
5677: --Bug#5208112 RAVI START
5678: -- 13. Validate Rounding Factor
5679:
5680: FND_MESSAGE.SET_NAME('QP','QP_ROUNDING_FACTOR_NO_UPDATE');
5681: l_msg_txt := FND_MESSAGE.GET;
5682:
5683: INSERT INTO QP_INTERFACE_ERRORS
5684: (error_id,last_update_date, last_updated_by, creation_date,
5685: created_by, last_update_login, request_id, program_application_id,
5706:
5707: -- 14. Only one record with a unique Orig_Sys_Hdr_ref must be updated in one request
5708: -- Commenting code for bug 6961376
5709:
5710: /*fnd_message.set_name('QP', 'QP_HDR_REF_MULTIPLE_UPDATE');
5711: l_msg_txt := FND_MESSAGE.GET;
5712:
5713: INSERT INTO QP_INTERFACE_ERRORS
5714: (error_id,last_update_date, last_updated_by, creation_date,
5707: -- 14. Only one record with a unique Orig_Sys_Hdr_ref must be updated in one request
5708: -- Commenting code for bug 6961376
5709:
5710: /*fnd_message.set_name('QP', 'QP_HDR_REF_MULTIPLE_UPDATE');
5711: l_msg_txt := FND_MESSAGE.GET;
5712:
5713: INSERT INTO QP_INTERFACE_ERRORS
5714: (error_id,last_update_date, last_updated_by, creation_date,
5715: created_by, last_update_login, request_id, program_application_id,
5757: qp_bulk_loader_pub.write_log('Entering Attribute qualifier validation');
5758: FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY',l_pte_code);
5759: --1. Comparison Operator
5760:
5761: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5762: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','COMPARISON OPERATOR');
5763: l_msg_txt := FND_MESSAGE.GET;
5764:
5765: INSERT INTO QP_INTERFACE_ERRORS
5758: FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY',l_pte_code);
5759: --1. Comparison Operator
5760:
5761: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5762: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','COMPARISON OPERATOR');
5763: l_msg_txt := FND_MESSAGE.GET;
5764:
5765: INSERT INTO QP_INTERFACE_ERRORS
5766: (error_id,last_update_date, last_updated_by, creation_date,
5759: --1. Comparison Operator
5760:
5761: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5762: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','COMPARISON OPERATOR');
5763: l_msg_txt := FND_MESSAGE.GET;
5764:
5765: INSERT INTO QP_INTERFACE_ERRORS
5766: (error_id,last_update_date, last_updated_by, creation_date,
5767: created_by, last_update_login, request_id, program_application_id,
5784: AND lookup_code = qpiq.comparison_operator_code);
5785:
5786: --2. Orig sys header ref
5787:
5788: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5789: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG SYS HEADER REF');
5790: l_msg_txt := FND_MESSAGE.GET;
5791:
5792: INSERT INTO QP_INTERFACE_ERRORS
5785:
5786: --2. Orig sys header ref
5787:
5788: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5789: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG SYS HEADER REF');
5790: l_msg_txt := FND_MESSAGE.GET;
5791:
5792: INSERT INTO QP_INTERFACE_ERRORS
5793: (error_id,last_update_date, last_updated_by, creation_date,
5786: --2. Orig sys header ref
5787:
5788: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5789: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ORIG SYS HEADER REF');
5790: l_msg_txt := FND_MESSAGE.GET;
5791:
5792: INSERT INTO QP_INTERFACE_ERRORS
5793: (error_id,last_update_date, last_updated_by, creation_date,
5794: created_by, last_update_login, request_id, program_application_id,
5816: -- Pricelists are allowed.
5817:
5818: IF QP_BULK_LOADER_PUB.GET_QP_STATUS <> 'I' THEN
5819:
5820: FND_MESSAGE.SET_NAME('QP','QP_QUAL_NA_BASIC');
5821: --Qualifiers not allowed in Basic Pricing
5822: l_msg_txt := FND_MESSAGE.GET;
5823:
5824: INSERT INTO QP_INTERFACE_ERRORS
5818: IF QP_BULK_LOADER_PUB.GET_QP_STATUS <> 'I' THEN
5819:
5820: FND_MESSAGE.SET_NAME('QP','QP_QUAL_NA_BASIC');
5821: --Qualifiers not allowed in Basic Pricing
5822: l_msg_txt := FND_MESSAGE.GET;
5823:
5824: INSERT INTO QP_INTERFACE_ERRORS
5825: (error_id,last_update_date, last_updated_by, creation_date,
5826: created_by, last_update_login, request_id, program_application_id,
5841:
5842: END IF;
5843:
5844: --4. Qualifier Context
5845: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
5846: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'QUALIFIER CONTEXT');
5847:
5848: l_msg_txt := FND_MESSAGE.GET;
5849:
5842: END IF;
5843:
5844: --4. Qualifier Context
5845: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
5846: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'QUALIFIER CONTEXT');
5847:
5848: l_msg_txt := FND_MESSAGE.GET;
5849:
5850: INSERT INTO QP_INTERFACE_ERRORS
5844: --4. Qualifier Context
5845: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
5846: FND_MESSAGE.SET_TOKEN('ATTRIBUTE', 'QUALIFIER CONTEXT');
5847:
5848: l_msg_txt := FND_MESSAGE.GET;
5849:
5850: INSERT INTO QP_INTERFACE_ERRORS
5851: (error_id,last_update_date, last_updated_by, creation_date,
5852: created_by, last_update_login, request_id, program_application_id,
5865: AND qpiq.qualifier_context IS NULL;
5866:
5867: --5. Qualifier Attribute
5868:
5869: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5870: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE');
5871: l_msg_txt := FND_MESSAGE.GET;
5872:
5873: --Bug# 5456164 START RAVI
5866:
5867: --5. Qualifier Attribute
5868:
5869: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5870: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE');
5871: l_msg_txt := FND_MESSAGE.GET;
5872:
5873: --Bug# 5456164 START RAVI
5874: --Validate qualifier attribute
5867: --5. Qualifier Attribute
5868:
5869: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
5870: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','QUALIFIER ATTRIBUTE');
5871: l_msg_txt := FND_MESSAGE.GET;
5872:
5873: --Bug# 5456164 START RAVI
5874: --Validate qualifier attribute
5875: INSERT INTO QP_INTERFACE_ERRORS
6017: qp_bulk_loader_pub.write_log('Entering Attribute line validation');
6018: FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY',l_pte_code);
6019:
6020: -- 1. LIST LINE TYPE CODE
6021: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6022: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_LINE_TYPE_CODE');
6023: l_msg_txt := FND_MESSAGE.GET;
6024:
6025: INSERT INTO QP_INTERFACE_ERRORS
6018: FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY',l_pte_code);
6019:
6020: -- 1. LIST LINE TYPE CODE
6021: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6022: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_LINE_TYPE_CODE');
6023: l_msg_txt := FND_MESSAGE.GET;
6024:
6025: INSERT INTO QP_INTERFACE_ERRORS
6026: (error_id,last_update_date, last_updated_by, creation_date,
6019:
6020: -- 1. LIST LINE TYPE CODE
6021: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6022: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST_LINE_TYPE_CODE');
6023: l_msg_txt := FND_MESSAGE.GET;
6024:
6025: INSERT INTO QP_INTERFACE_ERRORS
6026: (error_id,last_update_date, last_updated_by, creation_date,
6027: created_by, last_update_login, request_id, program_application_id,
6044: AND lookup_code= qpil.list_line_type_code
6045: AND qpil.list_line_type_code IN ('PLL', 'PBH') );
6046:
6047: -- 2. ARITHMETIC OPERATOR
6048: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6049: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ARITHMETIC_OPERATOR 5');
6050: l_msg_txt := FND_MESSAGE.GET;
6051:
6052: INSERT INTO QP_INTERFACE_ERRORS
6045: AND qpil.list_line_type_code IN ('PLL', 'PBH') );
6046:
6047: -- 2. ARITHMETIC OPERATOR
6048: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6049: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ARITHMETIC_OPERATOR 5');
6050: l_msg_txt := FND_MESSAGE.GET;
6051:
6052: INSERT INTO QP_INTERFACE_ERRORS
6053: (error_id,last_update_date, last_updated_by, creation_date,
6046:
6047: -- 2. ARITHMETIC OPERATOR
6048: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6049: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ARITHMETIC_OPERATOR 5');
6050: l_msg_txt := FND_MESSAGE.GET;
6051:
6052: INSERT INTO QP_INTERFACE_ERRORS
6053: (error_id,last_update_date, last_updated_by, creation_date,
6054: created_by, last_update_login, request_id, program_application_id,
6070: WHERE lookup_type= 'ARITHMETIC_OPERATOR'
6071: AND lookup_code= qpil.arithmetic_operator );
6072:
6073: --3. PRICE BREAK TYPE CODE
6074: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6075: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','PRICE_BREAK_TYPE_CODE');
6076: l_msg_txt := FND_MESSAGE.GET;
6077:
6078: INSERT INTO QP_INTERFACE_ERRORS
6071: AND lookup_code= qpil.arithmetic_operator );
6072:
6073: --3. PRICE BREAK TYPE CODE
6074: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6075: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','PRICE_BREAK_TYPE_CODE');
6076: l_msg_txt := FND_MESSAGE.GET;
6077:
6078: INSERT INTO QP_INTERFACE_ERRORS
6079: (error_id,last_update_date, last_updated_by, creation_date,
6072:
6073: --3. PRICE BREAK TYPE CODE
6074: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6075: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','PRICE_BREAK_TYPE_CODE');
6076: l_msg_txt := FND_MESSAGE.GET;
6077:
6078: INSERT INTO QP_INTERFACE_ERRORS
6079: (error_id,last_update_date, last_updated_by, creation_date,
6080: created_by, last_update_login, request_id, program_application_id,
6096: WHERE lookup_type= 'PRICE_BREAK_TYPE_CODE'
6097: AND lookup_code= qpil.price_break_type_code);
6098:
6099: --4. UOM
6100: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6101: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Uom Code');
6102: l_msg_txt := FND_MESSAGE.GET;
6103:
6104: -- Bug# 5412045
6097: AND lookup_code= qpil.price_break_type_code);
6098:
6099: --4. UOM
6100: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6101: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Uom Code');
6102: l_msg_txt := FND_MESSAGE.GET;
6103:
6104: -- Bug# 5412045
6105: -- Validate UOM for a category line
6098:
6099: --4. UOM
6100: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6101: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Uom Code');
6102: l_msg_txt := FND_MESSAGE.GET;
6103:
6104: -- Bug# 5412045
6105: -- Validate UOM for a category line
6106: INSERT INTO QP_INTERFACE_ERRORS
6228: 4.1) UNIQUE FORMULA CHECK
6229: Only one formula should be inserted or updated in a line. Either PriceBy or Generate Formula is to be used.
6230: If one is used the other should be set to null. If both are used then an error should be thrown.
6231: **/
6232: FND_MESSAGE.SET_NAME('QP','QP_STATIC_OR_DYNAMIC_FORMULA');
6233: l_msg_txt := FND_MESSAGE.GET;
6234:
6235: INSERT INTO QP_INTERFACE_ERRORS
6236: (error_id,last_update_date, last_updated_by, creation_date,
6229: Only one formula should be inserted or updated in a line. Either PriceBy or Generate Formula is to be used.
6230: If one is used the other should be set to null. If both are used then an error should be thrown.
6231: **/
6232: FND_MESSAGE.SET_NAME('QP','QP_STATIC_OR_DYNAMIC_FORMULA');
6233: l_msg_txt := FND_MESSAGE.GET;
6234:
6235: INSERT INTO QP_INTERFACE_ERRORS
6236: (error_id,last_update_date, last_updated_by, creation_date,
6237: created_by, last_update_login, request_id, program_application_id,
6257:
6258: -- Bug# 5236656 RAVI
6259: -- Change the message that needs to be thrown.
6260:
6261: FND_MESSAGE.SET_NAME('QP','QP_PRC_FOR_NAME_ID_INCMPTBLE');
6262: l_msg_txt := FND_MESSAGE.GET;
6263:
6264: INSERT INTO QP_INTERFACE_ERRORS
6265: (error_id,last_update_date, last_updated_by, creation_date,
6258: -- Bug# 5236656 RAVI
6259: -- Change the message that needs to be thrown.
6260:
6261: FND_MESSAGE.SET_NAME('QP','QP_PRC_FOR_NAME_ID_INCMPTBLE');
6262: l_msg_txt := FND_MESSAGE.GET;
6263:
6264: INSERT INTO QP_INTERFACE_ERRORS
6265: (error_id,last_update_date, last_updated_by, creation_date,
6266: created_by, last_update_login, request_id, program_application_id,
6331:
6332: -- Bug# 5236656 RAVI START
6333: -- Change the message that needs to be thrown.
6334:
6335: FND_MESSAGE.SET_NAME('QP','QP_GEN_FOR_NAME_ID_INCMPTBLE');
6336: l_msg_txt := FND_MESSAGE.GET;
6337:
6338: INSERT INTO QP_INTERFACE_ERRORS
6339: (error_id,last_update_date, last_updated_by, creation_date,
6332: -- Bug# 5236656 RAVI START
6333: -- Change the message that needs to be thrown.
6334:
6335: FND_MESSAGE.SET_NAME('QP','QP_GEN_FOR_NAME_ID_INCMPTBLE');
6336: l_msg_txt := FND_MESSAGE.GET;
6337:
6338: INSERT INTO QP_INTERFACE_ERRORS
6339: (error_id,last_update_date, last_updated_by, creation_date,
6340: created_by, last_update_login, request_id, program_application_id,
6362: IF SQL%ROWCOUNT >0 THEN
6363: qp_bulk_loader_pub.write_log('Generate formula ID and Name are incompatible');
6364: END IF;
6365:
6366: --FND_MESSAGE.SET_NAME('QP','QP_INVALID_FORMULA_FOR_PL');
6367: --l_msg_txt := FND_MESSAGE.GET;
6368: -- Bug# 5236656 RAVI END
6369:
6370: INSERT INTO QP_INTERFACE_ERRORS
6363: qp_bulk_loader_pub.write_log('Generate formula ID and Name are incompatible');
6364: END IF;
6365:
6366: --FND_MESSAGE.SET_NAME('QP','QP_INVALID_FORMULA_FOR_PL');
6367: --l_msg_txt := FND_MESSAGE.GET;
6368: -- Bug# 5236656 RAVI END
6369:
6370: INSERT INTO QP_INTERFACE_ERRORS
6371: (error_id,last_update_date, last_updated_by, creation_date,
6418: --6. PBH not allowed in Basic pricing
6419: -- Basic_Pricing_Condition
6420:
6421: IF QP_BULK_LOADER_PUB.GET_QP_STATUS <> 'I' THEN
6422: FND_MESSAGE.SET_NAME('QP','QP_PBH_NA_BASIC');
6423: --Price Break Header not allowed in Basic Pricing
6424: l_msg_txt := FND_MESSAGE.GET;
6425:
6426: INSERT INTO QP_INTERFACE_ERRORS
6420:
6421: IF QP_BULK_LOADER_PUB.GET_QP_STATUS <> 'I' THEN
6422: FND_MESSAGE.SET_NAME('QP','QP_PBH_NA_BASIC');
6423: --Price Break Header not allowed in Basic Pricing
6424: l_msg_txt := FND_MESSAGE.GET;
6425:
6426: INSERT INTO QP_INTERFACE_ERRORS
6427: (error_id,last_update_date, last_updated_by, creation_date,
6428: created_by, last_update_login, request_id, program_application_id,
6443:
6444: END IF;
6445:
6446: --7. Product Attribute
6447: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6448: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6449: l_msg_txt := FND_MESSAGE.GET;
6450:
6451: INSERT INTO QP_INTERFACE_ERRORS
6444: END IF;
6445:
6446: --7. Product Attribute
6447: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6448: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6449: l_msg_txt := FND_MESSAGE.GET;
6450:
6451: INSERT INTO QP_INTERFACE_ERRORS
6452: (error_id,last_update_date, last_updated_by, creation_date,
6445:
6446: --7. Product Attribute
6447: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6448: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6449: l_msg_txt := FND_MESSAGE.GET;
6450:
6451: INSERT INTO QP_INTERFACE_ERRORS
6452: (error_id,last_update_date, last_updated_by, creation_date,
6453: created_by, last_update_login, request_id, program_application_id,
6492:
6493: --Bug# 5456164 START RAVI
6494: --Validate product attribute
6495: --8. Product Attribute
6496: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6497: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6498: l_msg_txt := FND_MESSAGE.GET;
6499:
6500: INSERT INTO QP_INTERFACE_ERRORS
6493: --Bug# 5456164 START RAVI
6494: --Validate product attribute
6495: --8. Product Attribute
6496: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6497: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6498: l_msg_txt := FND_MESSAGE.GET;
6499:
6500: INSERT INTO QP_INTERFACE_ERRORS
6501: (error_id,last_update_date, last_updated_by, creation_date,
6494: --Validate product attribute
6495: --8. Product Attribute
6496: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6497: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Product Attribute ');
6498: l_msg_txt := FND_MESSAGE.GET;
6499:
6500: INSERT INTO QP_INTERFACE_ERRORS
6501: (error_id,last_update_date, last_updated_by, creation_date,
6502: created_by, last_update_login, request_id, program_application_id,
6594: AND qpip.rowid = b.rowid);
6595:
6596: --Validate pricing attribute
6597: --9. Pricing Attribute
6598: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6599: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Pricing Attribute ');
6600: l_msg_txt := FND_MESSAGE.GET;
6601:
6602: INSERT INTO QP_INTERFACE_ERRORS
6595:
6596: --Validate pricing attribute
6597: --9. Pricing Attribute
6598: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6599: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Pricing Attribute ');
6600: l_msg_txt := FND_MESSAGE.GET;
6601:
6602: INSERT INTO QP_INTERFACE_ERRORS
6603: (error_id,last_update_date, last_updated_by, creation_date,
6596: --Validate pricing attribute
6597: --9. Pricing Attribute
6598: FND_MESSAGE.SET_NAME('QP','QP_INVALID_ATTRIBUTE');
6599: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Pricing Attribute ');
6600: l_msg_txt := FND_MESSAGE.GET;
6601:
6602: INSERT INTO QP_INTERFACE_ERRORS
6603: (error_id,last_update_date, last_updated_by, creation_date,
6604: created_by, last_update_login, request_id, program_application_id,