106:
107:
108: BEGIN
109:
110: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
111:
112: -- make ids null or g_miss. this checking should be removed from table handlers
113:
114:
345: := l_qte_line_dtl_rec.SERVICE_REF_LINE_ID;
346: l_line_rtlship_rec.related_quote_line_id
347: := x_qte_line_rec.quote_line_id;
348: l_line_rtlship_rec.relationship_type_code := 'SERVICE';
349: l_line_rtlship_rec.reciprocal_flag := FND_API.G_FALSE;
350:
351: ASO_LINE_RLTSHIP_PVT.Create_line_rltship(
352: P_Api_Version_Number => 1.0,
353: P_LINE_RLTSHIP_Rec => l_line_rtlship_rec,
368: END IF;
369:
370: ASO_VALIDATE_PVT.Validate_Promotion (
371: P_Api_Version_Number => 1.0,
372: P_Init_Msg_List => FND_API.G_FALSE,
373: P_Commit => FND_API.G_FALSE,
374: p_price_attr_tbl => p_price_attributes_tbl,
375: x_price_attr_tbl => lx_price_attr_tbl,
376: x_return_status => x_return_status,
369:
370: ASO_VALIDATE_PVT.Validate_Promotion (
371: P_Api_Version_Number => 1.0,
372: P_Init_Msg_List => FND_API.G_FALSE,
373: P_Commit => FND_API.G_FALSE,
374: p_price_attr_tbl => p_price_attributes_tbl,
375: x_price_attr_tbl => lx_price_attr_tbl,
376: x_return_status => x_return_status,
377: x_msg_count => x_msg_count,
381: aso_debug_pub.add('after calling Validate_Promotion ', 1, 'Y');
382: aso_debug_pub.add('Validate_Promotion Return Status: '||x_return_status, 1, 'Y');
383: END IF;
384:
385: if x_return_status <> fnd_api.g_ret_sts_success then
386: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
382: aso_debug_pub.add('Validate_Promotion Return Status: '||x_return_status, 1, 'Y');
383: END IF;
384:
385: if x_return_status <> fnd_api.g_ret_sts_success then
386: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
390: ELSE
383: END IF;
384:
385: if x_return_status <> fnd_api.g_ret_sts_success then
386: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
390: ELSE
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
384:
385: if x_return_status <> fnd_api.g_ret_sts_success then
386: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
390: ELSE
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
392: END IF;
385: if x_return_status <> fnd_api.g_ret_sts_success then
386: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
390: ELSE
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
392: END IF;
393: end if;
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
389: RAISE FND_API.G_EXC_ERROR;
390: ELSE
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
392: END IF;
393: end if;
394:
395:
1035: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1036: aso_debug_pub.add('Insert_Quote_Line_Rows: After call to create_payment_row: x_return_status: '||x_return_status, 1, 'Y');
1037: END IF;
1038:
1039: if x_return_status <> fnd_api.g_ret_sts_success then
1040: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1036: aso_debug_pub.add('Insert_Quote_Line_Rows: After call to create_payment_row: x_return_status: '||x_return_status, 1, 'Y');
1037: END IF;
1038:
1039: if x_return_status <> fnd_api.g_ret_sts_success then
1040: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSE
1037: END IF;
1038:
1039: if x_return_status <> fnd_api.g_ret_sts_success then
1040: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSE
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1038:
1039: if x_return_status <> fnd_api.g_ret_sts_success then
1040: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSE
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1039: if x_return_status <> fnd_api.g_ret_sts_success then
1040: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSE
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1047: end if;
1041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1042: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSE
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1047: end if;
1048:
1049: x_payment_tbl(i).payment_term_id_from := l_payment_rec.payment_term_id_from;
1180: P_Price_Adj_Attr_Tbl IN ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type := ASO_QUOTE_PUB.G_Miss_PRICE_ADJ_ATTR_Tbl,
1181: P_Line_Attribs_Ext_Tbl IN ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_type := ASO_QUOTE_PUB.G_Miss_Line_Attribs_Ext_Tbl,
1182: P_Sales_Credit_Tbl IN ASO_QUOTE_PUB.Sales_Credit_Tbl_Type := ASO_QUOTE_PUB.G_MISS_Sales_Credit_Tbl,
1183: P_Quote_Party_Tbl IN ASO_QUOTE_PUB.Quote_Party_Tbl_Type := ASO_QUOTE_PUB.G_MISS_Quote_Party_Tbl,
1184: P_Update_Header_Flag IN VARCHAR2 := FND_API.G_TRUE,
1185: P_operation_code IN VARCHAR2,
1186: X_Qte_Line_Rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Rec_Type,
1187: X_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Payment_Tbl_Type,
1188: X_Price_Adj_Tbl OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Price_Adj_Tbl_Type,
1284: l_total_quantity NUMBER;
1285: l_shipment_quantity NUMBER;
1286: l_shipment_rec_count NUMBER;
1287: l_line_number NUMBER;
1288: l_check VARCHAR2(1) := FND_API.G_FALSE;
1289: l_customer_id NUMBER;
1290: l_acct NUMBER;
1291: l_party NUMBER;
1292: l_coterminate_flag VARCHAR2(1);
1293: l_start_date DATE;
1294: l_end_date DATE;
1295: l_service_period VARCHAR2(200);
1296: l_service_duration NUMBER;
1297: calc_service VARCHAR2(1) := FND_API.G_FALSE;
1298: l_inventory_item_id NUMBER;
1299: l_organization_id NUMBER;
1300: i NUMBER;
1301: l_serviceable_line_number NUMBER;
1319: l_hd_shipment_tbl ASO_QUOTE_PUB.Shipment_Tbl_Type;
1320: l_hd_shipment_rec ASO_QUOTE_PUB.Shipment_Rec_Type;
1321: l_hd_price_attr_tbl ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
1322:
1323: l_call_get_duration VARCHAR2(1) := FND_API.G_FALSE;
1324: /* New Variable for changes */
1325: l_Qte_Line_Dtl_tbl_out ASO_QUOTE_PUB.Qte_Line_Dtl_tbl_Type;
1326: l_qte_line_rec_out ASO_QUOTE_PUB.Qte_Line_Rec_Type;
1327: l_ship_model_complete_flag VARCHAR2(1);
1331: l_config_model_type varchar2(1);
1332:
1333: BEGIN
1334:
1335: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
1336:
1337: l_Qte_Line_Rec := p_Qte_Line_Rec ;
1338: l_Payment_Tbl := p_Payment_Tbl ;
1339: l_Price_Adj_Tbl := p_Price_Adj_Tbl ;
1355: IF p_operation_code = 'CREATE' THEN
1356:
1357: -- default org id from header
1358:
1359: IF l_qte_line_rec.org_id is NULL OR l_qte_line_rec.org_id = FND_API.G_MISS_NUM THEN
1360:
1361: OPEN C_org_id;
1362: FETCH C_org_id into l_qte_line_rec.org_id;
1363:
1376: END IF;
1377:
1378: -- default organization_id from profile
1379:
1380: IF l_qte_line_rec.organization_id is NULL or l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
1381:
1382: l_qte_line_rec.organization_id := oe_profile.value('OE_ORGANIZATION_ID',l_qte_line_rec.org_id);
1383:
1384: IF l_qte_line_rec.organization_id is NULL or l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
1380: IF l_qte_line_rec.organization_id is NULL or l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
1381:
1382: l_qte_line_rec.organization_id := oe_profile.value('OE_ORGANIZATION_ID',l_qte_line_rec.org_id);
1383:
1384: IF l_qte_line_rec.organization_id is NULL or l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
1385:
1386: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1387: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_ID');
1388: FND_MESSAGE.Set_Token('COLUMN', 'ORGANIZATION_ID', FALSE);
1399:
1400:
1401: -- item_type code
1402:
1403: IF l_qte_line_rec.item_type_code is NULL OR l_qte_line_rec.item_type_code = FND_API.G_MISS_CHAR THEN
1404:
1405: SELECT Decode(i.bom_item_type , 1, 'MDL',2,'OPT',3,'PLN',4,'STD')
1406: INTO l_qte_line_rec.item_type_code
1407: FROM mtl_system_items_b i
1417: END IF;
1418:
1419: END IF;
1420:
1421: END IF; --IF l_qte_line_rec.item_type_code is NULL OR l_qte_line_rec.item_type_code = FND_API.G_MISS_CHAR
1422:
1423:
1424:
1425:
1428: -- default charge_periodicity_code from Inventory
1429:
1430: if p_control_rec.defaulting_fwk_flag = 'N' then
1431:
1432: IF l_qte_line_rec.charge_periodicity_code is NULL OR l_qte_line_rec.charge_periodicity_code = FND_API.G_MISS_CHAR THEN
1433:
1434: l_master_organization_id := oe_sys_parameters.value(param_name => 'MASTER_ORGANIZATION_ID', p_org_id => l_qte_line_rec.org_id);
1435:
1436: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1454: END IF;
1455: end if;
1456:
1457:
1458: IF l_qte_line_rec.quantity is null or l_qte_line_rec.quantity = FND_API.G_MISS_NUM THEN
1459: l_qte_line_rec.quantity := nvl(fnd_profile.value(name => 'ASO_DEFAULT_QTY'),1);
1460: END IF;
1461:
1462:
1473: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1474: FND_MESSAGE.Set_Name('ASO', 'ASO_API_TOO_MANY_SHIPMENTS');
1475: FND_MSG_PUB.ADD;
1476: END IF;
1477: raise FND_API.G_EXC_ERROR;
1478: END IF;
1479: END LOOP;
1480:
1481: END IF;
1490: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1491: FND_MESSAGE.Set_Name('ASO', 'ASO_API_TOO_MANY_SHIPMENTS');
1492: FND_MSG_PUB.ADD;
1493: END IF;
1494: raise FND_API.G_EXC_ERROR;
1495:
1496: ELSIF l_shipment_tbl.count > 0 THEN
1497:
1498: IF l_qte_line_rec.quantity <> l_shipment_tbl(1).quantity THEN
1511: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_INFO');
1512: FND_MESSAGE.Set_Token('COLUMN','ITEM RELATED', FALSE);
1513: FND_MSG_PUB.Add;
1514: END IF;
1515: raise FND_API.G_EXC_ERROR;
1516:
1517: ELSE
1518:
1519: -- pnpl changes
1523: if (l_installment_option = 'ENABLE_PAY_NOW') THEN
1524:
1525: --if ((p_control_rec.defaulting_fwk_flag = 'N') and (l_installment_option = 'ENABLE_PAYNOW')) THEN
1526:
1527: if (l_payment_term_id is not null and l_payment_term_id <> fnd_api.g_miss_num) then
1528:
1529: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1530: aso_debug_pub.add('Populate_Quote_lines:Setting the payment term for line from item master ', 1, 'N');
1531: END IF;
1534: l_payment_tbl(1).operation_code := 'CREATE';
1535: l_payment_tbl(1).quote_header_id := l_qte_line_rec.quote_header_id ;
1536: l_payment_tbl(1).payment_term_id := l_payment_term_id;
1537: l_payment_tbl(1).qte_line_index := 1;
1538: ELSIF (l_payment_tbl.count= 1 and l_payment_tbl(1).payment_term_id = FND_API.G_MISS_NUM
1539: and l_payment_tbl(1).operation_code = 'CREATE') THEN
1540: l_payment_tbl(1).payment_term_id := l_payment_term_id;
1541: End if;
1542: end if;
1547:
1548:
1549: -- default uom code
1550:
1551: IF l_qte_line_rec.uom_code IS NULL OR l_qte_line_rec.uom_code = FND_API.G_MISS_CHAR THEN
1552: l_qte_line_rec.uom_code := l_uom_code;
1553: END IF;
1554:
1555: -- Default the ship model complete flag and config model type
1570: -- find end date for service
1571:
1572: IF nvl(l_service_item_flag,'N') = 'Y' THEN
1573:
1574: IF P_Qte_Line_Rec.start_date_active is NULL OR P_Qte_Line_Rec.start_date_active = FND_API.G_MISS_DATE THEN
1575:
1576: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1577: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
1578: FND_MESSAGE.Set_Token('COLUMN', 'START_DATE_ACTIVE', FALSE);
1577: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
1578: FND_MESSAGE.Set_Token('COLUMN', 'START_DATE_ACTIVE', FALSE);
1579: FND_MSG_PUB.ADD;
1580: END IF;
1581: RAISE FND_API.G_EXC_ERROR;
1582:
1583: END IF;
1584:
1585: -- if account id is not null use account id otherwise use party id
1609: end if;
1610:
1611: ASO_SERVICE_CONTRACTS_INT.Get_service_attributes(
1612: P_Api_Version_Number => 1,
1613: P_init_msg_list => FND_API.G_FALSE,
1614: P_Qte_Line_Rec => P_Qte_Line_Rec,
1615: P_Qte_Line_Dtl_tbl => P_Qte_Line_Dtl_tbl,
1616: X_msg_Count => X_msg_Count,
1617: X_msg_Data => X_msg_Data,
1620: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1621: aso_debug_pub.add('Populate_Quote_lines:Create :after get service attr '||X_Return_Status, 1, 'N');
1622: end if;
1623:
1624: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1625: RAISE FND_API.G_EXC_ERROR;
1626: END IF;
1627:
1628: -- New code begins 04/26/2002
1621: aso_debug_pub.add('Populate_Quote_lines:Create :after get service attr '||X_Return_Status, 1, 'N');
1622: end if;
1623:
1624: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1625: RAISE FND_API.G_EXC_ERROR;
1626: END IF;
1627:
1628: -- New code begins 04/26/2002
1629:
1631: aso_debug_pub.add('Populate_quote_lines: l_qte_line_dtl_tbl.count: '|| l_qte_line_dtl_tbl.count,1,'N');
1632: aso_debug_pub.add('Populate_quote_lines: p_qte_line_dtl_tbl.count: '|| p_qte_line_dtl_tbl.count,1,'N');
1633: end if;
1634:
1635: l_call_get_duration := FND_API.G_FALSE;
1636:
1637: IF l_qte_line_rec.end_date_active is NOT NULL AND l_qte_line_rec.end_date_active = FND_API.G_MISS_DATE THEN
1638:
1639: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1633: end if;
1634:
1635: l_call_get_duration := FND_API.G_FALSE;
1636:
1637: IF l_qte_line_rec.end_date_active is NOT NULL AND l_qte_line_rec.end_date_active = FND_API.G_MISS_DATE THEN
1638:
1639: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1640: aso_debug_pub.add('Populate_quote_lines: First IF cond G_MISS_DATE', 1, 'N');
1641: end if;
1641: end if;
1642:
1643: IF l_qte_line_dtl_tbl.count > 0 THEN
1644: l_qte_line_rec.end_date_active := null;
1645: l_call_get_duration := FND_API.G_TRUE;
1646: ELSE
1647: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1648: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_SRV_INFO5');
1649: FND_MSG_PUB.Add;
1647: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1648: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_SRV_INFO5');
1649: FND_MSG_PUB.Add;
1650: END IF;
1651: RAISE FND_API.G_EXC_ERROR;
1652: END IF;
1653:
1654: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1655: aso_debug_pub.add('Populate_quote_lines: l_qte_line_rec.end_date_active: '|| l_qte_line_rec.end_date_active,1,'N');
1654: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1655: aso_debug_pub.add('Populate_quote_lines: l_qte_line_rec.end_date_active: '|| l_qte_line_rec.end_date_active,1,'N');
1656: end if;
1657:
1658: IF l_qte_line_dtl_tbl(1).Service_Duration is NOT NULL AND l_qte_line_dtl_tbl(1).Service_Duration = FND_API.G_MISS_NUM THEN
1659: l_qte_line_dtl_tbl(1).Service_Duration := null;
1660: END IF;
1661:
1662: if aso_debug_pub.g_debug_flag = 'Y' THEN
1662: if aso_debug_pub.g_debug_flag = 'Y' THEN
1663: aso_debug_pub.add('Populate_quote_lines: l_qte_line_dtl_tbl(1).Service_Duration: '|| l_qte_line_dtl_tbl(1).Service_Duration,1,'N');
1664: end if;
1665:
1666: IF l_qte_line_dtl_tbl(1).Service_period is NOT NULL AND l_qte_line_dtl_tbl(1).Service_period = FND_API.G_MISS_CHAR THEN
1667: l_qte_line_dtl_tbl(1).Service_period := null;
1668: END IF;
1669:
1670: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1670: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1671: aso_debug_pub.add('Populate_quote_lines: l_qte_line_dtl_tbl(1).Service_period: '|| l_qte_line_dtl_tbl(1).Service_period,1,'N');
1672: end if;
1673:
1674: IF l_qte_line_dtl_tbl(1).service_coterminate_flag is NOT NULL AND l_qte_line_dtl_tbl(1).service_coterminate_flag <> FND_API.G_MISS_CHAR THEN
1675: l_qte_line_dtl_tbl(1).service_coterminate_flag := null;
1676: END IF;
1677:
1678: if aso_debug_pub.g_debug_flag = 'Y' THEN
1711: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).service_period: '||l_qte_line_dtl_tbl(1).service_period, 1, 'N');
1712: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).Service_Duration: '||l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
1713: end if;
1714:
1715: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1716: RAISE FND_API.G_EXC_ERROR;
1717: END IF;
1718:
1719: ELSIF l_qte_line_rec.end_date_active IS NULL AND l_qte_line_dtl_tbl.count = 0 THEN
1712: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).Service_Duration: '||l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
1713: end if;
1714:
1715: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1716: RAISE FND_API.G_EXC_ERROR;
1717: END IF;
1718:
1719: ELSIF l_qte_line_rec.end_date_active IS NULL AND l_qte_line_dtl_tbl.count = 0 THEN
1720:
1726: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_SRV_INFO5');
1727: FND_MSG_PUB.Add;
1728: END IF;
1729:
1730: RAISE FND_API.G_EXC_ERROR;
1731:
1732: ELSE
1733:
1734: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1734: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1735: aso_debug_pub.add('Populate_quote_lines: ELSE Cond not end date NULL', 1, 'N');
1736: end if;
1737:
1738: l_call_get_duration := FND_API.G_TRUE;
1739:
1740: IF l_qte_line_dtl_tbl(1).Service_Duration is NOT NULL
1741: AND l_qte_line_dtl_tbl(1).Service_Duration = FND_API.G_MISS_NUM THEN
1742:
1737:
1738: l_call_get_duration := FND_API.G_TRUE;
1739:
1740: IF l_qte_line_dtl_tbl(1).Service_Duration is NOT NULL
1741: AND l_qte_line_dtl_tbl(1).Service_Duration = FND_API.G_MISS_NUM THEN
1742:
1743: l_qte_line_dtl_tbl(1).Service_Duration := null;
1744: END IF;
1745:
1743: l_qte_line_dtl_tbl(1).Service_Duration := null;
1744: END IF;
1745:
1746: IF l_qte_line_dtl_tbl(1).Service_period is NOT NULL
1747: AND l_qte_line_dtl_tbl(1).Service_period = FND_API.G_MISS_CHAR THEN
1748:
1749: l_qte_line_dtl_tbl(1).Service_period := null;
1750: END IF;
1751:
1749: l_qte_line_dtl_tbl(1).Service_period := null;
1750: END IF;
1751:
1752: IF l_qte_line_dtl_tbl(1).service_coterminate_flag is NOT NULL
1753: AND l_qte_line_dtl_tbl(1).service_coterminate_flag <> FND_API.G_MISS_CHAR THEN
1754:
1755: l_qte_line_dtl_tbl(1).service_coterminate_flag := null;
1756: END IF;
1757:
1760: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1761: aso_debug_pub.add('Populate_quote_lines: Before call to Get_Duration: l_call_get_duration: '||l_call_get_duration,1,'N');
1762: end if;
1763:
1764: IF l_call_get_duration = FND_API.G_TRUE THEN
1765:
1766: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1767: aso_debug_pub.add('Populate_quote_lines: Inside IF l_call_get_duration = FND_API.G_TRUE Cond ', 1, 'N');
1768: end if;
1763:
1764: IF l_call_get_duration = FND_API.G_TRUE THEN
1765:
1766: IF aso_debug_pub.g_debug_flag = 'Y' THEN
1767: aso_debug_pub.add('Populate_quote_lines: Inside IF l_call_get_duration = FND_API.G_TRUE Cond ', 1, 'N');
1768: end if;
1769:
1770: ASO_Service_Contracts_INT.Get_Duration(
1771: P_Api_Version_Number => 1.0,
1793: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).service_period: '||l_qte_line_dtl_tbl(1).service_period, 1, 'N');
1794: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).Service_Duration: '||l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
1795: end if;
1796:
1797: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1798: RAISE FND_API.G_EXC_ERROR;
1799: END IF;
1800:
1801: END IF; --l_call_get_duration = FND_API.G_TRUE
1794: aso_debug_pub.add('After call to ASO Get_Duration: l_qte_line_dtl_tbl(1).Service_Duration: '||l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
1795: end if;
1796:
1797: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1798: RAISE FND_API.G_EXC_ERROR;
1799: END IF;
1800:
1801: END IF; --l_call_get_duration = FND_API.G_TRUE
1802:
1797: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1798: RAISE FND_API.G_EXC_ERROR;
1799: END IF;
1800:
1801: END IF; --l_call_get_duration = FND_API.G_TRUE
1802:
1803: END IF; -- Service_item_flag
1804:
1805: --populate the config_item_id and bom_sort_order column values from cz_config_details_v
1821: aso_debug_pub.add('l_qte_line_dtl_tbl('||i||').bom_sort_order: '||l_qte_line_dtl_tbl(i).bom_sort_order);
1822: end if;
1823:
1824: if ( l_qte_line_dtl_tbl(i).config_header_id is not null and
1825: l_qte_line_dtl_tbl(i).config_header_id <> fnd_api.g_miss_num ) and
1826: ( l_qte_line_dtl_tbl(i).config_revision_num is not null and
1827: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
1828: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
1829:
1823:
1824: if ( l_qte_line_dtl_tbl(i).config_header_id is not null and
1825: l_qte_line_dtl_tbl(i).config_header_id <> fnd_api.g_miss_num ) and
1826: ( l_qte_line_dtl_tbl(i).config_revision_num is not null and
1827: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
1828: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
1829:
1830: if ( l_qte_line_dtl_tbl(i).config_item_id is null or l_qte_line_dtl_tbl(i).config_item_id = fnd_api.g_miss_num ) then
1831:
1826: ( l_qte_line_dtl_tbl(i).config_revision_num is not null and
1827: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
1828: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
1829:
1830: if ( l_qte_line_dtl_tbl(i).config_item_id is null or l_qte_line_dtl_tbl(i).config_item_id = fnd_api.g_miss_num ) then
1831:
1832: open c_config_item_id( l_qte_line_dtl_tbl(i).config_header_id,
1833: l_qte_line_dtl_tbl(i).config_revision_num,
1834: l_qte_line_dtl_tbl(i).component_code );
1846: aso_debug_pub.add('Inside c_config_item_id%notfound cond.');
1847: end if;
1848:
1849: close c_config_item_id;
1850: raise fnd_api.g_exc_error;
1851: end if;
1852:
1853: close c_config_item_id;
1854:
1851: end if;
1852:
1853: close c_config_item_id;
1854:
1855: elsif ( l_qte_line_dtl_tbl(i).bom_sort_order is null or l_qte_line_dtl_tbl(i).bom_sort_order = fnd_api.g_miss_char ) then
1856:
1857: open c_bom_sort_order( l_qte_line_dtl_tbl(i).config_header_id,
1858: l_qte_line_dtl_tbl(i).config_revision_num,
1859: l_qte_line_dtl_tbl(i).config_item_id );
1870: aso_debug_pub.add('Inside c_bom_sort_order%notfound cond.');
1871: end if;
1872:
1873: close c_bom_sort_order;
1874: raise fnd_api.g_exc_error;
1875:
1876: end if;
1877: close c_bom_sort_order;
1878:
1875:
1876: end if;
1877: close c_bom_sort_order;
1878:
1879: end if; --l_qte_line_dtl_tbl(i).config_item_id is null or l_qte_line_dtl_tbl(i).config_item_id = fnd_api.g_miss_num
1880:
1881: end if; --l_qte_line_dtl_tbl(i).config_header_id is not null and
1882:
1883: end loop;
1955:
1956: Close C_Item1;
1957:
1958:
1959: IF (l_qte_line_rec.line_number IS NULL OR l_qte_line_rec.line_number = FND_API.G_MISS_NUM) THEN
1960:
1961: SELECT max(line_number) into l_line_number
1962: FROM aso_quote_lines_all
1963: WHERE quote_header_id = l_qte_line_rec.quote_header_id;
1990:
1991:
1992: IF p_operation_code = 'UPDATE' THEN
1993:
1994: l_qte_line_rec.service_item_flag := fnd_api.g_miss_char;
1995: l_qte_line_rec.serviceable_product_flag := fnd_api.g_miss_char;
1996: l_qte_line_rec.config_model_type := fnd_api.g_miss_char;
1997:
1998:
1991:
1992: IF p_operation_code = 'UPDATE' THEN
1993:
1994: l_qte_line_rec.service_item_flag := fnd_api.g_miss_char;
1995: l_qte_line_rec.serviceable_product_flag := fnd_api.g_miss_char;
1996: l_qte_line_rec.config_model_type := fnd_api.g_miss_char;
1997:
1998:
1999: --Made changes in cursor to select inventory_item_id for Bug#2930734
1992: IF p_operation_code = 'UPDATE' THEN
1993:
1994: l_qte_line_rec.service_item_flag := fnd_api.g_miss_char;
1995: l_qte_line_rec.serviceable_product_flag := fnd_api.g_miss_char;
1996: l_qte_line_rec.config_model_type := fnd_api.g_miss_char;
1997:
1998:
1999: --Made changes in cursor to select inventory_item_id for Bug#2930734
2000:
2015: CLOSE C_header;
2016:
2017: --Made the following changes for Bug#2930734
2018:
2019: IF l_qte_line_rec.organization_id IS NULL OR l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
2020: l_qte_line_rec.organization_id := l_organization_id;
2021: END IF;
2022:
2023: if l_qte_line_rec.inventory_item_id = fnd_api.g_miss_num then
2019: IF l_qte_line_rec.organization_id IS NULL OR l_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
2020: l_qte_line_rec.organization_id := l_organization_id;
2021: END IF;
2022:
2023: if l_qte_line_rec.inventory_item_id = fnd_api.g_miss_num then
2024: l_qte_line_rec.inventory_item_id := l_inventory_item_id;
2025: end if;
2026:
2027: if aso_debug_pub.g_debug_flag = 'Y' then
2052: IF l_qte_line_rec.quantity is null then
2053:
2054: l_qte_line_rec.quantity := nvl(fnd_profile.value(name => 'ASO_DEFAULT_QTY'),1);
2055:
2056: ELSIF l_qte_line_rec.quantity = FND_API.G_MISS_NUM THEN
2057:
2058: select quantity into l_qte_line_rec.quantity from aso_quote_lines_All
2059: where quote_line_id = l_qte_line_rec.quote_line_id;
2060:
2066: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2067: FND_MESSAGE.Set_Name('ASO', 'ASO_API_TOO_MANY_SHIPMENTS');
2068: FND_MSG_PUB.ADD;
2069: END IF;
2070: raise FND_API.G_EXC_ERROR;
2071:
2072: ELSIF l_shipment_tbl.count > 0 THEN
2073:
2074: IF l_qte_line_rec.quantity <> l_shipment_tbl(1).quantity THEN
2101: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2102: FND_MESSAGE.Set_Name('ASO', 'ASO_API_TOO_MANY_SHIPMENT');
2103: FND_MSG_PUB.ADD;
2104: END IF;
2105: raise FND_API.G_EXC_ERROR;
2106: END IF;
2107:
2108: END LOOP;
2109:
2125: FND_MSG_PUB.Add;
2126: END IF;
2127:
2128: close c_item1;
2129: raise FND_API.G_EXC_ERROR;
2130:
2131: end if;
2132:
2133: close c_item1;
2153: FND_MESSAGE.Set_Token('COLUMN', 'START_DATE_ACTIVE', FALSE);
2154: FND_MSG_PUB.ADD;
2155: END IF;
2156:
2157: RAISE FND_API.G_EXC_ERROR;
2158:
2159: end if;
2160:
2161: --Check if any of the service attributes has changed
2159: end if;
2160:
2161: --Check if any of the service attributes has changed
2162:
2163: l_call_get_duration := FND_API.G_FALSE;
2164:
2165: if (p_qte_line_rec.start_date_active <> FND_API.G_MISS_DATE) OR (p_qte_line_rec.end_date_active <> FND_API.G_MISS_DATE) then
2166:
2167: l_call_get_duration := FND_API.G_TRUE;
2161: --Check if any of the service attributes has changed
2162:
2163: l_call_get_duration := FND_API.G_FALSE;
2164:
2165: if (p_qte_line_rec.start_date_active <> FND_API.G_MISS_DATE) OR (p_qte_line_rec.end_date_active <> FND_API.G_MISS_DATE) then
2166:
2167: l_call_get_duration := FND_API.G_TRUE;
2168:
2169: elsif p_qte_line_dtl_tbl.count > 0 then
2163: l_call_get_duration := FND_API.G_FALSE;
2164:
2165: if (p_qte_line_rec.start_date_active <> FND_API.G_MISS_DATE) OR (p_qte_line_rec.end_date_active <> FND_API.G_MISS_DATE) then
2166:
2167: l_call_get_duration := FND_API.G_TRUE;
2168:
2169: elsif p_qte_line_dtl_tbl.count > 0 then
2170:
2171: if (p_qte_line_dtl_tbl(1).service_duration <> FND_API.G_MISS_NUM) OR (p_qte_line_dtl_tbl(1).service_period <> FND_API.G_MISS_CHAR) then
2167: l_call_get_duration := FND_API.G_TRUE;
2168:
2169: elsif p_qte_line_dtl_tbl.count > 0 then
2170:
2171: if (p_qte_line_dtl_tbl(1).service_duration <> FND_API.G_MISS_NUM) OR (p_qte_line_dtl_tbl(1).service_period <> FND_API.G_MISS_CHAR) then
2172:
2173: l_call_get_duration := FND_API.G_TRUE;
2174:
2175: end if;
2169: elsif p_qte_line_dtl_tbl.count > 0 then
2170:
2171: if (p_qte_line_dtl_tbl(1).service_duration <> FND_API.G_MISS_NUM) OR (p_qte_line_dtl_tbl(1).service_period <> FND_API.G_MISS_CHAR) then
2172:
2173: l_call_get_duration := FND_API.G_TRUE;
2174:
2175: end if;
2176:
2177: end if;
2175: end if;
2176:
2177: end if;
2178:
2179: if l_call_get_duration = FND_API.G_TRUE then
2180:
2181: OPEN C_service_item;
2182: FETCH C_service_item INTO l_start_date, l_end_date, l_service_duration, l_service_period, l_coterminate_flag, l_customer_id, l_party;
2183:
2194: FND_MESSAGE.Set_Token('INFO', 'SERVICE RELATED', FALSE);
2195: FND_MSG_PUB.ADD;
2196: END IF;
2197:
2198: RAISE FND_API.G_EXC_ERROR;
2199:
2200: END IF;
2201:
2202: CLOSE C_service_item;
2212: aso_debug_pub.add('Populate_Quote_lines:Update :before call to ASO_SERVICE_CONTRACTS_INT.Get_service_attributes', 1, 'N');
2213: END IF;
2214:
2215: ASO_SERVICE_CONTRACTS_INT.Get_service_attributes( P_Api_Version_Number => 1,
2216: P_init_msg_list => FND_API.G_FALSE,
2217: P_Qte_Line_Rec => P_Qte_Line_Rec,
2218: P_Qte_Line_Dtl_tbl => P_Qte_Line_Dtl_tbl,
2219: X_msg_Count => X_msg_Count,
2220: X_msg_Data => X_msg_Data,
2223: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2224: aso_debug_pub.add('Populate_Quote_lines:after call to Get_service_attributes: X_Return_Status: '|| X_Return_Status, 1, 'N');
2225: end if;
2226:
2227: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2228: RAISE FND_API.G_EXC_ERROR;
2229: END IF;
2230:
2231: --print the input parameter values
2224: aso_debug_pub.add('Populate_Quote_lines:after call to Get_service_attributes: X_Return_Status: '|| X_Return_Status, 1, 'N');
2225: end if;
2226:
2227: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2228: RAISE FND_API.G_EXC_ERROR;
2229: END IF;
2230:
2231: --print the input parameter values
2232:
2267: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_SRV_INFO5');
2268: FND_MSG_PUB.Add;
2269: END IF;
2270:
2271: RAISE FND_API.G_EXC_ERROR;
2272:
2273: else
2274:
2275: l_qte_line_dtl_tbl(1).operation_code := 'UPDATE';
2282: aso_debug_pub.add('Populate_quote_lines: l_qte_line_rec.start_date_active: '|| l_qte_line_rec.start_date_active,1,'N');
2283: aso_debug_pub.add('Populate_quote_lines: l_qte_line_rec.end_date_active: '|| l_qte_line_rec.end_date_active,1,'N');
2284: end if;
2285:
2286: IF p_qte_line_rec.start_date_active = FND_API.G_MISS_DATE THEN
2287: l_qte_line_rec.start_date_active := l_start_date;
2288: END IF;
2289:
2290: IF p_qte_line_rec.end_date_active = FND_API.G_MISS_DATE THEN
2286: IF p_qte_line_rec.start_date_active = FND_API.G_MISS_DATE THEN
2287: l_qte_line_rec.start_date_active := l_start_date;
2288: END IF;
2289:
2290: IF p_qte_line_rec.end_date_active = FND_API.G_MISS_DATE THEN
2291: l_qte_line_rec.end_date_active := null;
2292: END IF;
2293:
2294: if aso_debug_pub.g_debug_flag = 'Y' then
2296: end if;
2297:
2298: if p_qte_line_dtl_tbl.count > 0 then
2299:
2300: IF l_qte_line_dtl_tbl(1).Service_Duration = FND_API.G_MISS_NUM THEN
2301: l_qte_line_dtl_tbl(1).Service_Duration := l_service_duration;
2302: END IF;
2303:
2304: IF l_qte_line_dtl_tbl(1).Service_period = FND_API.G_MISS_CHAR THEN
2300: IF l_qte_line_dtl_tbl(1).Service_Duration = FND_API.G_MISS_NUM THEN
2301: l_qte_line_dtl_tbl(1).Service_Duration := l_service_duration;
2302: END IF;
2303:
2304: IF l_qte_line_dtl_tbl(1).Service_period = FND_API.G_MISS_CHAR THEN
2305: l_qte_line_dtl_tbl(1).Service_period := l_service_period;
2306: END IF;
2307:
2308: IF l_qte_line_dtl_tbl(1).service_coterminate_flag = FND_API.G_MISS_CHAR THEN
2304: IF l_qte_line_dtl_tbl(1).Service_period = FND_API.G_MISS_CHAR THEN
2305: l_qte_line_dtl_tbl(1).Service_period := l_service_period;
2306: END IF;
2307:
2308: IF l_qte_line_dtl_tbl(1).service_coterminate_flag = FND_API.G_MISS_CHAR THEN
2309: l_qte_line_dtl_tbl(1).service_coterminate_flag := l_coterminate_flag;
2310: END IF;
2311:
2312: end if;
2310: END IF;
2311:
2312: end if;
2313:
2314: IF l_customer_id is NULL OR l_customer_id = FND_API.G_MISS_NUM THEN
2315: l_customer_id := l_party;
2316: END IF;
2317:
2318: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2349: aso_debug_pub.add('l_qte_line_dtl_tbl(1).service_period: '|| l_qte_line_dtl_tbl(1).service_period, 1, 'N');
2350: aso_debug_pub.add('l_qte_line_dtl_tbl(1).Service_Duration: '|| l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
2351: end if;
2352:
2353: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2354: RAISE FND_API.G_EXC_ERROR;
2355: END IF;
2356:
2357: end if; --if l_call_get_duration = fnd_api.g_true then
2350: aso_debug_pub.add('l_qte_line_dtl_tbl(1).Service_Duration: '|| l_qte_line_dtl_tbl(1).Service_Duration, 1, 'N');
2351: end if;
2352:
2353: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2354: RAISE FND_API.G_EXC_ERROR;
2355: END IF;
2356:
2357: end if; --if l_call_get_duration = fnd_api.g_true then
2358:
2353: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2354: RAISE FND_API.G_EXC_ERROR;
2355: END IF;
2356:
2357: end if; --if l_call_get_duration = fnd_api.g_true then
2358:
2359: end if; -- service item flag = 'Y'
2360:
2361: --Set the line_number of service items to the line_number of serviceable item, if the
2412:
2413: end if;
2414:
2415: if ( l_qte_line_dtl_tbl(i).config_header_id is not null and
2416: l_qte_line_dtl_tbl(i).config_header_id <> fnd_api.g_miss_num ) and
2417: ( l_qte_line_dtl_tbl(i).config_revision_num is not null and
2418: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
2419: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
2420:
2414:
2415: if ( l_qte_line_dtl_tbl(i).config_header_id is not null and
2416: l_qte_line_dtl_tbl(i).config_header_id <> fnd_api.g_miss_num ) and
2417: ( l_qte_line_dtl_tbl(i).config_revision_num is not null and
2418: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
2419: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
2420:
2421: if ( l_qte_line_dtl_tbl(i).config_item_id is null or
2422: l_qte_line_dtl_tbl(i).config_item_id = fnd_api.g_miss_num ) then
2418: l_qte_line_dtl_tbl(i).config_revision_num <> fnd_api.g_miss_num ) and
2419: l_qte_line_dtl_tbl(i).operation_code = 'CREATE' then
2420:
2421: if ( l_qte_line_dtl_tbl(i).config_item_id is null or
2422: l_qte_line_dtl_tbl(i).config_item_id = fnd_api.g_miss_num ) then
2423:
2424: open c_config_item_id( l_qte_line_dtl_tbl(i).config_header_id,
2425: l_qte_line_dtl_tbl(i).config_revision_num,
2426: l_qte_line_dtl_tbl(i).component_code );
2443: aso_debug_pub.add('Inside c_config_item_id%notfound cond.');
2444: end if;
2445:
2446: close c_config_item_id;
2447: raise fnd_api.g_exc_error;
2448:
2449: end if;
2450:
2451: close c_config_item_id;
2450:
2451: close c_config_item_id;
2452:
2453: elsif ( l_qte_line_dtl_tbl(i).bom_sort_order is null or
2454: l_qte_line_dtl_tbl(i).bom_sort_order = fnd_api.g_miss_char ) then
2455:
2456: open c_bom_sort_order( l_qte_line_dtl_tbl(i).config_header_id,
2457: l_qte_line_dtl_tbl(i).config_revision_num,
2458: l_qte_line_dtl_tbl(i).config_item_id );
2471: aso_debug_pub.add('Inside c_bom_sort_order%notfound cond.');
2472: end if;
2473:
2474: close c_bom_sort_order;
2475: raise fnd_api.g_exc_error;
2476:
2477: end if;
2478:
2479: close c_bom_sort_order;
2520: -- Pre-Req :
2521: -- Parameters:
2522: -- IN
2523: -- p_api_version_number IN NUMBER Required
2524: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
2525: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
2526: -- P_qte_lines_Rec IN qte_line_Rec_Type Required
2527: -- P_Payment_Tbl IN Payment_Tbl_Type
2528: -- P_Price_Adj_Tbl IN Price_Adj_Tbl_Type
2521: -- Parameters:
2522: -- IN
2523: -- p_api_version_number IN NUMBER Required
2524: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
2525: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
2526: -- P_qte_lines_Rec IN qte_line_Rec_Type Required
2527: -- P_Payment_Tbl IN Payment_Tbl_Type
2528: -- P_Price_Adj_Tbl IN Price_Adj_Tbl_Type
2529: -- P_Qte_Line_Dtl_Rec IN Qte_Line_Dtl_Rec_Type
2532: -- P_Freight_Charges_Tbl IN Freight_Charges_Tbl_Type
2533: -- P_Line_Relationship_Tbl IN Line_Relationship_Tbl_Type
2534: -- P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type
2535: -- P_Price_Adj_Relationship_Tbl IN Price_Adj_Relationship_Tbl_Type
2536: -- P_Update_Header_Flag IN VARCHAR2 Optional Default = FND_API.G_TRUE
2537:
2538: -- OUT:
2539: -- X_quote_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
2540: -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2547: -- End of Comments
2548: --
2549: PROCEDURE Create_Quote_Lines(
2550: P_Api_Version_Number IN NUMBER,
2551: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2552: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2553: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2554: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
2555: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
2548: --
2549: PROCEDURE Create_Quote_Lines(
2550: P_Api_Version_Number IN NUMBER,
2551: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2552: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2553: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2554: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
2555: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
2556: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_MISS_Control_Rec,
2549: PROCEDURE Create_Quote_Lines(
2550: P_Api_Version_Number IN NUMBER,
2551: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2552: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2553: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2554: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
2555: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
2556: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_MISS_Control_Rec,
2557: P_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := ASO_QUOTE_PUB.G_MISS_Payment_TBL,
2750: -- Standard Start of API savepoint
2751: SAVEPOINT CREATE_quote_lines_PVT;
2752:
2753: -- Standard call to check for call compatibility.
2754: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2755: p_api_version_number,
2756: l_api_name,
2757: G_PKG_NAME) THEN
2758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2754: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2755: p_api_version_number,
2756: l_api_name,
2757: G_PKG_NAME) THEN
2758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2759: END IF;
2760:
2761: -- Initialize message list if p_init_msg_list is set to TRUE.
2762: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2759: END IF;
2760:
2761: -- Initialize message list if p_init_msg_list is set to TRUE.
2762: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2763: FND_MSG_PUB.initialize;
2764: END IF;
2765:
2766: -- Initialize API return status to SUCCESS
2763: FND_MSG_PUB.initialize;
2764: END IF;
2765:
2766: -- Initialize API return status to SUCCESS
2767: x_return_status := FND_API.G_RET_STS_SUCCESS;
2768:
2769: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2770: aso_debug_pub.add('Create_Quote_lines - Begin ', 1, 'Y');
2771: aso_debug_pub.add('P_Control_REC.AUTO_VERSION_FLAG: '||nvl(P_Control_REC.AUTO_VERSION_FLAG,'null'),1,'N');
2808: FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
2809: FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
2810: FND_MSG_PUB.ADD;
2811: END IF;
2812: RAISE FND_API.G_EXC_ERROR;
2813: END IF;
2814:
2815:
2816:
2834: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_UPDATE_TARGET');
2835: FND_MESSAGE.Set_Token ('INFO', 'quote', FALSE);
2836: FND_MSG_PUB.Add;
2837: END IF;
2838: raise FND_API.G_EXC_ERROR;
2839: END IF;
2840: Close C_Get_quote;
2841:
2842: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2842: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2843: aso_debug_pub.add('After C_Get_quote Cursor call ',1,'N');
2844: end if;
2845:
2846: If (l_last_update_date is NULL or l_last_update_date = FND_API.G_MISS_Date ) Then
2847: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2848: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
2849: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
2850: FND_MSG_PUB.ADD;
2848: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
2849: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
2850: FND_MSG_PUB.ADD;
2851: END IF;
2852: raise FND_API.G_EXC_ERROR;
2853: End if;
2854:
2855: -- Check Whether record has been changed by someone else
2856:
2859: FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
2860: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
2861: FND_MSG_PUB.ADD;
2862: END IF;
2863: raise FND_API.G_EXC_ERROR;
2864: End if;
2865:
2866: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2867: aso_debug_pub.add('After Last update date validation',1,'N');
2886: end if;
2887:
2888: --If the control rec does not set auto version to 'Y' then it should not be versioned
2889:
2890: IF p_control_rec.auto_version_flag = FND_API.G_TRUE AND NVL(l_auto_version,'Y') = 'Y' THEN
2891:
2892: OPEN C_Qte_Version(l_quote_number);
2893: FETCH C_Qte_Version into l_quote_version;
2894: l_quote_version := nvl(l_quote_version, 0) + 1;
2909: -- header should be updated only if the flag is set to 'Y'
2910: -- update quote header with the new version number
2911: -- should be called after querying the existing rec and before copying
2912:
2913: l_copy_quote_control_rec.new_version := FND_API.G_TRUE;
2914: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
2915:
2916: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
2917: P_Init_Msg_List => FND_API.G_FALSE,
2913: l_copy_quote_control_rec.new_version := FND_API.G_TRUE;
2914: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
2915:
2916: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
2917: P_Init_Msg_List => FND_API.G_FALSE,
2918: P_Commit => FND_API.G_FALSE,
2919: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
2920: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
2921: X_Qte_Header_Id => x_quote_header_id,
2914: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
2915:
2916: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
2917: P_Init_Msg_List => FND_API.G_FALSE,
2918: P_Commit => FND_API.G_FALSE,
2919: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
2920: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
2921: X_Qte_Header_Id => x_quote_header_id,
2922: X_Qte_Number => l_qte_nbr,
2930: aso_debug_pub.add('Create_Quote_Lines: After copy_quote x_quote_header_id: '|| x_quote_header_id);
2931: aso_debug_pub.add('Create_Quote_Lines: After copy_quote l_qte_nbr: '|| l_qte_nbr);
2932: end if;
2933:
2934: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2935:
2936: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2937:
2938: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2932: end if;
2933:
2934: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2935:
2936: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2937:
2938: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2939: FND_MESSAGE.Set_Name('ASO', 'ASO_API_UNEXP_ERROR');
2940: FND_MESSAGE.Set_Token('ROW', 'ASO_QUOTE_HEADER', TRUE);
2940: FND_MESSAGE.Set_Token('ROW', 'ASO_QUOTE_HEADER', TRUE);
2941: FND_MSG_PUB.ADD;
2942: END IF;
2943:
2944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2945:
2946: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2947:
2948: x_return_status := FND_API.G_RET_STS_ERROR;
2942: END IF;
2943:
2944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2945:
2946: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2947:
2948: x_return_status := FND_API.G_RET_STS_ERROR;
2949:
2950: END IF;
2944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2945:
2946: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2947:
2948: x_return_status := FND_API.G_RET_STS_ERROR;
2949:
2950: END IF;
2951:
2952: update aso_quote_headers_all
3058: aso_debug_pub.add('Create_Quote_line: After call to ASO_DEFAULTING_INT.Default_Entity', 1, 'Y');
3059: aso_debug_pub.add('Create_Quote_line: x_return_status: '|| x_return_status, 1, 'Y');
3060: end if;
3061:
3062: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3063:
3064: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3065: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_DEFAULTING');
3066: FND_MSG_PUB.ADD;
3065: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_DEFAULTING');
3066: FND_MSG_PUB.ADD;
3067: END IF;
3068:
3069: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3071: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3072: RAISE FND_API.G_EXC_ERROR;
3073: END IF;
3066: FND_MSG_PUB.ADD;
3067: END IF;
3068:
3069: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3071: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3072: RAISE FND_API.G_EXC_ERROR;
3073: END IF;
3074:
3067: END IF;
3068:
3069: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3071: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3072: RAISE FND_API.G_EXC_ERROR;
3073: END IF;
3074:
3075: END IF;
3068:
3069: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3071: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3072: RAISE FND_API.G_EXC_ERROR;
3073: END IF;
3074:
3075: END IF;
3076:
3099: -- item type code must exist in aso_lookups and the item, item type
3100: -- should exist in mtl_system_items
3101:
3102: ASO_VALIDATE_PVT.Validate_item_type_code(
3103: p_init_msg_list => FND_API.G_FALSE,
3104: p_item_type_code => lx_qte_line_rec.item_type_code,
3105: x_return_status => x_return_status,
3106: x_msg_count => x_msg_count,
3107: x_msg_data => x_msg_data);
3105: x_return_status => x_return_status,
3106: x_msg_count => x_msg_count,
3107: x_msg_data => x_msg_data);
3108:
3109: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3110: RAISE FND_API.G_EXC_ERROR;
3111: END IF;
3112:
3113: -- invoice_to_party_id must exist and be active in HZ_PARTIES,
3106: x_msg_count => x_msg_count,
3107: x_msg_data => x_msg_data);
3108:
3109: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3110: RAISE FND_API.G_EXC_ERROR;
3111: END IF;
3112:
3113: -- invoice_to_party_id must exist and be active in HZ_PARTIES,
3114: -- and have the usage INVOICE.
3113: -- invoice_to_party_id must exist and be active in HZ_PARTIES,
3114: -- and have the usage INVOICE.
3115:
3116: ASO_VALIDATE_PVT.Validate_Party (
3117: p_init_msg_list => FND_API.G_FALSE,
3118: p_party_id => lx_qte_line_rec.invoice_to_party_id,
3119: p_party_usage => 'INVOICE',
3120: x_return_status => x_return_status,
3121: x_msg_count => x_msg_count,
3119: p_party_usage => 'INVOICE',
3120: x_return_status => x_return_status,
3121: x_msg_count => x_msg_count,
3122: x_msg_data => x_msg_data);
3123: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3124: RAISE FND_API.G_EXC_ERROR;
3125: END IF;
3126:
3127: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3120: x_return_status => x_return_status,
3121: x_msg_count => x_msg_count,
3122: x_msg_data => x_msg_data);
3123: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3124: RAISE FND_API.G_EXC_ERROR;
3125: END IF;
3126:
3127: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3128: aso_debug_pub.add('Create_Quote_lines - after validate_party ', 1, 'N');
3129: end if;
3130:
3131: -- price list must exist and be active in OE_PRICE_LISTS
3132: ASO_VALIDATE_PVT.Validate_PriceList (
3133: p_init_msg_list => FND_API.G_FALSE,
3134: p_price_list_id => lx_qte_line_rec.price_list_id,
3135: x_return_status => x_return_status,
3136: x_msg_count => x_msg_count,
3137: x_msg_data => x_msg_data);
3135: x_return_status => x_return_status,
3136: x_msg_count => x_msg_count,
3137: x_msg_data => x_msg_data);
3138:
3139: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3140: RAISE FND_API.G_EXC_ERROR;
3141: END IF;
3142:
3143:
3136: x_msg_count => x_msg_count,
3137: x_msg_data => x_msg_data);
3138:
3139: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3140: RAISE FND_API.G_EXC_ERROR;
3141: END IF;
3142:
3143:
3144: ASO_VALIDATE_PVT.Validate_Quote_Price_Exp(
3141: END IF;
3142:
3143:
3144: ASO_VALIDATE_PVT.Validate_Quote_Price_Exp(
3145: p_init_msg_list => FND_API.G_FALSE,
3146: p_price_list_id => lx_qte_line_rec.price_list_id,
3147: p_quote_expiration_date => l_quote_exp_date,
3148: x_return_status => x_return_status,
3149: x_msg_count => x_msg_count,
3148: x_return_status => x_return_status,
3149: x_msg_count => x_msg_count,
3150: x_msg_data => x_msg_data);
3151:
3152: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3153: RAISE FND_API.G_EXC_ERROR;
3154: END IF;
3155:
3156: -- shp_to_party_id must exist and be active in HZ_PARTIES and have the usage SHIP.
3149: x_msg_count => x_msg_count,
3150: x_msg_data => x_msg_data);
3151:
3152: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3153: RAISE FND_API.G_EXC_ERROR;
3154: END IF;
3155:
3156: -- shp_to_party_id must exist and be active in HZ_PARTIES and have the usage SHIP.
3157: For i in 1..lx_ln_shipment_tbl.count LOOP
3156: -- shp_to_party_id must exist and be active in HZ_PARTIES and have the usage SHIP.
3157: For i in 1..lx_ln_shipment_tbl.count LOOP
3158:
3159: ASO_VALIDATE_PVT.Validate_Party (
3160: p_init_msg_list => FND_API.G_FALSE,
3161: p_party_id => lx_ln_shipment_tbl(i).ship_to_party_id,
3162: p_party_usage => 'SHIP',
3163: x_return_status => x_return_status,
3164: x_msg_count => x_msg_count,
3163: x_return_status => x_return_status,
3164: x_msg_count => x_msg_count,
3165: x_msg_data => x_msg_data);
3166:
3167: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3168: RAISE FND_API.G_EXC_ERROR;
3169: END IF;
3170:
3171: END LOOP;
3164: x_msg_count => x_msg_count,
3165: x_msg_data => x_msg_data);
3166:
3167: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3168: RAISE FND_API.G_EXC_ERROR;
3169: END IF;
3170:
3171: END LOOP;
3172:
3170:
3171: END LOOP;
3172:
3173: ASO_VALIDATE_PVT.Validate_Marketing_Source_Code(
3174: p_init_msg_list => FND_API.G_FALSE,
3175: p_mkting_source_code_id => lx_qte_line_rec.marketing_source_code_id,
3176: x_return_status => x_return_status,
3177: x_msg_count => x_msg_count,
3178: x_msg_data => x_msg_data);
3176: x_return_status => x_return_status,
3177: x_msg_count => x_msg_count,
3178: x_msg_data => x_msg_data);
3179:
3180: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3181: RAISE FND_API.G_EXC_ERROR;
3182: END IF;
3183:
3184: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3177: x_msg_count => x_msg_count,
3178: x_msg_data => x_msg_data);
3179:
3180: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3181: RAISE FND_API.G_EXC_ERROR;
3182: END IF;
3183:
3184: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3185:
3183:
3184: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3185:
3186: ASO_VALIDATE_PVT.Validate_Service_Duration(
3187: p_init_msg_list => FND_API.G_FALSE,
3188: p_service_duration => p_qte_line_dtl_tbl(i).service_duration,
3189: x_return_status => x_return_status,
3190: x_msg_count => x_msg_count,
3191: x_msg_data => x_msg_data);
3189: x_return_status => x_return_status,
3190: x_msg_count => x_msg_count,
3191: x_msg_data => x_msg_data);
3192:
3193: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3194: RAISE FND_API.G_EXC_ERROR;
3195: END IF;
3196:
3197: END LOOP;
3190: x_msg_count => x_msg_count,
3191: x_msg_data => x_msg_data);
3192:
3193: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3194: RAISE FND_API.G_EXC_ERROR;
3195: END IF;
3196:
3197: END LOOP;
3198:
3205:
3206: if (p_sales_credit_tbl(i).operation_code = 'CREATE' or p_sales_credit_tbl(i).operation_code = 'UPDATE') then
3207:
3208: ASO_VALIDATE_PVT.Validate_Resource_id(
3209: p_init_msg_list => FND_API.G_FALSE,
3210: p_resource_id => p_sales_credit_tbl(i).resource_id,
3211: x_return_status => x_return_status,
3212: x_msg_count => x_msg_count,
3213: x_msg_data => x_msg_data);
3211: x_return_status => x_return_status,
3212: x_msg_count => x_msg_count,
3213: x_msg_data => x_msg_data);
3214:
3215: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3216:
3217: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3218: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_SALES_REP_ID');
3219: FND_MSG_PUB.ADD;
3217: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3218: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_SALES_REP_ID');
3219: FND_MSG_PUB.ADD;
3220: END IF;
3221: RAISE FND_API.G_EXC_ERROR;
3222:
3223: END IF;
3224:
3225: ASO_VALIDATE_PVT.Validate_Resource_group_id(
3222:
3223: END IF;
3224:
3225: ASO_VALIDATE_PVT.Validate_Resource_group_id(
3226: p_init_msg_list => FND_API.G_FALSE,
3227: p_resource_group_id => p_sales_credit_tbl(i).resource_group_id,
3228: x_return_status => x_return_status,
3229: x_msg_count => x_msg_count,
3230: x_msg_data => x_msg_data);
3228: x_return_status => x_return_status,
3229: x_msg_count => x_msg_count,
3230: x_msg_data => x_msg_data);
3231:
3232: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3233: RAISE FND_API.G_EXC_ERROR;
3234: END IF;
3235:
3236: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
3229: x_msg_count => x_msg_count,
3230: x_msg_data => x_msg_data);
3231:
3232: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3233: RAISE FND_API.G_EXC_ERROR;
3234: END IF;
3235:
3236: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
3237: p_init_msg_list => FND_API.G_FALSE,
3233: RAISE FND_API.G_EXC_ERROR;
3234: END IF;
3235:
3236: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
3237: p_init_msg_list => FND_API.G_FALSE,
3238: p_salescredit_type_id => p_sales_credit_tbl(i).sales_credit_type_id,
3239: x_return_status => x_return_status,
3240: x_msg_count => x_msg_count,
3241: x_msg_data => x_msg_data);
3239: x_return_status => x_return_status,
3240: x_msg_count => x_msg_count,
3241: x_msg_data => x_msg_data);
3242:
3243: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3244: RAISE FND_API.G_EXC_ERROR;
3245: END IF;
3246:
3247: ASO_VALIDATE_PVT.Validate_EmployPerson(
3240: x_msg_count => x_msg_count,
3241: x_msg_data => x_msg_data);
3242:
3243: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3244: RAISE FND_API.G_EXC_ERROR;
3245: END IF;
3246:
3247: ASO_VALIDATE_PVT.Validate_EmployPerson(
3248: p_init_msg_list => FND_API.G_FALSE,
3244: RAISE FND_API.G_EXC_ERROR;
3245: END IF;
3246:
3247: ASO_VALIDATE_PVT.Validate_EmployPerson(
3248: p_init_msg_list => FND_API.G_FALSE,
3249: p_employee_id => p_sales_credit_tbl(i).employee_person_id,
3250: x_return_status => x_return_status,
3251: x_msg_count => x_msg_count,
3252: x_msg_data => x_msg_data);
3250: x_return_status => x_return_status,
3251: x_msg_count => x_msg_count,
3252: x_msg_data => x_msg_data);
3253:
3254: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3255: RAISE FND_API.G_EXC_ERROR;
3256: END IF;
3257:
3258: end if;
3251: x_msg_count => x_msg_count,
3252: x_msg_data => x_msg_data);
3253:
3254: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3255: RAISE FND_API.G_EXC_ERROR;
3256: END IF;
3257:
3258: end if;
3259:
3261:
3262: FOR i in 1..p_quote_party_tbl.count LOOP
3263:
3264: ASO_VALIDATE_PVT.Validate_Party_Type(
3265: p_init_msg_list => FND_API.G_FALSE,
3266: p_party_type => p_quote_party_tbl(i).party_type,
3267: x_return_status => x_return_status,
3268: x_msg_count => x_msg_count,
3269: x_msg_data => x_msg_data);
3267: x_return_status => x_return_status,
3268: x_msg_count => x_msg_count,
3269: x_msg_data => x_msg_data);
3270:
3271: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3272: RAISE FND_API.G_EXC_ERROR;
3273: END IF;
3274:
3275: ASO_VALIDATE_PVT.Validate_Party(
3268: x_msg_count => x_msg_count,
3269: x_msg_data => x_msg_data);
3270:
3271: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3272: RAISE FND_API.G_EXC_ERROR;
3273: END IF;
3274:
3275: ASO_VALIDATE_PVT.Validate_Party(
3276: p_init_msg_list => FND_API.G_FALSE,
3272: RAISE FND_API.G_EXC_ERROR;
3273: END IF;
3274:
3275: ASO_VALIDATE_PVT.Validate_Party(
3276: p_init_msg_list => FND_API.G_FALSE,
3277: p_party_id => p_quote_party_tbl(i).party_id,
3278: p_party_usage => null,
3279: x_return_status => x_return_status,
3280: x_msg_count => x_msg_count,
3279: x_return_status => x_return_status,
3280: x_msg_count => x_msg_count,
3281: x_msg_data => x_msg_data);
3282:
3283: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3284: RAISE FND_API.G_EXC_ERROR;
3285: END IF;
3286:
3287: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
3280: x_msg_count => x_msg_count,
3281: x_msg_data => x_msg_data);
3282:
3283: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3284: RAISE FND_API.G_EXC_ERROR;
3285: END IF;
3286:
3287: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
3288: p_init_msg_list => FND_API.G_FALSE,
3284: RAISE FND_API.G_EXC_ERROR;
3285: END IF;
3286:
3287: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
3288: p_init_msg_list => FND_API.G_FALSE,
3289: p_party_object_type => p_quote_party_tbl(i).party_object_type,
3290: x_return_status => x_return_status,
3291: x_msg_count => x_msg_count,
3292: x_msg_data => x_msg_data);
3290: x_return_status => x_return_status,
3291: x_msg_count => x_msg_count,
3292: x_msg_data => x_msg_data);
3293:
3294: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3295: RAISE FND_API.G_EXC_ERROR;
3296: END IF;
3297:
3298: END LOOP;
3291: x_msg_count => x_msg_count,
3292: x_msg_data => x_msg_data);
3293:
3294: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3295: RAISE FND_API.G_EXC_ERROR;
3296: END IF;
3297:
3298: END LOOP;
3299:
3298: END LOOP;
3299:
3300:
3301: ASO_VALIDATE_PVT.Validate_MiniSite(
3302: p_init_msg_list => FND_API.G_FALSE,
3303: p_minisite_id => lx_qte_line_rec.minisite_id,
3304: x_return_status => x_return_status,
3305: x_msg_count => x_msg_count,
3306: x_msg_data => x_msg_data);
3303: p_minisite_id => lx_qte_line_rec.minisite_id,
3304: x_return_status => x_return_status,
3305: x_msg_count => x_msg_count,
3306: x_msg_data => x_msg_data);
3307: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3308: RAISE FND_API.G_EXC_ERROR;
3309: END IF;
3310:
3311: ASO_VALIDATE_PVT.Validate_Section(
3304: x_return_status => x_return_status,
3305: x_msg_count => x_msg_count,
3306: x_msg_data => x_msg_data);
3307: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3308: RAISE FND_API.G_EXC_ERROR;
3309: END IF;
3310:
3311: ASO_VALIDATE_PVT.Validate_Section(
3312: p_init_msg_list => FND_API.G_FALSE,
3308: RAISE FND_API.G_EXC_ERROR;
3309: END IF;
3310:
3311: ASO_VALIDATE_PVT.Validate_Section(
3312: p_init_msg_list => FND_API.G_FALSE,
3313: p_section_id => lx_qte_line_rec.section_id,
3314: x_return_status => x_return_status,
3315: x_msg_count => x_msg_count,
3316: x_msg_data => x_msg_data);
3313: p_section_id => lx_qte_line_rec.section_id,
3314: x_return_status => x_return_status,
3315: x_msg_count => x_msg_count,
3316: x_msg_data => x_msg_data);
3317: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3318: RAISE FND_API.G_EXC_ERROR;
3319: END IF;
3320:
3321: END IF;
3314: x_return_status => x_return_status,
3315: x_msg_count => x_msg_count,
3316: x_msg_data => x_msg_data);
3317: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3318: RAISE FND_API.G_EXC_ERROR;
3319: END IF;
3320:
3321: END IF;
3322:
3326:
3327: -- if organization id does not exist then it should be defaulted
3328:
3329: IF lx_qte_line_rec.organization_id is NULL or
3330: lx_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
3331:
3332: -- default org id from header
3333:
3334: IF lx_qte_line_rec.org_id is NULL OR lx_qte_line_rec.org_id = FND_API.G_MISS_NUM THEN
3330: lx_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
3331:
3332: -- default org id from header
3333:
3334: IF lx_qte_line_rec.org_id is NULL OR lx_qte_line_rec.org_id = FND_API.G_MISS_NUM THEN
3335:
3336: OPEN C_org_id;
3337: FETCH C_org_id into l_org_id;
3338: IF C_org_id%NOTFOUND THEN
3357:
3358: -- UOM must exist and should be in ASO_I_UNITS_OF_MEASURE
3359:
3360: ASO_VALIDATE_PVT.Validate_UOM_code(
3361: p_init_msg_list => FND_API.G_FALSE,
3362: p_uom_code => lx_qte_line_rec.uom_code,
3363: p_organization_id => l_organization_id,
3364: p_inventory_item_id => lx_qte_line_rec.inventory_item_id,
3365: x_return_status => x_return_status,
3365: x_return_status => x_return_status,
3366: x_msg_count => x_msg_count,
3367: x_msg_data => x_msg_data);
3368:
3369: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: END IF;
3372:
3373: if aso_debug_pub.g_debug_flag = 'Y' THEN
3366: x_msg_count => x_msg_count,
3367: x_msg_data => x_msg_data);
3368:
3369: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: END IF;
3372:
3373: if aso_debug_pub.g_debug_flag = 'Y' THEN
3374: aso_debug_pub.add('Create_Quote_lines - After validate_UOM_code ', 1, 'N');
3374: aso_debug_pub.add('Create_Quote_lines - After validate_UOM_code ', 1, 'N');
3375: end if;
3376:
3377: ASO_VALIDATE_PVT.Validate_For_GreaterEndDate (
3378: p_init_msg_list => FND_API.G_FALSE,
3379: p_start_date => lx_qte_line_rec.start_date_active,
3380: p_end_date => lx_qte_line_rec.end_date_active,
3381: x_return_status => x_return_status,
3382: x_msg_count => x_msg_count,
3381: x_return_status => x_return_status,
3382: x_msg_count => x_msg_count,
3383: x_msg_data => x_msg_data);
3384:
3385: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3386:
3387: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3388: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_END_DATE');
3389: FND_MSG_PUB.ADD;
3387: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3388: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_END_DATE');
3389: FND_MSG_PUB.ADD;
3390: END IF;
3391: RAISE FND_API.G_EXC_ERROR;
3392: END IF;
3393:
3394: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3395: ASO_VALIDATE_PVT.Validate_Returns(
3392: END IF;
3393:
3394: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3395: ASO_VALIDATE_PVT.Validate_Returns(
3396: p_init_msg_list => FND_API.G_FALSE,
3397: p_return_ref_type_code => p_qte_line_dtl_tbl(i).return_ref_type,
3398: p_return_ref_header_id => p_qte_line_dtl_tbl(i).return_ref_header_id,
3399: p_return_ref_line_id => p_qte_line_dtl_tbl(i).return_ref_line_id,
3400: x_return_status => x_return_status,
3400: x_return_status => x_return_status,
3401: x_msg_count => x_msg_count,
3402: x_msg_data => x_msg_data);
3403:
3404: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3405: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3406: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3407: FND_MESSAGE.Set_Token('INFO', 'RETURN', FALSE);
3408: FND_MSG_PUB.ADD;
3406: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3407: FND_MESSAGE.Set_Token('INFO', 'RETURN', FALSE);
3408: FND_MSG_PUB.ADD;
3409: END IF;
3410: RAISE FND_API.G_EXC_ERROR;
3411: END IF;
3412: END LOOP;
3413:
3414: -- tax_exempt_flag must be in 'E', 'R' and 'S'
3414: -- tax_exempt_flag must be in 'E', 'R' and 'S'
3415: -- and tax_exempt_reason_code must exist if tax_exempt_flag is 'E'.
3416: FOR i in 1..p_tax_detail_tbl.count LOOP
3417: ASO_VALIDATE_PVT.Validate_Tax_Exemption (
3418: p_init_msg_list => FND_API.G_FALSE,
3419: p_tax_exempt_flag => p_tax_detail_tbl(i).tax_exempt_flag,
3420: p_tax_exempt_reason_code=> p_tax_detail_tbl(i).tax_exempt_reason_code,
3421: x_return_status => x_return_status,
3422: x_msg_count => x_msg_count,
3420: p_tax_exempt_reason_code=> p_tax_detail_tbl(i).tax_exempt_reason_code,
3421: x_return_status => x_return_status,
3422: x_msg_count => x_msg_count,
3423: x_msg_data => x_msg_data);
3424: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3425: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3426: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3427: FND_MESSAGE.Set_Token('INFO', 'TAX', FALSE);
3428: FND_MSG_PUB.ADD;
3426: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3427: FND_MESSAGE.Set_Token('INFO', 'TAX', FALSE);
3428: FND_MSG_PUB.ADD;
3429: END IF;
3430: RAISE FND_API.G_EXC_ERROR;
3431: END IF;
3432: END LOOP;
3433:
3434: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3440: end if;
3441:
3442: -- We will add config_item_id when we will implement solution model
3443: IF ((p_qte_line_dtl_tbl(i).config_header_id IS NOT NULL AND
3444: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
3445: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
3446: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
3447: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
3448: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
3442: -- We will add config_item_id when we will implement solution model
3443: IF ((p_qte_line_dtl_tbl(i).config_header_id IS NOT NULL AND
3444: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
3445: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
3446: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
3447: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
3448: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
3449:
3450: ASO_VALIDATE_PVT.Validate_Configuration(
3444: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
3445: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
3446: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
3447: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
3448: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
3449:
3450: ASO_VALIDATE_PVT.Validate_Configuration(
3451: p_init_msg_list => FND_API.G_FALSE,
3452: p_config_header_id => p_qte_line_dtl_tbl(i).config_header_id,
3447: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
3448: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
3449:
3450: ASO_VALIDATE_PVT.Validate_Configuration(
3451: p_init_msg_list => FND_API.G_FALSE,
3452: p_config_header_id => p_qte_line_dtl_tbl(i).config_header_id,
3453: p_config_revision_num => p_qte_line_dtl_tbl(i).config_revision_num,
3454: p_config_item_id => p_qte_line_dtl_tbl(i).config_item_id,
3455: x_return_status => x_return_status,
3458:
3459: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3460: aso_debug_pub.add('Create_Quote_Lines after Validate_Configuration :x_return_status:'||x_return_status,1,'N');
3461: end if;
3462: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3463: RAISE FND_API.G_EXC_ERROR;
3464: END IF;
3465: END IF;
3466: END LOOP;
3459: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3460: aso_debug_pub.add('Create_Quote_Lines after Validate_Configuration :x_return_status:'||x_return_status,1,'N');
3461: end if;
3462: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3463: RAISE FND_API.G_EXC_ERROR;
3464: END IF;
3465: END IF;
3466: END LOOP;
3467:
3467:
3468:
3469: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3470: ASO_VALIDATE_PVT.Validate_Delayed_Service(
3471: p_init_msg_list => FND_API.G_FALSE,
3472: p_service_ref_type_code
3473: => p_qte_line_dtl_tbl(i).service_ref_type_code,
3474: p_service_ref_line_id
3475: => p_qte_line_dtl_tbl(i).service_ref_line_id,
3477: => p_qte_line_dtl_tbl(i).service_ref_system_id,
3478: x_return_status => x_return_status,
3479: x_msg_count => x_msg_count,
3480: x_msg_data => x_msg_data);
3481: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3482: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3483: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3484: FND_MESSAGE.Set_Token('INFO', 'DELAYED_SERVICE', FALSE);
3485: FND_MSG_PUB.ADD;
3483: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3484: FND_MESSAGE.Set_Token('INFO', 'DELAYED_SERVICE', FALSE);
3485: FND_MSG_PUB.ADD;
3486: END IF;
3487: RAISE FND_API.G_EXC_ERROR;
3488: END IF;
3489: END LOOP;
3490:
3491:
3491:
3492:
3493: FOR i in 1..p_quote_party_tbl.count LOOP
3494: ASO_VALIDATE_PVT.Validate_Party_Object_Id(
3495: p_init_msg_list => FND_API.G_FALSE,
3496: p_party_id => p_quote_party_tbl(i).party_id,
3497: p_party_object_type => p_quote_party_tbl(i).party_object_type,
3498: p_party_object_id => p_quote_party_tbl(i).party_object_id,
3499: x_return_status => x_return_status,
3498: p_party_object_id => p_quote_party_tbl(i).party_object_id,
3499: x_return_status => x_return_status,
3500: x_msg_count => x_msg_count,
3501: x_msg_data => x_msg_data);
3502: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3503: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3504: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3505: FND_MESSAGE.Set_Token('INFO', 'PARTY OBJECT ID', FALSE);
3506: FND_MSG_PUB.ADD;
3504: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3505: FND_MESSAGE.Set_Token('INFO', 'PARTY OBJECT ID', FALSE);
3506: FND_MSG_PUB.ADD;
3507: END IF;
3508: RAISE FND_API.G_EXC_ERROR;
3509: END IF;
3510: END LOOP;
3511:
3512:
3523: aso_debug_pub.add('Create_Quote_Lines: lx_qte_line_rec.inventory_item_id: '||lx_qte_line_rec.inventory_item_id, 1, 'Y');
3524: aso_debug_pub.add('Create_Quote_Lines: lx_ln_shipment_tbl(1).ship_from_org_id: '||lx_ln_shipment_tbl(1).ship_from_org_id, 1, 'Y');
3525: end if;
3526:
3527: IF lx_ln_shipment_tbl(1).ship_from_org_id IS NOT NULL AND lx_ln_shipment_tbl(1).ship_from_org_id <> FND_API.G_MISS_NUM THEN
3528: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3529: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: before Validate_ship_from_org_ID', 1, 'Y');
3530: end if;
3531: ASO_VALIDATE_PVT.Validate_ship_from_org_ID(
3535:
3536: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3537: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: after Validate_ship_from_org_ID', 1, 'Y');
3538: end if;
3539: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3540: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3541: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: after Validate_ship_from_org_ID: <> SUCCESS', 1, 'Y');
3542: end if;
3543:
3547: FND_MESSAGE.Set_Token('INVENTORY_ITEM_ID', lx_qte_line_rec.inventory_item_id, FALSE);
3548: FND_MSG_PUB.ADD;
3549: END IF;
3550:
3551: RAISE FND_API.G_EXC_ERROR;
3552: END IF;
3553: END IF;
3554:
3555: ELSE
3570: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: before Validate_ship_from_org_ID: lx_qte_line_rec.inventory_item_id: '||lx_qte_line_rec.inventory_item_id, 1, 'Y');
3571: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: before Validate_ship_from_org_ID: l_hd_shipment_rec.ship_from_org_id: '||l_hd_shipment_rec.ship_from_org_id, 1, 'Y');
3572: end if;
3573:
3574: IF l_hd_shipment_rec.ship_from_org_id IS NOT NULL AND l_hd_shipment_rec.ship_from_org_id <> FND_API.G_MISS_NUM THEN
3575: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3576: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: before Validate_ship_from_org_ID (no ln_shipment_tbl)', 1, 'Y');
3577: end if;
3578: ASO_VALIDATE_PVT.Validate_ship_from_org_ID(
3583:
3584: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3585: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: after Validate_ship_from_org_ID (no ln_shipment_tbl)', 1, 'Y');
3586: end if;
3587: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3588: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3589: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_Lines: after Validate_ship_from_org_ID: <> SUCCESS', 1, 'Y');
3590: end if;
3591:
3595: FND_MESSAGE.Set_Token('INVENTORY_ITEM_ID', lx_qte_line_rec.inventory_item_id, FALSE);
3596: FND_MSG_PUB.ADD;
3597: END IF;
3598:
3599: RAISE FND_API.G_EXC_ERROR;
3600: END IF;
3601: END IF;
3602:
3603: END IF;
3650: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3651: aso_debug_pub.add('Create_Quote_lines - after populate_quote_line '||x_return_status, 1, 'Y');
3652: end if;
3653:
3654: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3655: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3656: FND_MESSAGE.Set_Name('ASO', 'ASO_POPULATING_COLUMNS');
3657: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
3658: FND_MSG_PUB.ADD;
3657: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
3658: FND_MSG_PUB.ADD;
3659: END IF;
3660:
3661: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3663: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3664: RAISE FND_API.G_EXC_ERROR;
3665: END IF;
3658: FND_MSG_PUB.ADD;
3659: END IF;
3660:
3661: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3663: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3664: RAISE FND_API.G_EXC_ERROR;
3665: END IF;
3666:
3659: END IF;
3660:
3661: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3663: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3664: RAISE FND_API.G_EXC_ERROR;
3665: END IF;
3666:
3667: END IF;
3660:
3661: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3663: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3664: RAISE FND_API.G_EXC_ERROR;
3665: END IF;
3666:
3667: END IF;
3668:
3683: l_is_model_published := CZ_CF_API.ui_for_item(inventory_item_id => l_qte_line_rec.inventory_item_id,
3684: organization_id => l_Qte_Line_Rec.organization_id,
3685: config_creation_date => sysdate ,
3686: ui_type => 'DHTML',
3687: user_id => FND_API.G_MISS_NUM,
3688: responsibility_id => FND_PROFILE.value('RESP_ID'),
3689: calling_application_id => fnd_profile.VALUE('RESP_APPL_ID')
3690: );
3691:
3696: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_CFG_UI');
3697: FND_MSG_PUB.ADD;
3698: END IF;
3699:
3700: RAISE FND_API.G_EXC_ERROR;
3701: END IF;
3702: END IF;
3703:
3704: --inter entity validations
3715: END IF;
3716:
3717: -- validate inventory item id. item should be active
3718: ASO_VALIDATE_PVT.Validate_Inventory_Item(
3719: p_init_msg_list => FND_API.G_FALSE,
3720: p_inventory_item_id => l_qte_line_rec.inventory_item_id,
3721: p_organization_id => l_Qte_Line_Rec.organization_id,
3722: x_return_status => x_return_status,
3723: x_msg_count => x_msg_count,
3721: p_organization_id => l_Qte_Line_Rec.organization_id,
3722: x_return_status => x_return_status,
3723: x_msg_count => x_msg_count,
3724: x_msg_data => x_msg_data);
3725: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3726: RAISE FND_API.G_EXC_ERROR;
3727: END IF;
3728:
3729: -- bug 5196952 validate the ship method code
3722: x_return_status => x_return_status,
3723: x_msg_count => x_msg_count,
3724: x_msg_data => x_msg_data);
3725: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3726: RAISE FND_API.G_EXC_ERROR;
3727: END IF;
3728:
3729: -- bug 5196952 validate the ship method code
3730: if (l_Shipment_Tbl.count > 0 ) then
3728:
3729: -- bug 5196952 validate the ship method code
3730: if (l_Shipment_Tbl.count > 0 ) then
3731:
3732: IF (l_Shipment_Tbl(1).ship_method_code is not null and l_Shipment_Tbl(1).ship_method_code <> fnd_api.g_miss_char) then
3733:
3734: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3735: aso_debug_pub.add('Create_Quote_lines - before validate ship_method_code ', 1, 'N');
3736: end if;
3735: aso_debug_pub.add('Create_Quote_lines - before validate ship_method_code ', 1, 'N');
3736: end if;
3737: ASO_VALIDATE_PVT.validate_ship_method_code
3738: (
3739: p_init_msg_list => fnd_api.g_false,
3740: p_qte_header_id => fnd_api.g_miss_num,
3741: p_qte_line_id => fnd_api.g_miss_num,
3742: p_organization_id => lx_qte_line_rec.organization_id,
3743: p_ship_method_code => l_Shipment_Tbl(1).ship_method_code,
3736: end if;
3737: ASO_VALIDATE_PVT.validate_ship_method_code
3738: (
3739: p_init_msg_list => fnd_api.g_false,
3740: p_qte_header_id => fnd_api.g_miss_num,
3741: p_qte_line_id => fnd_api.g_miss_num,
3742: p_organization_id => lx_qte_line_rec.organization_id,
3743: p_ship_method_code => l_Shipment_Tbl(1).ship_method_code,
3744: p_operation_code => 'CREATE',
3737: ASO_VALIDATE_PVT.validate_ship_method_code
3738: (
3739: p_init_msg_list => fnd_api.g_false,
3740: p_qte_header_id => fnd_api.g_miss_num,
3741: p_qte_line_id => fnd_api.g_miss_num,
3742: p_organization_id => lx_qte_line_rec.organization_id,
3743: p_ship_method_code => l_Shipment_Tbl(1).ship_method_code,
3744: p_operation_code => 'CREATE',
3745: x_return_status => x_return_status,
3749: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3750: aso_debug_pub.add('Create_Quote_lines - After validate ship_method_code ', 1, 'N');
3751: end if;
3752:
3753: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3754: RAISE FND_API.G_EXC_ERROR;
3755: END IF;
3756: end if; -- end if for ship method code check
3757: end if; -- end if for the ship tbl count
3750: aso_debug_pub.add('Create_Quote_lines - After validate ship_method_code ', 1, 'N');
3751: end if;
3752:
3753: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3754: RAISE FND_API.G_EXC_ERROR;
3755: END IF;
3756: end if; -- end if for ship method code check
3757: end if; -- end if for the ship tbl count
3758:
3759:
3760: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
3761:
3762: ASO_VALIDATE_PVT.Validate_Service(
3763: p_init_msg_list => FND_API.G_FALSE,
3764: p_inventory_item_id => l_qte_line_rec.inventory_item_id,
3765: p_start_date_active => l_qte_line_rec.start_date_active,
3766: p_end_date_active => l_qte_line_rec.end_date_active,
3767: p_service_duration => p_qte_line_dtl_tbl(i).service_duration,
3771: x_return_status => x_return_status,
3772: x_msg_count => x_msg_count,
3773: x_msg_data => x_msg_data);
3774:
3775: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3776:
3777: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3778: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3779: FND_MESSAGE.Set_Token('INFO','SERVICE', FALSE);
3779: FND_MESSAGE.Set_Token('INFO','SERVICE', FALSE);
3780: FND_MSG_PUB.ADD;
3781: END IF;
3782:
3783: RAISE FND_API.G_EXC_ERROR;
3784:
3785: END IF;
3786:
3787:
3787:
3788: --validate service period
3789:
3790: ASO_VALIDATE_PVT.Validate_UOM_code(
3791: p_init_msg_list => FND_API.G_FALSE,
3792: p_uom_code => p_qte_line_dtl_tbl(i).service_period,
3793: p_organization_id => l_qte_line_rec.organization_id,
3794: p_inventory_item_id => l_qte_line_rec.inventory_item_id,
3795: x_return_status => x_return_status,
3795: x_return_status => x_return_status,
3796: x_msg_count => x_msg_count,
3797: x_msg_data => x_msg_data);
3798:
3799: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802:
3803:
3796: x_msg_count => x_msg_count,
3797: x_msg_data => x_msg_data);
3798:
3799: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802:
3803:
3804: --New code for Bug # 2498942 fix
3804: --New code for Bug # 2498942 fix
3805:
3806: IF p_qte_line_dtl_tbl(i).service_ref_type_code = 'QUOTE'
3807: AND p_qte_line_dtl_tbl(i).service_ref_line_id IS NOT NULL
3808: AND p_qte_line_dtl_tbl(i).service_ref_line_id <> FND_API.G_MISS_NUM THEN
3809:
3810: OPEN C_line_category_code(p_qte_line_dtl_tbl(i).service_ref_line_id);
3811: FETCH C_line_category_code INTO l_line_category_code;
3812:
3818: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_SERVICE_REFERENCE');
3819: FND_MSG_PUB.ADD;
3820: END IF;
3821:
3822: RAISE FND_API.G_EXC_ERROR;
3823:
3824: END IF;
3825:
3826: CLOSE C_line_category_code;
3830:
3831: --New code for Bug#3280130
3832:
3833: if p_qte_line_dtl_tbl(i).service_ref_line_id is not null and
3834: p_qte_line_dtl_tbl(i).service_ref_line_id <> fnd_api.g_miss_num then
3835:
3836: if p_qte_line_dtl_tbl(i).service_ref_type_code is null or
3837: p_qte_line_dtl_tbl(i).service_ref_type_code = fnd_api.g_miss_char then
3838:
3833: if p_qte_line_dtl_tbl(i).service_ref_line_id is not null and
3834: p_qte_line_dtl_tbl(i).service_ref_line_id <> fnd_api.g_miss_num then
3835:
3836: if p_qte_line_dtl_tbl(i).service_ref_type_code is null or
3837: p_qte_line_dtl_tbl(i).service_ref_type_code = fnd_api.g_miss_char then
3838:
3839: x_return_status := fnd_api.g_ret_sts_error;
3840:
3841: IF fnd_msg_pub.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3835:
3836: if p_qte_line_dtl_tbl(i).service_ref_type_code is null or
3837: p_qte_line_dtl_tbl(i).service_ref_type_code = fnd_api.g_miss_char then
3838:
3839: x_return_status := fnd_api.g_ret_sts_error;
3840:
3841: IF fnd_msg_pub.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3842: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_ID');
3843: FND_MESSAGE.Set_Token('COLUMN', 'SERVICE_REF_TYPE_CODE', FALSE);
3844: FND_MESSAGE.Set_Token('VALUE', p_qte_line_dtl_tbl(i).service_ref_type_code,FALSE);
3845: FND_MSG_PUB.ADD;
3846: END IF;
3847:
3848: raise fnd_api.g_exc_error;
3849:
3850: else
3851:
3852: if aso_debug_pub.g_debug_flag = 'Y' then
3853: aso_debug_pub.add('CREATE_QUOTE_LINES: Before calling aso_validate_pvt.validate_service_ref_line_id');
3854: end if;
3855:
3856: aso_validate_pvt.validate_service_ref_line_id (
3857: p_init_msg_list => fnd_api.g_false,
3858: p_service_ref_type_code => p_qte_line_dtl_tbl(i).service_ref_type_code,
3859: p_service_ref_line_id => p_qte_line_dtl_tbl(i).service_ref_line_id,
3860: p_qte_header_id => l_qte_line_rec.quote_header_id,
3861: x_return_status => x_return_status,
3866: aso_debug_pub.add('CREATE_QUOTE_LINES: After calling aso_validate_pvt.validate_service_ref_line_id');
3867: aso_debug_pub.add('CREATE_QUOTE_LINES: x_return_status: '|| x_return_status);
3868: end if;
3869:
3870: if x_return_status <> fnd_api.g_ret_sts_success then
3871: raise fnd_api.g_exc_error;
3872: end if;
3873:
3874: end if;
3867: aso_debug_pub.add('CREATE_QUOTE_LINES: x_return_status: '|| x_return_status);
3868: end if;
3869:
3870: if x_return_status <> fnd_api.g_ret_sts_success then
3871: raise fnd_api.g_exc_error;
3872: end if;
3873:
3874: end if;
3875:
3885: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: CREATE_QUOTE_LINES: End of Inter entity validations');
3886: end if;
3887:
3888:
3889: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3890:
3891: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3892: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3893: FND_MSG_PUB.ADD;
3892: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
3893: FND_MSG_PUB.ADD;
3894: END IF;
3895:
3896: RAISE FND_API.G_EXC_ERROR;
3897:
3898: END IF;
3899:
3900:
3906: end if;
3907:
3908: ASO_CHECK_TCA_PVT.check_line_account_info(
3909: p_api_version => 1.0,
3910: p_init_msg_list => FND_API.G_FALSE,
3911: p_cust_account_id => l_qte_header_rec.cust_account_id,
3912: p_qte_line_rec => l_qte_line_rec,
3913: p_line_shipment_tbl => l_shipment_tbl,
3914: p_application_type_code => l_control_rec.application_type_code,
3915: x_return_status => l_return_status,
3916: x_msg_count => l_msg_count,
3917: x_msg_data => l_msg_data );
3918:
3919: IF l_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
3920: raise FND_API.G_EXC_ERROR;
3921: END IF;
3922: -- END IF;
3923:
3916: x_msg_count => l_msg_count,
3917: x_msg_data => l_msg_data );
3918:
3919: IF l_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
3920: raise FND_API.G_EXC_ERROR;
3921: END IF;
3922: -- END IF;
3923:
3924: ASO_TRADEIN_PVT.LineType(
3921: END IF;
3922: -- END IF;
3923:
3924: ASO_TRADEIN_PVT.LineType(
3925: p_init_msg_list => FND_API.G_FALSE,
3926: p_qte_header_rec => l_qte_header_rec,
3927: p_qte_line_rec => l_qte_line_rec,
3928: x_return_status => x_return_status,
3929: x_msg_count => x_msg_count,
3928: x_return_status => x_return_status,
3929: x_msg_count => x_msg_count,
3930: x_msg_data => x_msg_data);
3931:
3932: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3933: RAISE FND_API.G_EXC_ERROR;
3934: END IF;
3935: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3936: aso_debug_pub.add('after order type'|| x_return_status, 1, 'Y');
3929: x_msg_count => x_msg_count,
3930: x_msg_data => x_msg_data);
3931:
3932: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3933: RAISE FND_API.G_EXC_ERROR;
3934: END IF;
3935: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3936: aso_debug_pub.add('after order type'|| x_return_status, 1, 'Y');
3937: END IF;
3936: aso_debug_pub.add('after order type'|| x_return_status, 1, 'Y');
3937: END IF;
3938:
3939:
3940: If (p_qte_header_rec.order_type_id = FND_API.G_MISS_NUM )then -- [This is for backward compatibility]
3941: l_db_order_type_id := l_qte_header_rec.order_type_id;
3942: else
3943: l_db_order_type_id := p_qte_header_rec.order_type_id;
3944: end if;
3942: else
3943: l_db_order_type_id := p_qte_header_rec.order_type_id;
3944: end if;
3945:
3946: If (l_db_order_type_id = l_qte_header_rec.order_type_id) and (l_qte_line_rec.order_line_type_id <> FND_API.G_MISS_NUM) then
3947: ASO_validate_PVT.Validate_ln_type_for_ord_type(
3948: p_init_msg_list => FND_API.G_FALSE,
3949: p_qte_header_rec => l_qte_header_rec,
3950: P_Qte_Line_rec => l_qte_line_rec,
3944: end if;
3945:
3946: If (l_db_order_type_id = l_qte_header_rec.order_type_id) and (l_qte_line_rec.order_line_type_id <> FND_API.G_MISS_NUM) then
3947: ASO_validate_PVT.Validate_ln_type_for_ord_type(
3948: p_init_msg_list => FND_API.G_FALSE,
3949: p_qte_header_rec => l_qte_header_rec,
3950: P_Qte_Line_rec => l_qte_line_rec,
3951: x_return_status => x_return_status,
3952: x_msg_count => x_msg_count,
3951: x_return_status => x_return_status,
3952: x_msg_count => x_msg_count,
3953: x_msg_data => x_msg_data);
3954:
3955: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3956: RAISE FND_API.G_EXC_ERROR;
3957: END IF;
3958: End if;
3959:
3952: x_msg_count => x_msg_count,
3953: x_msg_data => x_msg_data);
3954:
3955: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3956: RAISE FND_API.G_EXC_ERROR;
3957: END IF;
3958: End if;
3959:
3960: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3962: END IF;
3963:
3964: aso_validate_pvt.Validate_po_line_number
3965: (
3966: p_init_msg_list => fnd_api.g_false,
3967: p_qte_header_rec => l_qte_header_rec,
3968: P_Qte_Line_rec => l_qte_line_rec,
3969: x_return_status => x_return_status,
3970: x_msg_count => x_msg_count,
3969: x_return_status => x_return_status,
3970: x_msg_count => x_msg_count,
3971: x_msg_data => x_msg_data);
3972:
3973: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3974: RAISE FND_API.G_EXC_ERROR;
3975: END IF;
3976:
3977: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3970: x_msg_count => x_msg_count,
3971: x_msg_data => x_msg_data);
3972:
3973: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3974: RAISE FND_API.G_EXC_ERROR;
3975: END IF;
3976:
3977: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3978: aso_debug_pub.add('x_return_status for Validate_po_line_number'|| x_return_status, 1, 'Y');
3979: END IF;
3980:
3981:
3982: ASO_TRADEIN_PVT.Validate_Line_Tradein(
3983: p_init_msg_list => FND_API.G_FALSE,
3984: p_qte_header_rec => l_qte_header_rec,
3985: P_Qte_Line_rec => l_qte_line_rec,
3986: x_return_status => x_return_status,
3987: x_msg_count => x_msg_count,
3986: x_return_status => x_return_status,
3987: x_msg_count => x_msg_count,
3988: x_msg_data => x_msg_data);
3989:
3990: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3991: RAISE FND_API.G_EXC_ERROR;
3992: END IF;
3993:
3994: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3987: x_msg_count => x_msg_count,
3988: x_msg_data => x_msg_data);
3989:
3990: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
3991: RAISE FND_API.G_EXC_ERROR;
3992: END IF;
3993:
3994: IF aso_debug_pub.g_debug_flag = 'Y' THEN
3995: aso_debug_pub.add('ASO_QUOTE_LINES Create_Quote_lines - after validate_line_tradein '||x_return_status, 1, 'Y');
3995: aso_debug_pub.add('ASO_QUOTE_LINES Create_Quote_lines - after validate_line_tradein '||x_return_status, 1, 'Y');
3996: end if;
3997:
3998: ASO_TRADEIN_PVT.Validate_IB_Return_Qty(
3999: p_init_msg_list => FND_API.G_FALSE,
4000: p_Qte_Line_rec => l_qte_line_rec,
4001: p_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl,
4002: x_return_status => x_return_status,
4003: x_msg_count => x_msg_count,
4002: x_return_status => x_return_status,
4003: x_msg_count => x_msg_count,
4004: x_msg_data => x_msg_data);
4005:
4006: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4007: RAISE FND_API.G_EXC_ERROR;
4008: END IF;
4009: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4010: aso_debug_pub.add('ASO_QUOTE_LINES Create_Quote_lines - after validate_IB_Return_Qty '||x_return_status, 1, 'Y');
4003: x_msg_count => x_msg_count,
4004: x_msg_data => x_msg_data);
4005:
4006: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4007: RAISE FND_API.G_EXC_ERROR;
4008: END IF;
4009: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4010: aso_debug_pub.add('ASO_QUOTE_LINES Create_Quote_lines - after validate_IB_Return_Qty '||x_return_status, 1, 'Y');
4011: end if;
4011: end if;
4012:
4013: IF ( P_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
4014: ASO_VALIDATE_PVT.Validate_Sales_Credit_Return(
4015: p_init_msg_list => FND_API.G_FALSE,
4016: p_sales_credit_tbl => p_sales_credit_tbl,
4017: p_qte_line_rec => l_qte_line_rec,
4018: x_return_status => x_return_status,
4019: x_msg_count => x_msg_count,
4017: p_qte_line_rec => l_qte_line_rec,
4018: x_return_status => x_return_status,
4019: x_msg_count => x_msg_count,
4020: x_msg_data => x_msg_data);
4021: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4022: RAISE FND_API.G_EXC_ERROR;
4023: END IF;
4024: END IF;
4025:
4018: x_return_status => x_return_status,
4019: x_msg_count => x_msg_count,
4020: x_msg_data => x_msg_data);
4021: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4022: RAISE FND_API.G_EXC_ERROR;
4023: END IF;
4024: END IF;
4025:
4026: -- EDU
4028: aso_debug_pub.add('Create_Quote_Line - before Validate_Agreement:l_qte_line_rec.Agreement_Id: '||l_qte_line_rec.Agreement_Id, 1, 'N');
4029: end if;
4030:
4031: IF (l_qte_line_rec.Agreement_Id IS NOT NULL AND
4032: l_qte_line_rec.Agreement_Id <> FND_API.G_MISS_NUM) THEN
4033: ASO_VALIDATE_PVT.Validate_Agreement(
4034: p_init_msg_list => FND_API.G_FALSE,
4035: P_Agreement_Id => l_qte_line_rec.Agreement_Id,
4036: x_return_status => x_return_status,
4030:
4031: IF (l_qte_line_rec.Agreement_Id IS NOT NULL AND
4032: l_qte_line_rec.Agreement_Id <> FND_API.G_MISS_NUM) THEN
4033: ASO_VALIDATE_PVT.Validate_Agreement(
4034: p_init_msg_list => FND_API.G_FALSE,
4035: P_Agreement_Id => l_qte_line_rec.Agreement_Id,
4036: x_return_status => x_return_status,
4037: x_msg_count => x_msg_count,
4038: x_msg_data => x_msg_data);
4039: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4040: aso_debug_pub.add('Create_Quote_Line - after Validate_Agreement:x_return_status: '||x_return_status, 1, 'N');
4041: end if;
4042:
4043: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4044: RAISE FND_API.G_EXC_ERROR;
4045: END IF;
4046: END IF;
4047: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4040: aso_debug_pub.add('Create_Quote_Line - after Validate_Agreement:x_return_status: '||x_return_status, 1, 'N');
4041: end if;
4042:
4043: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4044: RAISE FND_API.G_EXC_ERROR;
4045: END IF;
4046: END IF;
4047: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4048: aso_debug_pub.add('Create_Quote - after Validate_Agreement:l_qte_line_rec.UOM_Code: '||l_qte_line_rec.UOM_Code,1, 'N');
4049: aso_debug_pub.add('Create_Quote - after Validate_Agreement:l_qte_line_rec.Quantity: '||l_qte_line_rec.Quantity,1, 'N');
4050: end if;
4051: IF l_qte_line_rec.UOM_Code = 'ENR' THEN
4052: IF l_qte_line_rec.Quantity <> 1 THEN
4053: x_return_status := FND_API.G_RET_STS_ERROR;
4054: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4055: FND_MESSAGE.Set_Name('ASO', 'ASO_EDU_INVALID_QTY');
4056: FND_MSG_PUB.ADD;
4057: END IF;
4054: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4055: FND_MESSAGE.Set_Name('ASO', 'ASO_EDU_INVALID_QTY');
4056: FND_MSG_PUB.ADD;
4057: END IF;
4058: RAISE FND_API.G_EXC_ERROR;
4059: END IF;
4060: END IF;
4061: -- EDU
4062:
4077: l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row (p_qte_line_rec.Quote_Header_Id );
4078:
4079: aso_validate_pvt.Validate_cc_info
4080: (
4081: p_init_msg_list => fnd_api.g_false,
4082: p_payment_rec => l_payment_rec,
4083: p_qte_header_rec => l_qte_header_rec,
4084: P_Qte_Line_rec => p_qte_line_rec,
4085: x_return_status => x_return_status,
4090: aso_debug_pub.add('after calling Validate_cc_info ', 1, 'Y');
4091: aso_debug_pub.add('Validate_cc_info Return Status: '||x_return_status, 1, 'Y');
4092: END IF;
4093:
4094: if x_return_status <> fnd_api.g_ret_sts_success then
4095: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4091: aso_debug_pub.add('Validate_cc_info Return Status: '||x_return_status, 1, 'Y');
4092: END IF;
4093:
4094: if x_return_status <> fnd_api.g_ret_sts_success then
4095: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSE
4092: END IF;
4093:
4094: if x_return_status <> fnd_api.g_ret_sts_success then
4095: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSE
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4093:
4094: if x_return_status <> fnd_api.g_ret_sts_success then
4095: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSE
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4094: if x_return_status <> fnd_api.g_ret_sts_success then
4095: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSE
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4102: end if;
4096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4097: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSE
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4102: end if;
4103: END IF;
4104:
4136: X_Msg_Count => x_msg_count,
4137: X_Msg_Data => x_msg_data
4138: );
4139:
4140: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4141: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4142: FND_MESSAGE.Set_Name('ASO', 'ASO_INSERT_ERROR');
4143: FND_MSG_PUB.ADD;
4144: END IF;
4141: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4142: FND_MESSAGE.Set_Name('ASO', 'ASO_INSERT_ERROR');
4143: FND_MSG_PUB.ADD;
4144: END IF;
4145: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4147: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4148: RAISE FND_API.G_EXC_ERROR;
4149: END IF;
4142: FND_MESSAGE.Set_Name('ASO', 'ASO_INSERT_ERROR');
4143: FND_MSG_PUB.ADD;
4144: END IF;
4145: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4147: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4148: RAISE FND_API.G_EXC_ERROR;
4149: END IF;
4150: END IF;
4143: FND_MSG_PUB.ADD;
4144: END IF;
4145: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4147: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4148: RAISE FND_API.G_EXC_ERROR;
4149: END IF;
4150: END IF;
4151:
4144: END IF;
4145: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4147: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4148: RAISE FND_API.G_EXC_ERROR;
4149: END IF;
4150: END IF;
4151:
4152: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4153: aso_debug_pub.add('Create_Quote_lines - after insert_quote_line_rows '||x_return_status, 1, 'Y');
4154: end if;
4155:
4156: -- Service line quantity update Bmishra 01/09/02
4157: l_call_update := FND_API.G_FALSE;
4158: OPEN c_service (X_Qte_Line_Rec.quote_line_id);
4159:
4160: FETCH c_service INTO l_service_item_flag, l_serviceable_product_flag;
4161: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4164: end if;
4165: IF c_service%FOUND THEN
4166: CLOSE c_service;
4167: IF l_service_item_flag = 'Y' THEN
4168: l_service := FND_API.G_TRUE;
4169: l_call_update := FND_API.G_TRUE;
4170: ELSIF l_serviceable_product_flag = 'Y' THEN
4171: l_service := FND_API.G_FALSE;
4172: l_call_update := FND_API.G_TRUE;
4165: IF c_service%FOUND THEN
4166: CLOSE c_service;
4167: IF l_service_item_flag = 'Y' THEN
4168: l_service := FND_API.G_TRUE;
4169: l_call_update := FND_API.G_TRUE;
4170: ELSIF l_serviceable_product_flag = 'Y' THEN
4171: l_service := FND_API.G_FALSE;
4172: l_call_update := FND_API.G_TRUE;
4173: END IF;
4167: IF l_service_item_flag = 'Y' THEN
4168: l_service := FND_API.G_TRUE;
4169: l_call_update := FND_API.G_TRUE;
4170: ELSIF l_serviceable_product_flag = 'Y' THEN
4171: l_service := FND_API.G_FALSE;
4172: l_call_update := FND_API.G_TRUE;
4173: END IF;
4174:
4175: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4168: l_service := FND_API.G_TRUE;
4169: l_call_update := FND_API.G_TRUE;
4170: ELSIF l_serviceable_product_flag = 'Y' THEN
4171: l_service := FND_API.G_FALSE;
4172: l_call_update := FND_API.G_TRUE;
4173: END IF;
4174:
4175: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4176: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_lines: l_call_update'||l_call_update,1, 'N');
4175: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4176: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Create_Quote_lines: l_call_update'||l_call_update,1, 'N');
4177: end if;
4178:
4179: IF l_call_update = FND_API.G_TRUE THEN
4180: ASO_QUOTE_LINES_PVT.service_item_qty_update
4181: (p_qte_line_rec => X_Qte_Line_Rec ,
4182: p_service_item_flag => l_service,
4183: x_return_status => X_return_status
4201: end if;
4202:
4203: IF ( P_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
4204: IF x_sales_credit_tbl.count > 0 THEN
4205: IF x_sales_credit_tbl(1).quote_header_id IS NULL OR x_sales_credit_tbl(1).quote_header_id = FND_API.G_MISS_NUM THEN
4206: x_sales_credit_tbl(1).quote_header_id := X_Qte_Line_Rec.quote_header_id;
4207: END IF;
4208: IF x_sales_credit_tbl(1).quote_line_id IS NULL OR x_sales_credit_tbl(1).quote_line_id = FND_API.G_MISS_NUM THEN
4209: x_sales_credit_tbl(1).quote_line_id := X_Qte_Line_Rec.quote_line_id;
4204: IF x_sales_credit_tbl.count > 0 THEN
4205: IF x_sales_credit_tbl(1).quote_header_id IS NULL OR x_sales_credit_tbl(1).quote_header_id = FND_API.G_MISS_NUM THEN
4206: x_sales_credit_tbl(1).quote_header_id := X_Qte_Line_Rec.quote_header_id;
4207: END IF;
4208: IF x_sales_credit_tbl(1).quote_line_id IS NULL OR x_sales_credit_tbl(1).quote_line_id = FND_API.G_MISS_NUM THEN
4209: x_sales_credit_tbl(1).quote_line_id := X_Qte_Line_Rec.quote_line_id;
4210: END IF;
4211:
4212: ASO_VALIDATE_PVT.Validate_Quote_Percent(
4209: x_sales_credit_tbl(1).quote_line_id := X_Qte_Line_Rec.quote_line_id;
4210: END IF;
4211:
4212: ASO_VALIDATE_PVT.Validate_Quote_Percent(
4213: p_init_msg_list => FND_API.G_FALSE,
4214: p_sales_credit_tbl => x_sales_credit_tbl,
4215: x_return_status => x_return_status,
4216: x_msg_count => x_msg_count,
4217: x_msg_data => x_msg_data
4215: x_return_status => x_return_status,
4216: x_msg_count => x_msg_count,
4217: x_msg_data => x_msg_data
4218: );
4219: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4220: RAISE FND_API.G_EXC_ERROR;
4221: END IF;
4222: END IF;
4223: END IF;
4216: x_msg_count => x_msg_count,
4217: x_msg_data => x_msg_data
4218: );
4219: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4220: RAISE FND_API.G_EXC_ERROR;
4221: END IF;
4222: END IF;
4223: END IF;
4224:
4225: -- end sales credits
4226:
4227:
4228: IF l_control_rec.line_pricing_event IS NOT NULL AND
4229: l_control_rec.line_pricing_event <> FND_API.G_MISS_CHAR THEN
4230:
4231: -- call pricing engine
4232:
4233: l_pricing_control_rec.pricing_event := l_control_rec.line_pricing_event;
4247:
4248:
4249: ASO_PRICING_INT.Pricing_Order(
4250: P_Api_Version_Number => 1.0,
4251: P_Init_Msg_List => fnd_api.g_false,
4252: P_Commit => fnd_api.g_false,
4253: p_control_rec => l_pricing_control_rec,
4254: p_qte_header_rec => l_qte_header_rec,
4255: p_hd_shipment_rec => l_hd_shipment_rec,
4248:
4249: ASO_PRICING_INT.Pricing_Order(
4250: P_Api_Version_Number => 1.0,
4251: P_Init_Msg_List => fnd_api.g_false,
4252: P_Commit => fnd_api.g_false,
4253: p_control_rec => l_pricing_control_rec,
4254: p_qte_header_rec => l_qte_header_rec,
4255: p_hd_shipment_rec => l_hd_shipment_rec,
4256: p_hd_price_attr_tbl => l_hd_price_attr_tbl,
4268: if lx_qte_line_tbl.count > 0 then
4269: x_qte_line_rec := lx_qte_line_tbl(1);
4270: end if;
4271:
4272: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4273:
4274: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4275:
4276: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4270: end if;
4271:
4272: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4273:
4274: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4275:
4276: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4277:
4278: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4272: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4273:
4274: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4275:
4276: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4277:
4278: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4279:
4280: RAISE FND_API.G_EXC_ERROR;
4274: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4275:
4276: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4277:
4278: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4279:
4280: RAISE FND_API.G_EXC_ERROR;
4281:
4282: END IF;
4276: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4277:
4278: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4279:
4280: RAISE FND_API.G_EXC_ERROR;
4281:
4282: END IF;
4283:
4284: END IF;
4290: *
4291: *
4292: IF l_control_rec.CALCULATE_TAX_FLAG = 'Y'THEN
4293: l_tax_control_rec.tax_level := 'SHIPPING';
4294: l_tax_control_rec.update_db := 'Y' ; --FND_API.G_TRUE;
4295:
4296: l_tax_detail_rec.quote_header_id := l_qte_line_rec.quote_header_id;
4297: l_tax_detail_rec.quote_line_id := l_qte_line_rec.quote_line_id;
4298:
4304: END IF;
4305: CLOSE get_cust_acct;
4306:
4307: IF( l_qte_line_rec.invoice_to_party_site_id is not NULL
4308: AND l_qte_line_rec.invoice_to_party_site_id <> FND_API.G_MISS_NUM )
4309: AND (l_cust_Acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM) THEN
4310:
4311: ASO_PARTY_INT.GET_ACCT_SITE_USES (
4312: p_api_version => 1.0
4305: CLOSE get_cust_acct;
4306:
4307: IF( l_qte_line_rec.invoice_to_party_site_id is not NULL
4308: AND l_qte_line_rec.invoice_to_party_site_id <> FND_API.G_MISS_NUM )
4309: AND (l_cust_Acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM) THEN
4310:
4311: ASO_PARTY_INT.GET_ACCT_SITE_USES (
4312: p_api_version => 1.0
4313: ,P_Cust_Account_Id => l_cust_acct
4320: );
4321: IF aso_debug_pub.g_debug_flag = 'Y' THEN
4322: aso_debug_pub.add('Create_Quote_lines - after create_acct_site_uses- invoice_org_id: '||nvl(to_char(l_invoice_org_id),'null'), 1, 'N');
4323: end if;
4324: IF L_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
4325: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
4326: THEN
4327: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
4328: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
4327: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
4328: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
4329: FND_MSG_PUB.ADD;
4330: END IF;
4331: -- raise FND_API.G_EXC_ERROR;
4332: END IF;
4333: END IF;
4334:
4335: lx_tax_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows(l_qte_line_rec.quote_header_id,x_qte_line_rec.quote_line_id);
4336:
4337: FOR i in 1..lx_tax_shipment_tbl.count LOOP
4338: l_tax_detail_rec.quote_shipment_id := lx_tax_shipment_tbl(i).shipment_id;
4339:
4340: IF (lx_tax_shipment_tbl(i).ship_to_party_site_id is not NULL AND lx_tax_shipment_tbl(i).ship_to_party_site_id <> FND_API.G_MISS_NUM)
4341: AND(l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM )
4342: THEN
4343: ASO_PARTY_INT.GET_ACCT_SITE_USES (
4344: p_api_version => 1.0
4337: FOR i in 1..lx_tax_shipment_tbl.count LOOP
4338: l_tax_detail_rec.quote_shipment_id := lx_tax_shipment_tbl(i).shipment_id;
4339:
4340: IF (lx_tax_shipment_tbl(i).ship_to_party_site_id is not NULL AND lx_tax_shipment_tbl(i).ship_to_party_site_id <> FND_API.G_MISS_NUM)
4341: AND(l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM )
4342: THEN
4343: ASO_PARTY_INT.GET_ACCT_SITE_USES (
4344: p_api_version => 1.0
4345: ,P_Cust_Account_Id => l_cust_acct
4350: ,x_msg_data => l_msg_data
4351: ,x_site_use_id => l_ship_org_id
4352: );
4353:
4354: IF L_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
4355: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
4356: THEN
4357: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
4358: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
4357: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
4358: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
4359: FND_MSG_PUB.ADD;
4360: END IF;
4361: -- raise FND_API.G_EXC_ERROR;
4362: END IF;
4363:
4364: END IF;
4365:
4381: if l_tax_detail_tbl.count > 0 then
4382: x_tax_detail_tbl(i) := l_tax_detail_tbl(1);
4383: end if;
4384:
4385: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4386: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4387: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
4388: FND_MSG_PUB.ADD;
4389: END IF;
4386: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4387: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
4388: FND_MSG_PUB.ADD;
4389: END IF;
4390: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4392: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4393: RAISE FND_API.G_EXC_ERROR;
4394: END IF;
4387: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
4388: FND_MSG_PUB.ADD;
4389: END IF;
4390: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4392: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4393: RAISE FND_API.G_EXC_ERROR;
4394: END IF;
4395: END IF;
4388: FND_MSG_PUB.ADD;
4389: END IF;
4390: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4392: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4393: RAISE FND_API.G_EXC_ERROR;
4394: END IF;
4395: END IF;
4396: END LOOP;
4389: END IF;
4390: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4392: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4393: RAISE FND_API.G_EXC_ERROR;
4394: END IF;
4395: END IF;
4396: END LOOP;
4397:
4432: last_updated_by = fnd_global.user_id,
4433: last_update_login = fnd_global.conc_login_id
4434: WHERE shipment_id = l_shipment_tbl(i).shipment_id;
4435:
4436: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4437: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4438: FND_MESSAGE.Set_Name('ASO', 'ASO_CREATING_RESERVATION');
4439: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
4440: FND_MSG_PUB.ADD;
4438: FND_MESSAGE.Set_Name('ASO', 'ASO_CREATING_RESERVATION');
4439: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
4440: FND_MSG_PUB.ADD;
4441: END IF;
4442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4444: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4445: RAISE FND_API.G_EXC_ERROR;
4446: END IF;
4439: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
4440: FND_MSG_PUB.ADD;
4441: END IF;
4442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4444: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4445: RAISE FND_API.G_EXC_ERROR;
4446: END IF;
4447: END IF;
4440: FND_MSG_PUB.ADD;
4441: END IF;
4442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4444: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4445: RAISE FND_API.G_EXC_ERROR;
4446: END IF;
4447: END IF;
4448:
4441: END IF;
4442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4444: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4445: RAISE FND_API.G_EXC_ERROR;
4446: END IF;
4447: END IF;
4448:
4449:
4477: X_Return_Status => l_return_status,
4478: X_Msg_Count => x_msg_count,
4479: X_Msg_Data => x_msg_data);
4480:
4481: IF l_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4482: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4483: FND_MESSAGE.Set_Name('ASO', 'ASO_UPDATE_QUOTE_TOTAL');
4484: -- FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
4485: FND_MSG_PUB.ADD;
4486: END IF;
4487: END IF;
4488:
4489:
4490: IF l_return_status<>FND_API.G_RET_STS_SUCCESS THEN
4491: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4492: FND_MESSAGE.Set_Name('ASO', 'ASO_UPDATE_QUOTE_TOTAL');
4493: -- FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
4494: FND_MSG_PUB.ADD;
4494: FND_MSG_PUB.ADD;
4495: END IF;
4496: END IF;
4497:
4498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4495: END IF;
4496: END IF;
4497:
4498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4503: RAISE FND_API.G_EXC_ERROR;
4496: END IF;
4497:
4498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4503: RAISE FND_API.G_EXC_ERROR;
4504: END IF;
4497:
4498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4503: RAISE FND_API.G_EXC_ERROR;
4504: END IF;
4505:
4498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4503: RAISE FND_API.G_EXC_ERROR;
4504: END IF;
4505:
4506: END IF;
4499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4500: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4501: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4502: x_return_status := FND_API.G_RET_STS_ERROR;
4503: RAISE FND_API.G_EXC_ERROR;
4504: END IF;
4505:
4506: END IF;
4507:
4529: -- End of API body
4530: --
4531:
4532: -- Standard check for p_commit
4533: IF FND_API.to_Boolean( p_commit )
4534: THEN
4535: COMMIT WORK;
4536: END IF;
4537:
4543: p_data => x_msg_data
4544: );
4545:
4546: EXCEPTION
4547: WHEN FND_API.G_EXC_ERROR THEN
4548: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4549: P_API_NAME => L_API_NAME
4550: ,P_PKG_NAME => G_PKG_NAME
4551: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4555: ,X_MSG_COUNT => X_MSG_COUNT
4556: ,X_MSG_DATA => X_MSG_DATA
4557: ,X_RETURN_STATUS => X_RETURN_STATUS);
4558:
4559: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4560: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4561: P_API_NAME => L_API_NAME
4562: ,P_PKG_NAME => G_PKG_NAME
4563: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4593: -- Pre-Req :
4594: -- Parameters:
4595: -- IN
4596: -- p_api_version_number IN NUMBER Required
4597: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
4598: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
4599: -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
4600: -- P_qte_lines_Rec IN qte_line_Rec_Type Required
4601: -- P_quote_header_id IN NUMBER Required
4594: -- Parameters:
4595: -- IN
4596: -- p_api_version_number IN NUMBER Required
4597: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
4598: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
4599: -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
4600: -- P_qte_lines_Rec IN qte_line_Rec_Type Required
4601: -- P_quote_header_id IN NUMBER Required
4602: -- P_header_last_update_date IN DATE Required
4608: -- P_Freight_Charges_Tbl IN Freight_Charges_Tbl_Type
4609: -- P_Line_Relationship_Tbl IN Line_Relationship_Tbl_Type
4610: -- P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type
4611: -- P_Price_Adj_Relationship_Tbl IN Price_Adj_Relationship_Tbl_Type
4612: -- P_Update_Header_Flag IN VARCHAR2 Optional Default = FND_API.G_TRUE
4613: -- OUT:
4614: -- X_quote_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
4615: -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4616: -- x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
4624: -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
4625:
4626: PROCEDURE Update_Quote_Line(
4627: P_Api_Version_Number IN NUMBER,
4628: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
4629: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
4630: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4631: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
4632: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
4625:
4626: PROCEDURE Update_Quote_Line(
4627: P_Api_Version_Number IN NUMBER,
4628: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
4629: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
4630: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4631: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
4632: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
4633: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_MISS_Control_Rec,
4626: PROCEDURE Update_Quote_Line(
4627: P_Api_Version_Number IN NUMBER,
4628: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
4629: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
4630: P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4631: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec,
4632: P_Qte_Line_Rec IN ASO_QUOTE_PUB.Qte_Line_Rec_Type := ASO_QUOTE_PUB.G_MISS_qte_line_REC,
4633: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_MISS_Control_Rec,
4634: P_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := ASO_QUOTE_PUB.G_MISS_Payment_TBL,
4919: -- Standard Start of API savepoint
4920: SAVEPOINT UPDATE_quote_line_PVT;
4921:
4922: -- Standard call to check for call compatibility.
4923: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4924: p_api_version_number,
4925: l_api_name,
4926: G_PKG_NAME) THEN
4927: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4923: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4924: p_api_version_number,
4925: l_api_name,
4926: G_PKG_NAME) THEN
4927: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4928: END IF;
4929:
4930:
4931: -- Initialize message list if p_init_msg_list is set to TRUE.
4928: END IF;
4929:
4930:
4931: -- Initialize message list if p_init_msg_list is set to TRUE.
4932: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4933: FND_MSG_PUB.initialize;
4934: END IF;
4935:
4936:
4934: END IF;
4935:
4936:
4937: -- Initialize API return status to SUCCESS
4938: x_return_status := FND_API.G_RET_STS_SUCCESS;
4939:
4940: if aso_debug_pub.g_debug_flag = 'Y' THEN
4941: aso_debug_pub.add('Update_Quote_line - Begin ', 1, 'Y');
4942: aso_debug_pub.add('P_Control_REC.AUTO_VERSION_FLAG: '||nvl(P_Control_REC.AUTO_VERSION_FLAG,'null'),1,'N');
4980: FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
4981: FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
4982: FND_MSG_PUB.ADD;
4983: END IF;
4984: RAISE FND_API.G_EXC_ERROR;
4985: END IF;
4986:
4987:
4988: OPEN C_qln_exist;
4987:
4988: OPEN C_qln_exist;
4989: FETCH C_qln_exist into l_qln_exist;
4990:
4991: IF c_qln_exist%NOTFOUND OR l_qln_exist = FND_API.G_MISS_NUM THEN
4992:
4993: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4994: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_LINE');
4995: FND_MESSAGE.Set_Token ('VALUE', p_qte_line_rec.quote_line_id, FALSE);
4995: FND_MESSAGE.Set_Token ('VALUE', p_qte_line_rec.quote_line_id, FALSE);
4996: FND_MSG_PUB.ADD;
4997: END IF;
4998: CLOSE C_qln_exist;
4999: raise FND_API.G_EXC_ERROR;
5000:
5001: END IF;
5002: CLOSE C_qln_exist;
5003:
5019: FND_MESSAGE.Set_Token ('INFO', 'quote', FALSE);
5020: FND_MSG_PUB.Add;
5021: END IF;
5022: Close C_Get_quote;
5023: raise FND_API.G_EXC_ERROR;
5024: END IF;
5025: Close C_Get_quote;
5026:
5027: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5027: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5028: aso_debug_pub.add('After C_Get_quote Cursor call ',1,'N');
5029: end if;
5030:
5031: If (l_last_update_date is NULL or l_last_update_date = FND_API.G_MISS_Date ) Then
5032:
5033: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5034: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
5035: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
5034: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
5035: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
5036: FND_MSG_PUB.ADD;
5037: END IF;
5038: raise FND_API.G_EXC_ERROR;
5039: End if;
5040:
5041: -- Check Whether record has been changed by someone else
5042: If (trunc(l_last_update_date) <> trunc(p_control_rec.last_update_date)) Then
5045: FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
5046: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
5047: FND_MSG_PUB.ADD;
5048: END IF;
5049: raise FND_API.G_EXC_ERROR;
5050: End if;
5051:
5052: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5053: aso_debug_pub.add('After Last update date validation',1,'N');
5068: end if;
5069:
5070: -- the control rec does not set auto version to 'Y' then it should not be versioned
5071:
5072: IF p_control_rec.auto_version_flag = FND_API.G_TRUE AND NVL(l_auto_version,'Y') = 'Y' THEN
5073:
5074: OPEN C_Qte_Version(l_quote_number);
5075: FETCH C_Qte_Version into l_quote_version;
5076: l_quote_version := nvl(l_quote_version, 0) + 1;
5086: IF l_auto_version = 'Y' THEN
5087:
5088: l_old_header_rec := ASO_UTILITY_PVT.Query_Header_Row(p_qte_line_rec.QUOTE_HEADER_ID);
5089:
5090: l_copy_quote_control_rec.new_version := FND_API.G_TRUE;
5091: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
5092:
5093: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
5094: P_Init_Msg_List => FND_API.G_FALSE,
5090: l_copy_quote_control_rec.new_version := FND_API.G_TRUE;
5091: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
5092:
5093: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
5094: P_Init_Msg_List => FND_API.G_FALSE,
5095: P_Commit => FND_API.G_FALSE,
5096: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
5097: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
5098: X_Qte_Header_Id => x_quote_header_id,
5091: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
5092:
5093: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
5094: P_Init_Msg_List => FND_API.G_FALSE,
5095: P_Commit => FND_API.G_FALSE,
5096: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
5097: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
5098: X_Qte_Header_Id => x_quote_header_id,
5099: X_Qte_Number => l_qte_nbr,
5211: aso_debug_pub.add('Update_Quote_line: After call to ASO_DEFAULTING_INT.Default_Entity', 1, 'Y');
5212: aso_debug_pub.add('Update_Quote_line: x_return_status: '|| x_return_status, 1, 'Y');
5213: end if;
5214:
5215: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5216:
5217: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5218: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_DEFAULTING');
5219: FND_MSG_PUB.ADD;
5218: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_DEFAULTING');
5219: FND_MSG_PUB.ADD;
5220: END IF;
5221:
5222: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5224: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
5225: RAISE FND_API.G_EXC_ERROR;
5226: END IF;
5219: FND_MSG_PUB.ADD;
5220: END IF;
5221:
5222: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5224: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
5225: RAISE FND_API.G_EXC_ERROR;
5226: END IF;
5227:
5220: END IF;
5221:
5222: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5224: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
5225: RAISE FND_API.G_EXC_ERROR;
5226: END IF;
5227:
5228: END IF;
5221:
5222: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5224: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
5225: RAISE FND_API.G_EXC_ERROR;
5226: END IF;
5227:
5228: END IF;
5229:
5253:
5254: IF ( P_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
5255:
5256: ASO_VALIDATE_PVT.Validate_Item_Type_Code(
5257: p_init_msg_list => FND_API.G_FALSE,
5258: p_item_type_code => lx_qte_line_rec.item_type_code,
5259: x_return_status => x_return_status,
5260: x_msg_count => x_msg_count,
5261: x_msg_data => x_msg_data);
5259: x_return_status => x_return_status,
5260: x_msg_count => x_msg_count,
5261: x_msg_data => x_msg_data);
5262:
5263: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5264: RAISE FND_API.G_EXC_ERROR;
5265: END IF;
5266:
5267: -- invoice_to_party_id must exist and be active in HZ_PARTIES and have the usage INVOICE.
5260: x_msg_count => x_msg_count,
5261: x_msg_data => x_msg_data);
5262:
5263: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5264: RAISE FND_API.G_EXC_ERROR;
5265: END IF;
5266:
5267: -- invoice_to_party_id must exist and be active in HZ_PARTIES and have the usage INVOICE.
5268:
5266:
5267: -- invoice_to_party_id must exist and be active in HZ_PARTIES and have the usage INVOICE.
5268:
5269: ASO_VALIDATE_PVT.Validate_Party (
5270: p_init_msg_list => FND_API.G_FALSE,
5271: p_party_id => lx_qte_line_rec.invoice_to_party_id,
5272: p_party_usage => 'INVOICE',
5273: x_return_status => x_return_status,
5274: x_msg_count => x_msg_count,
5277: if aso_debug_pub.g_debug_flag = 'Y' THEN
5278: aso_debug_pub.add('after validate invoice to party: x_return_status: '||x_return_status, 1, 'N');
5279: end if;
5280:
5281: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5282: RAISE FND_API.G_EXC_ERROR;
5283: END IF;
5284:
5285: ASO_VALIDATE_PVT.Validate_PartySite (
5278: aso_debug_pub.add('after validate invoice to party: x_return_status: '||x_return_status, 1, 'N');
5279: end if;
5280:
5281: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5282: RAISE FND_API.G_EXC_ERROR;
5283: END IF;
5284:
5285: ASO_VALIDATE_PVT.Validate_PartySite (
5286: p_init_msg_list => FND_API.G_FALSE,
5282: RAISE FND_API.G_EXC_ERROR;
5283: END IF;
5284:
5285: ASO_VALIDATE_PVT.Validate_PartySite (
5286: p_init_msg_list => FND_API.G_FALSE,
5287: p_party_id => lx_qte_line_rec.invoice_to_party_id,
5288: p_party_site_id => lx_qte_line_rec.invoice_to_party_site_id,
5289: p_site_usage => 'INVOICE',
5290: x_return_status => x_return_status,
5294: if aso_debug_pub.g_debug_flag = 'Y' THEN
5295: aso_debug_pub.add('after validate invoice to party site: x_return_status: '||x_return_status, 1, 'N');
5296: end if;
5297:
5298: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5299: RAISE FND_API.G_EXC_ERROR;
5300: END IF;
5301:
5302: -- price list must exist and be active in OE_PRICE_LISTS
5295: aso_debug_pub.add('after validate invoice to party site: x_return_status: '||x_return_status, 1, 'N');
5296: end if;
5297:
5298: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5299: RAISE FND_API.G_EXC_ERROR;
5300: END IF;
5301:
5302: -- price list must exist and be active in OE_PRICE_LISTS
5303: ASO_VALIDATE_PVT.Validate_PriceList (
5300: END IF;
5301:
5302: -- price list must exist and be active in OE_PRICE_LISTS
5303: ASO_VALIDATE_PVT.Validate_PriceList (
5304: p_init_msg_list => FND_API.G_FALSE,
5305: p_price_list_id => lx_qte_line_rec.price_list_id,
5306: x_return_status => x_return_status,
5307: x_msg_count => x_msg_count,
5308: x_msg_data => x_msg_data);
5306: x_return_status => x_return_status,
5307: x_msg_count => x_msg_count,
5308: x_msg_data => x_msg_data);
5309:
5310: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5311: RAISE FND_API.G_EXC_ERROR;
5312: END IF;
5313:
5314: ASO_VALIDATE_PVT.Validate_Quote_Price_Exp(
5307: x_msg_count => x_msg_count,
5308: x_msg_data => x_msg_data);
5309:
5310: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5311: RAISE FND_API.G_EXC_ERROR;
5312: END IF;
5313:
5314: ASO_VALIDATE_PVT.Validate_Quote_Price_Exp(
5315: p_init_msg_list => FND_API.G_FALSE,
5311: RAISE FND_API.G_EXC_ERROR;
5312: END IF;
5313:
5314: ASO_VALIDATE_PVT.Validate_Quote_Price_Exp(
5315: p_init_msg_list => FND_API.G_FALSE,
5316: p_price_list_id => lx_qte_line_rec.price_list_id,
5317: p_quote_expiration_date => l_quote_exp_date,
5318: x_return_status => x_return_status,
5319: x_msg_count => x_msg_count,
5318: x_return_status => x_return_status,
5319: x_msg_count => x_msg_count,
5320: x_msg_data => x_msg_data);
5321:
5322: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5323:
5324: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5325: FND_MESSAGE.Set_Name('ASO', 'API_INVALID_ID');
5326: FND_MESSAGE.Set_Token('COLUMN', 'Price List Expires Before Quote', FALSE);
5326: FND_MESSAGE.Set_Token('COLUMN', 'Price List Expires Before Quote', FALSE);
5327: FND_MSG_PUB.ADD;
5328: END IF;
5329:
5330: RAISE FND_API.G_EXC_ERROR;
5331: END IF;
5332:
5333: if aso_debug_pub.g_debug_flag = 'Y' THEN
5334: aso_debug_pub.add('After call to Validate_Quote_Price_Exp: x_return_status: '|| x_return_status, 1, 'Y');
5342: aso_debug_pub.add('before validating ship_to party: '||nvl(to_char(lx_ln_shipment_tbl(i).ship_to_party_id), 'null'),1,'N');
5343: end if;
5344:
5345: ASO_VALIDATE_PVT.Validate_Party (
5346: p_init_msg_list => FND_API.G_FALSE,
5347: p_party_id => lx_ln_shipment_tbl(i).ship_to_party_id,
5348: p_party_usage => 'SHIP',
5349: x_return_status => x_return_status,
5350: x_msg_count => x_msg_count,
5353: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5354: aso_debug_pub.add('after validate ship to party: x_return_status: '||x_return_status, 1, 'N');
5355: end if;
5356:
5357: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5358: RAISE FND_API.G_EXC_ERROR;
5359: END IF;
5360:
5361: if aso_debug_pub.g_debug_flag = 'Y' THEN
5354: aso_debug_pub.add('after validate ship to party: x_return_status: '||x_return_status, 1, 'N');
5355: end if;
5356:
5357: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5358: RAISE FND_API.G_EXC_ERROR;
5359: END IF;
5360:
5361: if aso_debug_pub.g_debug_flag = 'Y' THEN
5362: aso_debug_pub.add('before validating ship_to party site: '||nvl(to_char(lx_ln_shipment_tbl(i).ship_to_party_site_id),'null'),1,'N');
5362: aso_debug_pub.add('before validating ship_to party site: '||nvl(to_char(lx_ln_shipment_tbl(i).ship_to_party_site_id),'null'),1,'N');
5363: end if;
5364:
5365: ASO_VALIDATE_PVT.Validate_PartySite (
5366: p_init_msg_list => FND_API.G_FALSE,
5367: p_party_id => lx_ln_shipment_tbl(i).ship_to_party_id,
5368: p_party_site_id => lx_ln_shipment_tbl(i).ship_to_party_site_id,
5369: p_site_usage => 'SHIP',
5370: x_return_status => x_return_status,
5374: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5375: aso_debug_pub.add('after validate ship to party site: x_return_status: '||x_return_status, 1, 'N');
5376: end if;
5377:
5378: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5379: RAISE FND_API.G_EXC_ERROR;
5380: END IF;
5381:
5382: End LOOP;
5375: aso_debug_pub.add('after validate ship to party site: x_return_status: '||x_return_status, 1, 'N');
5376: end if;
5377:
5378: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5379: RAISE FND_API.G_EXC_ERROR;
5380: END IF;
5381:
5382: End LOOP;
5383:
5382: End LOOP;
5383:
5384:
5385: ASO_VALIDATE_PVT.Validate_Marketing_Source_Code(
5386: p_init_msg_list => FND_API.G_FALSE,
5387: p_mkting_source_code_id => lx_qte_line_rec.marketing_source_code_id,
5388: x_return_status => x_return_status,
5389: x_msg_count => x_msg_count,
5390: x_msg_data => x_msg_data);
5392: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5393: aso_debug_pub.add('after marketing source code: x_return_status: '|| x_return_status, 1, 'Y');
5394: end if;
5395:
5396: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5397: RAISE FND_API.G_EXC_ERROR;
5398: END IF;
5399:
5400:
5393: aso_debug_pub.add('after marketing source code: x_return_status: '|| x_return_status, 1, 'Y');
5394: end if;
5395:
5396: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5397: RAISE FND_API.G_EXC_ERROR;
5398: END IF;
5399:
5400:
5401: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
5400:
5401: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
5402:
5403: ASO_VALIDATE_PVT.Validate_Service_Duration(
5404: p_init_msg_list => FND_API.G_FALSE,
5405: p_service_duration => p_qte_line_dtl_tbl(i).service_duration,
5406: x_return_status => x_return_status,
5407: x_msg_count => x_msg_count,
5408: x_msg_data => x_msg_data);
5410: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5411: aso_debug_pub.add('after service duration: x_return_status: '|| x_return_status, 1, 'Y');
5412: end if;
5413:
5414: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5415: RAISE FND_API.G_EXC_ERROR;
5416: END IF;
5417:
5418: END LOOP;
5411: aso_debug_pub.add('after service duration: x_return_status: '|| x_return_status, 1, 'Y');
5412: end if;
5413:
5414: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5415: RAISE FND_API.G_EXC_ERROR;
5416: END IF;
5417:
5418: END LOOP;
5419:
5426:
5427: if (p_sales_credit_tbl(i).operation_code = 'CREATE' or p_sales_credit_tbl(i).operation_code = 'UPDATE') then
5428:
5429: ASO_VALIDATE_PVT.Validate_Resource_id(
5430: p_init_msg_list => FND_API.G_FALSE,
5431: p_resource_id => p_sales_credit_tbl(i).resource_id ,
5432: x_return_status => x_return_status,
5433: x_msg_count => x_msg_count,
5434: x_msg_data => x_msg_data);
5432: x_return_status => x_return_status,
5433: x_msg_count => x_msg_count,
5434: x_msg_data => x_msg_data);
5435:
5436: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5437:
5438: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5439: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_SALES_REP_ID');
5440: FND_MSG_PUB.ADD;
5438: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5439: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_SALES_REP_ID');
5440: FND_MSG_PUB.ADD;
5441: END IF;
5442: RAISE FND_API.G_EXC_ERROR;
5443: END IF;
5444:
5445: ASO_VALIDATE_PVT.Validate_Resource_group_id(
5446: p_init_msg_list => FND_API.G_FALSE,
5442: RAISE FND_API.G_EXC_ERROR;
5443: END IF;
5444:
5445: ASO_VALIDATE_PVT.Validate_Resource_group_id(
5446: p_init_msg_list => FND_API.G_FALSE,
5447: p_resource_group_id => p_sales_credit_tbl(i).resource_group_id,
5448: x_return_status => x_return_status,
5449: x_msg_count => x_msg_count,
5450: x_msg_data => x_msg_data);
5448: x_return_status => x_return_status,
5449: x_msg_count => x_msg_count,
5450: x_msg_data => x_msg_data);
5451:
5452: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5453: RAISE FND_API.G_EXC_ERROR;
5454: END IF;
5455:
5456: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
5449: x_msg_count => x_msg_count,
5450: x_msg_data => x_msg_data);
5451:
5452: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5453: RAISE FND_API.G_EXC_ERROR;
5454: END IF;
5455:
5456: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
5457: p_init_msg_list => FND_API.G_FALSE,
5453: RAISE FND_API.G_EXC_ERROR;
5454: END IF;
5455:
5456: ASO_VALIDATE_PVT.Validate_Salescredit_Type(
5457: p_init_msg_list => FND_API.G_FALSE,
5458: p_salescredit_type_id => p_sales_credit_tbl(i).sales_credit_type_id,
5459: x_return_status => x_return_status,
5460: x_msg_count => x_msg_count,
5461: x_msg_data => x_msg_data);
5459: x_return_status => x_return_status,
5460: x_msg_count => x_msg_count,
5461: x_msg_data => x_msg_data);
5462:
5463: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5464: RAISE FND_API.G_EXC_ERROR;
5465: END IF;
5466:
5467: ASO_VALIDATE_PVT.Validate_EmployPerson(
5460: x_msg_count => x_msg_count,
5461: x_msg_data => x_msg_data);
5462:
5463: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5464: RAISE FND_API.G_EXC_ERROR;
5465: END IF;
5466:
5467: ASO_VALIDATE_PVT.Validate_EmployPerson(
5468: p_init_msg_list => FND_API.G_FALSE,
5464: RAISE FND_API.G_EXC_ERROR;
5465: END IF;
5466:
5467: ASO_VALIDATE_PVT.Validate_EmployPerson(
5468: p_init_msg_list => FND_API.G_FALSE,
5469: p_employee_id => p_sales_credit_tbl(i).employee_person_id,
5470: x_return_status => x_return_status,
5471: x_msg_count => x_msg_count,
5472: x_msg_data => x_msg_data);
5470: x_return_status => x_return_status,
5471: x_msg_count => x_msg_count,
5472: x_msg_data => x_msg_data);
5473:
5474: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5475: RAISE FND_API.G_EXC_ERROR;
5476: END IF;
5477:
5478: end if;
5471: x_msg_count => x_msg_count,
5472: x_msg_data => x_msg_data);
5473:
5474: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5475: RAISE FND_API.G_EXC_ERROR;
5476: END IF;
5477:
5478: end if;
5479:
5483: /* commented by bmishra on 12/15/2004 as we are not using quote_party_tbl
5484: FOR i in 1..p_quote_party_tbl.count LOOP
5485:
5486: ASO_VALIDATE_PVT.Validate_Party_Type(
5487: p_init_msg_list => FND_API.G_FALSE,
5488: p_party_type => p_quote_party_tbl(i).party_type,
5489: x_return_status => x_return_status,
5490: x_msg_count => x_msg_count,
5491: x_msg_data => x_msg_data);
5489: x_return_status => x_return_status,
5490: x_msg_count => x_msg_count,
5491: x_msg_data => x_msg_data);
5492:
5493: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5494: RAISE FND_API.G_EXC_ERROR;
5495: END IF;
5496:
5497: ASO_VALIDATE_PVT.Validate_Party(
5490: x_msg_count => x_msg_count,
5491: x_msg_data => x_msg_data);
5492:
5493: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5494: RAISE FND_API.G_EXC_ERROR;
5495: END IF;
5496:
5497: ASO_VALIDATE_PVT.Validate_Party(
5498: p_init_msg_list => FND_API.G_FALSE,
5494: RAISE FND_API.G_EXC_ERROR;
5495: END IF;
5496:
5497: ASO_VALIDATE_PVT.Validate_Party(
5498: p_init_msg_list => FND_API.G_FALSE,
5499: p_party_id => p_quote_party_tbl(i).party_id,
5500: p_party_usage => null,
5501: x_return_status => x_return_status,
5502: x_msg_count => x_msg_count,
5501: x_return_status => x_return_status,
5502: x_msg_count => x_msg_count,
5503: x_msg_data => x_msg_data);
5504:
5505: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5506: RAISE FND_API.G_EXC_ERROR;
5507: END IF;
5508:
5509: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
5502: x_msg_count => x_msg_count,
5503: x_msg_data => x_msg_data);
5504:
5505: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5506: RAISE FND_API.G_EXC_ERROR;
5507: END IF;
5508:
5509: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
5510: p_init_msg_list => FND_API.G_FALSE,
5506: RAISE FND_API.G_EXC_ERROR;
5507: END IF;
5508:
5509: ASO_VALIDATE_PVT.Validate_Party_Object_Type(
5510: p_init_msg_list => FND_API.G_FALSE,
5511: p_party_object_type => p_quote_party_tbl(i).party_object_type,
5512: x_return_status => x_return_status,
5513: x_msg_count => x_msg_count,
5514: x_msg_data => x_msg_data);
5511: p_party_object_type => p_quote_party_tbl(i).party_object_type,
5512: x_return_status => x_return_status,
5513: x_msg_count => x_msg_count,
5514: x_msg_data => x_msg_data);
5515: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5516: RAISE FND_API.G_EXC_ERROR;
5517: END IF;
5518:
5519: END LOOP;
5512: x_return_status => x_return_status,
5513: x_msg_count => x_msg_count,
5514: x_msg_data => x_msg_data);
5515: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5516: RAISE FND_API.G_EXC_ERROR;
5517: END IF;
5518:
5519: END LOOP;
5520: */
5520: */
5521:
5522:
5523: ASO_VALIDATE_PVT.Validate_MiniSite(
5524: p_init_msg_list => FND_API.G_FALSE,
5525: p_minisite_id => lx_qte_line_rec.minisite_id,
5526: x_return_status => x_return_status,
5527: x_msg_count => x_msg_count,
5528: x_msg_data => x_msg_data);
5526: x_return_status => x_return_status,
5527: x_msg_count => x_msg_count,
5528: x_msg_data => x_msg_data);
5529:
5530: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5531: RAISE FND_API.G_EXC_ERROR;
5532: END IF;
5533:
5534: ASO_VALIDATE_PVT.Validate_Section(
5527: x_msg_count => x_msg_count,
5528: x_msg_data => x_msg_data);
5529:
5530: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5531: RAISE FND_API.G_EXC_ERROR;
5532: END IF;
5533:
5534: ASO_VALIDATE_PVT.Validate_Section(
5535: p_init_msg_list => FND_API.G_FALSE,
5531: RAISE FND_API.G_EXC_ERROR;
5532: END IF;
5533:
5534: ASO_VALIDATE_PVT.Validate_Section(
5535: p_init_msg_list => FND_API.G_FALSE,
5536: p_section_id => lx_qte_line_rec.section_id,
5537: x_return_status => x_return_status,
5538: x_msg_count => x_msg_count,
5539: x_msg_data => x_msg_data);
5537: x_return_status => x_return_status,
5538: x_msg_count => x_msg_count,
5539: x_msg_data => x_msg_data);
5540:
5541: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5542: RAISE FND_API.G_EXC_ERROR;
5543: END IF;
5544:
5545: END IF;
5538: x_msg_count => x_msg_count,
5539: x_msg_data => x_msg_data);
5540:
5541: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5542: RAISE FND_API.G_EXC_ERROR;
5543: END IF;
5544:
5545: END IF;
5546:
5551:
5552:
5553: IF p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_RECORD THEN
5554:
5555: IF lx_qte_line_rec.organization_id is NULL or lx_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
5556:
5557: IF lx_qte_line_rec.org_id is NULL OR lx_qte_line_rec.org_id = FND_API.G_MISS_NUM THEN
5558:
5559: OPEN C_org_id;
5553: IF p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_RECORD THEN
5554:
5555: IF lx_qte_line_rec.organization_id is NULL or lx_qte_line_rec.organization_id = FND_API.G_MISS_NUM THEN
5556:
5557: IF lx_qte_line_rec.org_id is NULL OR lx_qte_line_rec.org_id = FND_API.G_MISS_NUM THEN
5558:
5559: OPEN C_org_id;
5560: FETCH C_org_id into l_org_id;
5561:
5580:
5581: END IF;
5582:
5583:
5584: IF lx_qte_line_rec.inventory_item_id is NULL OR lx_qte_line_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
5585:
5586: SELECT inventory_item_id INTO l_inventory_item_id
5587: FROM aso_quote_lines_all
5588: WHERE quote_line_id = lx_qte_line_rec.quote_line_id;
5601:
5602: -- UOM must exist and should be in ASO_I_UNITS_OF_MEASURE
5603:
5604: ASO_VALIDATE_PVT.Validate_UOM_code(
5605: p_init_msg_list => FND_API.G_FALSE,
5606: p_uom_code => lx_qte_line_rec.uom_code,
5607: p_organization_id => l_organization_id,
5608: p_inventory_item_id => l_inventory_item_id,
5609: x_return_status => x_return_status,
5609: x_return_status => x_return_status,
5610: x_msg_count => x_msg_count,
5611: x_msg_data => x_msg_data);
5612:
5613: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5614: RAISE FND_API.G_EXC_ERROR;
5615: END IF;
5616:
5617:
5610: x_msg_count => x_msg_count,
5611: x_msg_data => x_msg_data);
5612:
5613: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5614: RAISE FND_API.G_EXC_ERROR;
5615: END IF;
5616:
5617:
5618: ASO_VALIDATE_PVT.Validate_For_GreaterEndDate (
5615: END IF;
5616:
5617:
5618: ASO_VALIDATE_PVT.Validate_For_GreaterEndDate (
5619: p_init_msg_list => FND_API.G_FALSE,
5620: p_start_date => lx_qte_line_rec.start_date_active,
5621: p_end_date => lx_qte_line_rec.end_date_active,
5622: x_return_status => x_return_status,
5623: x_msg_count => x_msg_count,
5622: x_return_status => x_return_status,
5623: x_msg_count => x_msg_count,
5624: x_msg_data => x_msg_data);
5625:
5626: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5627:
5628: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5629: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5630: FND_MESSAGE.Set_Token('INFO', 'END_DATE', FALSE);
5629: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5630: FND_MESSAGE.Set_Token('INFO', 'END_DATE', FALSE);
5631: FND_MSG_PUB.ADD;
5632: END IF;
5633: RAISE FND_API.G_EXC_ERROR;
5634: END IF;
5635:
5636: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5637: aso_debug_pub.add('validate greater end date'|| x_return_status , 1, 'Y');
5639:
5640: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
5641:
5642: ASO_VALIDATE_PVT.Validate_Returns(
5643: p_init_msg_list => FND_API.G_FALSE,
5644: p_return_ref_type_code => p_qte_line_dtl_tbl(i).return_ref_type,
5645: p_return_ref_header_id => p_qte_line_dtl_tbl(i).return_ref_header_id,
5646: p_return_ref_line_id => p_qte_line_dtl_tbl(i).return_ref_line_id,
5647: x_return_status => x_return_status,
5647: x_return_status => x_return_status,
5648: x_msg_count => x_msg_count,
5649: x_msg_data => x_msg_data);
5650:
5651: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5652:
5653: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5654: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5655: FND_MESSAGE.Set_Token('INFO', 'RETURN', FALSE);
5654: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5655: FND_MESSAGE.Set_Token('INFO', 'RETURN', FALSE);
5656: FND_MSG_PUB.ADD;
5657: END IF;
5658: RAISE FND_API.G_EXC_ERROR;
5659: END IF;
5660:
5661: END LOOP;
5662:
5669:
5670: FOR i in 1..p_tax_detail_tbl.count LOOP
5671:
5672: ASO_VALIDATE_PVT.Validate_Tax_Exemption (
5673: p_init_msg_list => FND_API.G_FALSE,
5674: p_tax_exempt_flag => p_tax_detail_tbl(i).tax_exempt_flag,
5675: p_tax_exempt_reason_code => p_tax_detail_tbl(i).tax_exempt_reason_code,
5676: x_return_status => x_return_status,
5677: x_msg_count => x_msg_count,
5676: x_return_status => x_return_status,
5677: x_msg_count => x_msg_count,
5678: x_msg_data => x_msg_data);
5679:
5680: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5681:
5682: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5683: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5684: FND_MESSAGE.Set_Token('INFO', 'TAX', FALSE);
5683: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5684: FND_MESSAGE.Set_Token('INFO', 'TAX', FALSE);
5685: FND_MSG_PUB.ADD;
5686: END IF;
5687: RAISE FND_API.G_EXC_ERROR;
5688: END IF;
5689:
5690: END LOOP;
5691:
5702: aso_debug_pub.add('ASO_QUOTE_LINES_PVT:Update_Quote_Lines:config_item_id: '|| p_qte_line_dtl_tbl(i).config_item_id,1,'N');
5703: end if;
5704:
5705: IF ((p_qte_line_dtl_tbl(i).config_header_id IS NOT NULL AND
5706: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
5707: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
5708: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
5709: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
5710: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
5704:
5705: IF ((p_qte_line_dtl_tbl(i).config_header_id IS NOT NULL AND
5706: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
5707: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
5708: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
5709: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
5710: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
5711:
5712: ASO_VALIDATE_PVT.Validate_Configuration(
5706: p_qte_line_dtl_tbL(i).config_header_id <> FND_API.G_MISS_NUM) AND
5707: (p_qte_line_dtl_tbl(i).config_revision_num IS NOT NULL AND
5708: p_qte_line_dtl_tbl(i).config_revision_num <> FND_API.G_MISS_NUM) AND
5709: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
5710: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
5711:
5712: ASO_VALIDATE_PVT.Validate_Configuration(
5713: p_init_msg_list => FND_API.G_FALSE,
5714: p_config_header_id => p_qte_line_dtl_tbl(i).config_header_id,
5709: (p_qte_line_dtl_tbl(i).config_item_id IS NOT NULL AND
5710: p_qte_line_dtl_tbl(i).config_item_id <> FND_API.G_MISS_NUM)) THEN
5711:
5712: ASO_VALIDATE_PVT.Validate_Configuration(
5713: p_init_msg_list => FND_API.G_FALSE,
5714: p_config_header_id => p_qte_line_dtl_tbl(i).config_header_id,
5715: p_config_revision_num => p_qte_line_dtl_tbl(i).config_revision_num,
5716: p_config_item_id => p_qte_line_dtl_tbl(i).config_item_id,
5717: x_return_status => x_return_status,
5721: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5722: aso_debug_pub.add('Update_Quote_Lines after Validate_Configuration :x_return_status:'||x_return_status,1, 'N');
5723: end if;
5724:
5725: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5726:
5727: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5728: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5729: FND_MESSAGE.Set_Token('INFO', 'CONFIGURATION', FALSE);
5728: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5729: FND_MESSAGE.Set_Token('INFO', 'CONFIGURATION', FALSE);
5730: FND_MSG_PUB.ADD;
5731: END IF;
5732: RAISE FND_API.G_EXC_ERROR;
5733: END IF;
5734: END IF;
5735:
5736: END LOOP;
5742:
5743: FOR i in 1..p_qte_line_dtl_tbl.count LOOP
5744:
5745: ASO_VALIDATE_PVT.Validate_Delayed_Service(
5746: p_init_msg_list => FND_API.G_FALSE,
5747: p_service_ref_type_code => p_qte_line_dtl_tbl(i).service_ref_type_code,
5748: p_service_ref_line_id => p_qte_line_dtl_tbl(i).service_ref_line_id,
5749: p_service_ref_system_id => p_qte_line_dtl_tbl(i).service_ref_system_id,
5750: x_return_status => x_return_status,
5750: x_return_status => x_return_status,
5751: x_msg_count => x_msg_count,
5752: x_msg_data => x_msg_data);
5753:
5754: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5755:
5756: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5757: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5758: FND_MESSAGE.Set_Token('INFO', 'DELAYED SERVICE', FALSE);
5757: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5758: FND_MESSAGE.Set_Token('INFO', 'DELAYED SERVICE', FALSE);
5759: FND_MSG_PUB.ADD;
5760: END IF;
5761: RAISE FND_API.G_EXC_ERROR;
5762: END IF;
5763:
5764: END LOOP;
5765:
5771:
5772: FOR i in 1..p_quote_party_tbl.count LOOP
5773:
5774: ASO_VALIDATE_PVT.Validate_Party_Object_Id(
5775: p_init_msg_list => FND_API.G_FALSE,
5776: p_party_id => p_quote_party_tbl(i).party_id,
5777: p_party_object_type => p_quote_party_tbl(i).party_object_type,
5778: p_party_object_id => p_quote_party_tbl(i).party_object_id,
5779: x_return_status => x_return_status,
5778: p_party_object_id => p_quote_party_tbl(i).party_object_id,
5779: x_return_status => x_return_status,
5780: x_msg_count => x_msg_count,
5781: x_msg_data => x_msg_data);
5782: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
5783: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5784: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5785: FND_MESSAGE.Set_Token('INFO', 'PARTY OBJECT ID', FALSE);
5786: FND_MSG_PUB.ADD;
5784: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
5785: FND_MESSAGE.Set_Token('INFO', 'PARTY OBJECT ID', FALSE);
5786: FND_MSG_PUB.ADD;
5787: END IF;
5788: RAISE FND_API.G_EXC_ERROR;
5789: END IF;
5790: END LOOP;
5791: */
5792:
5816:
5817: IF (l_db_shipment_rec.ship_from_org_id <> lx_ln_shipment_tbl(1).ship_from_org_id) OR
5818: ((l_db_qte_line_rec.inventory_item_id <> lx_qte_line_rec.inventory_item_id) AND
5819: ((lx_ln_shipment_tbl(1).ship_from_org_id IS NOT NULL) AND
5820: (lx_ln_shipment_tbl(1).ship_from_org_id <> FND_API.G_MISS_NUM))) THEN
5821:
5822: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5823: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_Line: before Validate_ship_from_org_ID', 1, 'Y');
5824: end if;
5831: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5832: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_Line: after Validate_ship_from_org_ID', 1, 'Y');
5833: end if;
5834:
5835: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5836:
5837: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5838: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_Line: after Validate_ship_from_org_ID: <> SUCCESS', 1, 'Y');
5839: end if;
5844: FND_MESSAGE.Set_Token('INVENTORY_ITEM_ID', lx_qte_line_rec.inventory_item_id, FALSE);
5845: FND_MSG_PUB.ADD;
5846: END IF;
5847:
5848: RAISE FND_API.G_EXC_ERROR;
5849:
5850: END IF;
5851:
5852: END IF;
5863: end if;
5864:
5865: IF (l_db_qte_line_rec.inventory_item_id <> lx_qte_line_rec.inventory_item_id) AND
5866: ((l_db_shipment_rec.ship_from_org_id IS NOT NULL) AND
5867: (l_db_shipment_rec.ship_from_org_id <> FND_API.G_MISS_NUM)) THEN
5868:
5869: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5870: aso_debug_pub.add('Update_Quote_Line: before Validate_ship_from_org_ID (no lx_ln_shipment_tbl)', 1, 'Y');
5871: end if;
5878: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5879: aso_debug_pub.add('Update_Quote_Line: after Validate_ship_from_org_ID (no lx_ln_shipment_tbl)', 1, 'Y');
5880: end if;
5881:
5882: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5883:
5884: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5885: aso_debug_pub.add('Update_Quote_Line: after Validate_ship_from_org_ID: <> SUCCESS (no lx_ln_shipment_tbl)', 1, 'Y');
5886: end if;
5891: FND_MESSAGE.Set_Token('INVENTORY_ITEM_ID', lx_qte_line_rec.inventory_item_id, FALSE);
5892: FND_MSG_PUB.ADD;
5893: END IF;
5894:
5895: RAISE FND_API.G_EXC_ERROR;
5896: END IF;
5897:
5898: ELSE
5899:
5896: END IF;
5897:
5898: ELSE
5899:
5900: IF (l_db_shipment_rec.ship_from_org_id IS NULL) OR (l_db_shipment_rec.ship_from_org_id = FND_API.G_MISS_NUM) THEN
5901:
5902: l_hd_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows( P_Qte_Header_Id => l_db_qte_line_rec.quote_header_id,
5903: P_Qte_Line_Id => NULL);
5904:
5911: end if;
5912:
5913: IF (l_db_qte_line_rec.inventory_item_id <> lx_qte_line_rec.inventory_item_id) AND
5914: ((l_hd_shipment_rec.ship_from_org_id IS NOT NULL) AND
5915: (l_hd_shipment_rec.ship_from_org_id <> FND_API.G_MISS_NUM)) THEN
5916:
5917: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5918: aso_debug_pub.add('Update_Quote_Line: before Validate_ship_from_org_ID (no db_shipment_tbl)', 1, 'Y');
5919: end if;
5926: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5927: aso_debug_pub.add('Update_Quote_Line: after Validate_ship_from_org_ID (no db_shipment_tbl)', 1, 'Y');
5928: end if;
5929:
5930: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5931:
5932: IF aso_debug_pub.g_debug_flag = 'Y' THEN
5933: aso_debug_pub.add('after Validate_ship_from_org_ID: <> SUCCESS (no db_shipment_tbl)', 1, 'Y');
5934: end if;
5939: FND_MESSAGE.Set_Token('INVENTORY_ITEM_ID', lx_qte_line_rec.inventory_item_id, FALSE);
5940: FND_MSG_PUB.ADD;
5941: END IF;
5942:
5943: RAISE FND_API.G_EXC_ERROR;
5944: END IF;
5945:
5946: END IF;
5947:
5964: -- hyang csi change 1935614
5965:
5966: FOR i IN 1..lx_ln_shipment_tbl.count LOOP
5967:
5968: IF lx_ln_shipment_tbl(i).quantity <> FND_API.G_MISS_NUM THEN
5969:
5970: if not (csi_utility_grp.ib_active()) then
5971:
5972: Open C_inst_details( lx_ln_shipment_tbl(i).shipment_id);
5979: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
5980: FND_MESSAGE.Set_Name('ASO', 'INST_DETAILS_EXIST');
5981: FND_MSG_PUB.ADD;
5982: END IF;
5983: raise FND_API.G_EXC_ERROR;
5984:
5985: ELSE
5986: close C_inst_details;
5987:
5999: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6000: FND_MESSAGE.Set_Name('ASO', 'INST_DETAILS_EXIST');
6001: FND_MSG_PUB.ADD;
6002: END IF;
6003: raise FND_API.G_EXC_ERROR;
6004:
6005: else
6006: close c_csi_details;
6007:
6019: end if;
6020:
6021: IF lx_qte_line_rec.UOM_Code = 'ENR' THEN
6022:
6023: IF lx_qte_line_rec.Quantity <> FND_API.G_MISS_NUM THEN
6024:
6025: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6026: aso_debug_pub.add('Update_Quote_Line - Invalid Quantity for EDU: ',1, 'N');
6027: end if;
6025: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6026: aso_debug_pub.add('Update_Quote_Line - Invalid Quantity for EDU: ',1, 'N');
6027: end if;
6028:
6029: x_return_status := FND_API.G_RET_STS_ERROR;
6030: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6031: FND_MESSAGE.Set_Name('ASO', 'ASO_EDU_INVALID_QTY');
6032: FND_MSG_PUB.ADD;
6033: END IF;
6030: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6031: FND_MESSAGE.Set_Name('ASO', 'ASO_EDU_INVALID_QTY');
6032: FND_MSG_PUB.ADD;
6033: END IF;
6034: RAISE FND_API.G_EXC_ERROR;
6035:
6036: END IF;
6037:
6038: END IF;
6074: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6075: aso_debug_pub.add('Update_Quote_Line - After call to Populate_Quote_Line: x_return_status: '|| x_return_status ,1, 'N');
6076: end if;
6077:
6078: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6079:
6080: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6081: FND_MESSAGE.Set_Name('ASO', 'ASO_POPULATING_COLUMNS');
6082: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
6082: FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
6083: FND_MSG_PUB.ADD;
6084: END IF;
6085:
6086: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6088: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6089: RAISE FND_API.G_EXC_ERROR;
6090: END IF;
6083: FND_MSG_PUB.ADD;
6084: END IF;
6085:
6086: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6088: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6089: RAISE FND_API.G_EXC_ERROR;
6090: END IF;
6091:
6084: END IF;
6085:
6086: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6088: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6089: RAISE FND_API.G_EXC_ERROR;
6090: END IF;
6091:
6092: END IF;
6085:
6086: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6088: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6089: RAISE FND_API.G_EXC_ERROR;
6090: END IF;
6091:
6092: END IF;
6093: -- copy the orig payment tbl to another variable as the count of the payment tbl may get changed
6105: ASO_DEBUG_PUB.add('UQ organization_id = '||nvl(to_char(l_Qte_Line_Rec.organization_id),'null') , 1, 'Y');
6106: ASO_DEBUG_PUB.add('UQ Inventory_item_id = '||l_Qte_Line_Rec.inventory_item_id, 1, 'Y');
6107: END IF;
6108:
6109: IF l_Qte_Line_Rec.inventory_item_id <> FND_API.G_MISS_NUM THEN
6110:
6111: ASO_VALIDATE_PVT.Validate_Inventory_Item(
6112: p_init_msg_list => FND_API.G_FALSE,
6113: p_inventory_item_id => l_Qte_Line_Rec.inventory_item_id,
6108:
6109: IF l_Qte_Line_Rec.inventory_item_id <> FND_API.G_MISS_NUM THEN
6110:
6111: ASO_VALIDATE_PVT.Validate_Inventory_Item(
6112: p_init_msg_list => FND_API.G_FALSE,
6113: p_inventory_item_id => l_Qte_Line_Rec.inventory_item_id,
6114: p_organization_id => l_Qte_Line_Rec.organization_id,
6115: x_return_status => x_return_status,
6116: x_msg_count => x_msg_count,
6115: x_return_status => x_return_status,
6116: x_msg_count => x_msg_count,
6117: x_msg_data => x_msg_data);
6118:
6119: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6120: RAISE FND_API.G_EXC_ERROR;
6121: END IF;
6122: END IF ;
6123:
6116: x_msg_count => x_msg_count,
6117: x_msg_data => x_msg_data);
6118:
6119: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6120: RAISE FND_API.G_EXC_ERROR;
6121: END IF;
6122: END IF ;
6123:
6124: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6127:
6128: -- bug 5196952
6129: if (P_shipment_Tbl.count > 0) then
6130:
6131: IF ( p_shipment_tbl(1).ship_method_code is not null and p_shipment_tbl(1).ship_method_code <> fnd_api.g_miss_char) then
6132:
6133: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6134: aso_debug_pub.add('Update_Quote_line - ship method codeof quote line is being updated ', 1, 'N');
6135: aso_debug_pub.add('Update_Quote_line - before validate ship_method_code ', 1, 'N');
6135: aso_debug_pub.add('Update_Quote_line - before validate ship_method_code ', 1, 'N');
6136: end if;
6137: ASO_VALIDATE_PVT.validate_ship_method_code
6138: (
6139: p_init_msg_list => fnd_api.g_false,
6140: p_qte_header_id => lx_qte_line_rec.quote_header_id,
6141: p_qte_line_id => lx_qte_line_rec.quote_line_id,
6142: p_organization_id => lx_qte_line_rec.organization_id,
6143: p_ship_method_code => p_shipment_tbl(1).ship_method_code,
6149: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6150: aso_debug_pub.add('Update_Quote_line - After validate ship_method_code ', 1, 'N');
6151: end if;
6152:
6153: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6154: RAISE FND_API.G_EXC_ERROR;
6155: END IF;
6156: end if; -- end if for ship method code check
6157: elsif (lx_qte_line_rec.organization_id is not null and lx_qte_line_rec.organization_id <> fnd_api.g_miss_num and P_shipment_Tbl.count = 0) then
6150: aso_debug_pub.add('Update_Quote_line - After validate ship_method_code ', 1, 'N');
6151: end if;
6152:
6153: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6154: RAISE FND_API.G_EXC_ERROR;
6155: END IF;
6156: end if; -- end if for ship method code check
6157: elsif (lx_qte_line_rec.organization_id is not null and lx_qte_line_rec.organization_id <> fnd_api.g_miss_num and P_shipment_Tbl.count = 0) then
6158: -- this means the organization id on the qte line is being updated, hence need to validate the ship method code again for new organization id
6153: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6154: RAISE FND_API.G_EXC_ERROR;
6155: END IF;
6156: end if; -- end if for ship method code check
6157: elsif (lx_qte_line_rec.organization_id is not null and lx_qte_line_rec.organization_id <> fnd_api.g_miss_num and P_shipment_Tbl.count = 0) then
6158: -- this means the organization id on the qte line is being updated, hence need to validate the ship method code again for new organization id
6159: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6160: aso_debug_pub.add('Update_Quote_line - Organization id of quote line is being updated ', 1, 'N');
6161: aso_debug_pub.add('Update_Quote_line - before validate ship_method_code ', 1, 'N');
6161: aso_debug_pub.add('Update_Quote_line - before validate ship_method_code ', 1, 'N');
6162: end if;
6163: ASO_VALIDATE_PVT.validate_ship_method_code
6164: (
6165: p_init_msg_list => fnd_api.g_false,
6166: p_qte_header_id => lx_qte_line_rec.quote_header_id,
6167: p_qte_line_id => lx_qte_line_rec.quote_line_id,
6168: p_organization_id => lx_qte_line_rec.organization_id,
6169: p_ship_method_code => fnd_api.g_miss_char,
6165: p_init_msg_list => fnd_api.g_false,
6166: p_qte_header_id => lx_qte_line_rec.quote_header_id,
6167: p_qte_line_id => lx_qte_line_rec.quote_line_id,
6168: p_organization_id => lx_qte_line_rec.organization_id,
6169: p_ship_method_code => fnd_api.g_miss_char,
6170: p_operation_code => 'UPDATE',
6171: x_return_status => x_return_status,
6172: x_msg_count => x_msg_count,
6173: x_msg_data => x_msg_data);
6175: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6176: aso_debug_pub.add('Update_Quote_line - After validate ship_method_code ', 1, 'N');
6177: end if;
6178:
6179: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6180: RAISE FND_API.G_EXC_ERROR;
6181: END IF;
6182: end if; -- end if for shipment tbl check
6183:
6176: aso_debug_pub.add('Update_Quote_line - After validate ship_method_code ', 1, 'N');
6177: end if;
6178:
6179: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6180: RAISE FND_API.G_EXC_ERROR;
6181: END IF;
6182: end if; -- end if for shipment tbl check
6183:
6184:
6186:
6187: FOR i in 1..l_qte_line_dtl_tbl.count LOOP
6188:
6189: -- bug 4258846
6190: IF l_Qte_Line_Rec.start_date_active = FND_API.G_MISS_DATE THEN
6191: l_Qte_Line_Rec.start_date_active := l_db_qte_line_rec.start_date_active;
6192: END IF;
6193: IF l_Qte_Line_Rec.end_date_active = FND_API.G_MISS_DATE THEN
6194: l_Qte_Line_Rec.end_date_active := l_db_qte_line_rec.end_date_active;
6189: -- bug 4258846
6190: IF l_Qte_Line_Rec.start_date_active = FND_API.G_MISS_DATE THEN
6191: l_Qte_Line_Rec.start_date_active := l_db_qte_line_rec.start_date_active;
6192: END IF;
6193: IF l_Qte_Line_Rec.end_date_active = FND_API.G_MISS_DATE THEN
6194: l_Qte_Line_Rec.end_date_active := l_db_qte_line_rec.end_date_active;
6195: END IF;
6196: IF l_Qte_Line_Rec.organization_id = FND_API.G_MISS_NUM THEN
6197: l_Qte_Line_Rec.organization_id := l_db_qte_line_rec.organization_id;
6192: END IF;
6193: IF l_Qte_Line_Rec.end_date_active = FND_API.G_MISS_DATE THEN
6194: l_Qte_Line_Rec.end_date_active := l_db_qte_line_rec.end_date_active;
6195: END IF;
6196: IF l_Qte_Line_Rec.organization_id = FND_API.G_MISS_NUM THEN
6197: l_Qte_Line_Rec.organization_id := l_db_qte_line_rec.organization_id;
6198: END IF;
6199:
6200: IF l_db_qte_line_dtl_tbl.COUNT > 0 THEN
6198: END IF;
6199:
6200: IF l_db_qte_line_dtl_tbl.COUNT > 0 THEN
6201:
6202: IF l_qte_line_dtl_tbl(i).service_duration = FND_API.G_MISS_NUM THEN
6203: l_qte_line_dtl_tbl(i).service_duration := l_db_qte_line_dtl_tbl(i).service_duration;
6204: END IF;
6205:
6206: IF l_qte_line_dtl_tbl(i).service_period = FND_API.G_MISS_CHAR THEN
6202: IF l_qte_line_dtl_tbl(i).service_duration = FND_API.G_MISS_NUM THEN
6203: l_qte_line_dtl_tbl(i).service_duration := l_db_qte_line_dtl_tbl(i).service_duration;
6204: END IF;
6205:
6206: IF l_qte_line_dtl_tbl(i).service_period = FND_API.G_MISS_CHAR THEN
6207: l_qte_line_dtl_tbl(i).service_period := l_db_qte_line_dtl_tbl(i).service_period;
6208: END IF;
6209:
6210: IF l_qte_line_dtl_tbl(i).service_coterminate_flag = FND_API.G_MISS_CHAR THEN
6206: IF l_qte_line_dtl_tbl(i).service_period = FND_API.G_MISS_CHAR THEN
6207: l_qte_line_dtl_tbl(i).service_period := l_db_qte_line_dtl_tbl(i).service_period;
6208: END IF;
6209:
6210: IF l_qte_line_dtl_tbl(i).service_coterminate_flag = FND_API.G_MISS_CHAR THEN
6211: l_qte_line_dtl_tbl(i).service_coterminate_flag := l_db_qte_line_dtl_tbl(i).service_coterminate_flag;
6212: END IF;
6213:
6214: END IF;
6213:
6214: END IF;
6215:
6216: ASO_VALIDATE_PVT.Validate_Service(
6217: p_init_msg_list => FND_API.G_FALSE,
6218: p_inventory_item_id => l_Qte_Line_Rec.inventory_item_id,
6219: p_start_date_active => l_Qte_Line_Rec.start_date_active,
6220: p_end_date_active => l_Qte_Line_Rec.end_date_active,
6221: p_service_duration => l_qte_line_dtl_tbl(i).service_duration,
6229: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6230: aso_debug_pub.add('Update_Quote_line: After Validate_Service: x_return_status: '|| x_return_status);
6231: end if;
6232:
6233: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6234:
6235: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6236: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_INFORMATION');
6237: FND_MESSAGE.Set_Token('INFO','SERVICE', FALSE);
6237: FND_MESSAGE.Set_Token('INFO','SERVICE', FALSE);
6238: FND_MSG_PUB.ADD;
6239: END IF;
6240:
6241: RAISE FND_API.G_EXC_ERROR;
6242:
6243: END IF;
6244:
6245: --validate service period
6244:
6245: --validate service period
6246:
6247: ASO_VALIDATE_PVT.Validate_UOM_code(
6248: p_init_msg_list => FND_API.G_FALSE,
6249: p_uom_code => l_qte_line_dtl_tbl(i).service_period,
6250: p_organization_id => l_Qte_Line_Rec.organization_id,
6251: p_inventory_item_id => l_Qte_Line_Rec.inventory_item_id,
6252: x_return_status => x_return_status,
6256: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6257: aso_debug_pub.add('Update_Quote_line: After validate service period: x_return_status: '|| x_return_status);
6258: end if;
6259:
6260: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6261: RAISE FND_API.G_EXC_ERROR;
6262: END IF;
6263:
6264: --Service cannot be added to a product that is being returned
6257: aso_debug_pub.add('Update_Quote_line: After validate service period: x_return_status: '|| x_return_status);
6258: end if;
6259:
6260: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6261: RAISE FND_API.G_EXC_ERROR;
6262: END IF;
6263:
6264: --Service cannot be added to a product that is being returned
6265:
6264: --Service cannot be added to a product that is being returned
6265:
6266: IF l_qte_line_dtl_tbl(i).service_ref_type_code = 'QUOTE'
6267: AND l_qte_line_dtl_tbl(i).service_ref_line_id IS NOT NULL
6268: AND l_qte_line_dtl_tbl(i).service_ref_line_id <> FND_API.G_MISS_NUM THEN
6269:
6270: OPEN C_line_category_code(l_qte_line_dtl_tbl(i).service_ref_line_id);
6271: FETCH C_line_category_code INTO l_line_category_code;
6272:
6278: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_SERVICE_REFERENCE');
6279: FND_MSG_PUB.ADD;
6280: END IF;
6281:
6282: RAISE FND_API.G_EXC_ERROR;
6283:
6284: END IF;
6285:
6286: CLOSE C_line_category_code;
6293: aso_debug_pub.add('l_qte_line_dtl_tbl('||i||').service_ref_line_id: ' || l_qte_line_dtl_tbl(i).service_ref_line_id);
6294: end if;
6295:
6296: if l_qte_line_dtl_tbl(i).service_ref_line_id is not null and
6297: l_qte_line_dtl_tbl(i).service_ref_line_id <> fnd_api.g_miss_num then
6298:
6299: if aso_debug_pub.g_debug_flag = 'Y' then
6300: aso_debug_pub.add('l_qte_line_dtl_tbl('||i||').service_ref_type_code: ' || l_qte_line_dtl_tbl(i).service_ref_type_code);
6301: end if;
6300: aso_debug_pub.add('l_qte_line_dtl_tbl('||i||').service_ref_type_code: ' || l_qte_line_dtl_tbl(i).service_ref_type_code);
6301: end if;
6302:
6303: if l_qte_line_dtl_tbl(i).service_ref_type_code is null or
6304: l_qte_line_dtl_tbl(i).service_ref_type_code = fnd_api.g_miss_char then
6305:
6306: open c_service_ref_type_code( l_qte_line_dtl_tbl(i).quote_line_detail_id );
6307: fetch c_service_ref_type_code into l_service_ref_type_code;
6308: close c_service_ref_type_code;
6312: end if;
6313:
6314: if l_service_ref_type_code is null then
6315:
6316: x_return_status := fnd_api.g_ret_sts_error;
6317:
6318: IF fnd_msg_pub.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
6319: FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_ID');
6320: FND_MESSAGE.Set_Token('COLUMN', 'SERVICE_REF_TYPE_CODE', FALSE);
6321: FND_MESSAGE.Set_Token('VALUE', l_qte_line_dtl_tbl(i).service_ref_type_code,FALSE);
6322: FND_MSG_PUB.ADD;
6323: END IF;
6324:
6325: raise fnd_api.g_exc_error;
6326:
6327: end if;
6328:
6329: else
6338: aso_debug_pub.add('UPDATE_QUOTE_LINE: Before calling aso_validate_pvt.validate_service_ref_line_id');
6339: end if;
6340:
6341: aso_validate_pvt.validate_service_ref_line_id (
6342: p_init_msg_list => fnd_api.g_false,
6343: p_service_ref_type_code => l_service_ref_type_code,
6344: p_service_ref_line_id => l_qte_line_dtl_tbl(i).service_ref_line_id,
6345: p_qte_header_id => l_Qte_Line_Rec.quote_header_id,
6346: x_return_status => x_return_status,
6351: aso_debug_pub.add('UPDATE_QUOTE_LINE: After calling aso_validate_pvt.validate_service_ref_line_id');
6352: aso_debug_pub.add('UPDATE_QUOTE_LINE: x_return_status: '|| x_return_status);
6353: end if;
6354:
6355: if x_return_status <> fnd_api.g_ret_sts_success then
6356: raise fnd_api.g_exc_error;
6357: end if;
6358:
6359: end if;
6352: aso_debug_pub.add('UPDATE_QUOTE_LINE: x_return_status: '|| x_return_status);
6353: end if;
6354:
6355: if x_return_status <> fnd_api.g_ret_sts_success then
6356: raise fnd_api.g_exc_error;
6357: end if;
6358:
6359: end if;
6360:
6377: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_LINE_CATEGORY');
6378: FND_MSG_PUB.ADD;
6379: END IF;
6380:
6381: RAISE FND_API.G_EXC_ERROR;
6382:
6383: END IF;
6384:
6385: CLOSE c_service_exist;
6392: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: UPDATE_QUOTE_LINE: End of Inter entity validations');
6393: end if;
6394:
6395:
6396: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6397: RAISE FND_API.G_EXC_ERROR;
6398: END IF;
6399:
6400: -- order_type must exist and be active in OE_ORDER_TYPES
6393: end if;
6394:
6395:
6396: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6397: RAISE FND_API.G_EXC_ERROR;
6398: END IF;
6399:
6400: -- order_type must exist and be active in OE_ORDER_TYPES
6401: l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row(l_Qte_Line_Rec.QUOTE_HEADER_ID);
6406: end if;
6407:
6408: ASO_CHECK_TCA_PVT.check_line_account_info(
6409: p_api_version => 1.0,
6410: p_init_msg_list => FND_API.G_FALSE,
6411: p_cust_account_id => l_qte_header_rec.cust_account_id,
6412: p_qte_line_rec => l_Qte_Line_Rec,
6413: p_line_shipment_tbl => l_shipment_tbl,
6414: p_application_type_code => l_control_rec.application_type_code,
6415: x_return_status => l_return_status,
6416: x_msg_count => l_msg_count,
6417: x_msg_data => l_msg_data );
6418:
6419: IF l_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
6420: raise FND_API.G_EXC_ERROR;
6421: END IF;
6422:
6423: ASO_TRADEIN_PVT.LineType( p_init_msg_list => FND_API.G_FALSE,
6416: x_msg_count => l_msg_count,
6417: x_msg_data => l_msg_data );
6418:
6419: IF l_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
6420: raise FND_API.G_EXC_ERROR;
6421: END IF;
6422:
6423: ASO_TRADEIN_PVT.LineType( p_init_msg_list => FND_API.G_FALSE,
6424: p_qte_header_rec => l_qte_header_rec,
6419: IF l_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
6420: raise FND_API.G_EXC_ERROR;
6421: END IF;
6422:
6423: ASO_TRADEIN_PVT.LineType( p_init_msg_list => FND_API.G_FALSE,
6424: p_qte_header_rec => l_qte_header_rec,
6425: p_qte_line_rec => l_Qte_Line_Rec,
6426: x_return_status => x_return_status,
6427: x_msg_count => x_msg_count,
6426: x_return_status => x_return_status,
6427: x_msg_count => x_msg_count,
6428: x_msg_data => x_msg_data);
6429:
6430: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6431: RAISE FND_API.G_EXC_ERROR;
6432: END IF;
6433:
6434: if aso_debug_pub.g_debug_flag = 'Y' THEN
6427: x_msg_count => x_msg_count,
6428: x_msg_data => x_msg_data);
6429:
6430: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6431: RAISE FND_API.G_EXC_ERROR;
6432: END IF;
6433:
6434: if aso_debug_pub.g_debug_flag = 'Y' THEN
6435: aso_debug_pub.add('after order type'|| x_return_status, 1, 'Y');
6434: if aso_debug_pub.g_debug_flag = 'Y' THEN
6435: aso_debug_pub.add('after order type'|| x_return_status, 1, 'Y');
6436: end if;
6437:
6438: If (p_qte_header_rec.order_type_id = FND_API.G_MISS_NUM) then -- [This is for backward compatibility]
6439: l_db_order_type_id := l_qte_header_rec.order_type_id;
6440: else
6441: l_db_order_type_id := p_qte_header_rec.order_type_id;
6442: end if;
6440: else
6441: l_db_order_type_id := p_qte_header_rec.order_type_id;
6442: end if;
6443:
6444: If (l_db_order_type_id = l_qte_header_rec.order_type_id) and (l_Qte_Line_Rec.order_line_type_id <> FND_API.G_MISS_NUM) Then
6445:
6446: ASO_validate_PVT.Validate_ln_type_for_ord_type(
6447: p_init_msg_list => FND_API.G_FALSE,
6448: p_qte_header_rec => l_qte_header_rec,
6443:
6444: If (l_db_order_type_id = l_qte_header_rec.order_type_id) and (l_Qte_Line_Rec.order_line_type_id <> FND_API.G_MISS_NUM) Then
6445:
6446: ASO_validate_PVT.Validate_ln_type_for_ord_type(
6447: p_init_msg_list => FND_API.G_FALSE,
6448: p_qte_header_rec => l_qte_header_rec,
6449: P_Qte_Line_rec => l_Qte_Line_Rec,
6450: x_return_status => x_return_status,
6451: x_msg_count => x_msg_count,
6450: x_return_status => x_return_status,
6451: x_msg_count => x_msg_count,
6452: x_msg_data => x_msg_data);
6453:
6454: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6455: RAISE FND_API.G_EXC_ERROR;
6456: END IF;
6457:
6458: End if;
6451: x_msg_count => x_msg_count,
6452: x_msg_data => x_msg_data);
6453:
6454: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6455: RAISE FND_API.G_EXC_ERROR;
6456: END IF;
6457:
6458: End if;
6459:
6462: aso_debug_pub.add('x_return_status for Validate_ln_type_for_ord_type'|| x_return_status, 1, 'Y');
6463: END IF;
6464:
6465:
6466: ASO_TRADEIN_PVT.Validate_Line_Tradein( p_init_msg_list => FND_API.G_FALSE,
6467: p_qte_header_rec => l_qte_header_rec,
6468: P_Qte_Line_rec => l_Qte_Line_Rec,
6469: x_return_status => x_return_status,
6470: x_msg_count => x_msg_count,
6469: x_return_status => x_return_status,
6470: x_msg_count => x_msg_count,
6471: x_msg_data => x_msg_data);
6472:
6473: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6474: RAISE FND_API.G_EXC_ERROR;
6475: END IF;
6476:
6477: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6470: x_msg_count => x_msg_count,
6471: x_msg_data => x_msg_data);
6472:
6473: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6474: RAISE FND_API.G_EXC_ERROR;
6475: END IF;
6476:
6477: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6478: aso_debug_pub.add('Update_Quote_Line - after Validate_Line_Tradein:x_return_status: '||x_return_status, 1, 'N');
6477: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6478: aso_debug_pub.add('Update_Quote_Line - after Validate_Line_Tradein:x_return_status: '||x_return_status, 1, 'N');
6479: end if;
6480:
6481: ASO_TRADEIN_PVT.Validate_IB_Return_Qty( p_init_msg_list => FND_API.G_FALSE,
6482: p_Qte_Line_rec => l_Qte_Line_Rec,
6483: p_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl,
6484: x_return_status => x_return_status,
6485: x_msg_count => x_msg_count,
6484: x_return_status => x_return_status,
6485: x_msg_count => x_msg_count,
6486: x_msg_data => x_msg_data);
6487:
6488: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6489: RAISE FND_API.G_EXC_ERROR;
6490: END IF;
6491:
6492: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6485: x_msg_count => x_msg_count,
6486: x_msg_data => x_msg_data);
6487:
6488: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6489: RAISE FND_API.G_EXC_ERROR;
6490: END IF;
6491:
6492: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6493: aso_debug_pub.add('Update_Quote_Line - after Validate_IB_Return_Qty:x_return_status: '||x_return_status, 1, 'N');
6495:
6496: IF ( P_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
6497:
6498: ASO_VALIDATE_PVT.Validate_Sales_Credit_Return(
6499: p_init_msg_list => FND_API.G_FALSE,
6500: p_sales_credit_tbl => p_sales_credit_tbl,
6501: p_qte_line_rec => l_Qte_Line_Rec,
6502: x_return_status => x_return_status,
6503: x_msg_count => x_msg_count,
6502: x_return_status => x_return_status,
6503: x_msg_count => x_msg_count,
6504: x_msg_data => x_msg_data);
6505:
6506: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6507: RAISE FND_API.G_EXC_ERROR;
6508: END IF;
6509:
6510: END IF;
6503: x_msg_count => x_msg_count,
6504: x_msg_data => x_msg_data);
6505:
6506: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6507: RAISE FND_API.G_EXC_ERROR;
6508: END IF;
6509:
6510: END IF;
6511:
6512: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6513: aso_debug_pub.add('Update_Quote_Line - before Validate_Agreement:l_Qte_Line_Rec.Agreement_Id: '||l_Qte_Line_Rec.Agreement_Id, 1, 'N');
6514: end if;
6515:
6516: IF (l_Qte_Line_Rec.Agreement_Id IS NOT NULL AND l_Qte_Line_Rec.Agreement_Id <> FND_API.G_MISS_NUM) THEN
6517:
6518: ASO_VALIDATE_PVT.Validate_Agreement(
6519: p_init_msg_list => FND_API.G_FALSE,
6520: P_Agreement_Id => l_Qte_Line_Rec.Agreement_Id,
6515:
6516: IF (l_Qte_Line_Rec.Agreement_Id IS NOT NULL AND l_Qte_Line_Rec.Agreement_Id <> FND_API.G_MISS_NUM) THEN
6517:
6518: ASO_VALIDATE_PVT.Validate_Agreement(
6519: p_init_msg_list => FND_API.G_FALSE,
6520: P_Agreement_Id => l_Qte_Line_Rec.Agreement_Id,
6521: x_return_status => x_return_status,
6522: x_msg_count => x_msg_count,
6523: x_msg_data => x_msg_data);
6525: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6526: aso_debug_pub.add('Update_Quote_Line - after Validate_Agreement:x_return_status: '||x_return_status, 1, 'N');
6527: end if;
6528:
6529: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6530: RAISE FND_API.G_EXC_ERROR;
6531: END IF;
6532:
6533: END IF;
6526: aso_debug_pub.add('Update_Quote_Line - after Validate_Agreement:x_return_status: '||x_return_status, 1, 'N');
6527: end if;
6528:
6529: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
6530: RAISE FND_API.G_EXC_ERROR;
6531: END IF;
6532:
6533: END IF;
6534:
6536: IF l_payment_tbl.count = 0 then
6537: l_payment_tbl := aso_utility_pvt.Query_Payment_Rows( l_qte_line_rec.QUOTE_HEADER_ID,l_qte_line_rec.quote_line_id);
6538: Else
6539: -- check to see if the value has been changed, if not get orig value from db
6540: if l_payment_tbl(1).payment_type_code = fnd_api.g_miss_char then
6541: open get_payment_type_code(l_payment_tbl(1).payment_id);
6542: fetch get_payment_type_code into l_payment_tbl(1).payment_type_code;
6543: close get_payment_type_code;
6544: end if;
6544: end if;
6545: End if;
6546:
6547: -- bill to customer may not have been changed, if so get orig value from db
6548: if l_qte_line_rec.invoice_to_cust_party_id = fnd_api.g_miss_num then
6549: open get_bill_to_party(l_qte_line_rec.quote_line_id);
6550: fetch get_bill_to_party into l_qte_line_rec.invoice_to_cust_party_id;
6551: close get_bill_to_party;
6552: end if;
6560: l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row (l_qte_line_rec.Quote_Header_Id );
6561:
6562: aso_validate_pvt.Validate_cc_info
6563: (
6564: p_init_msg_list => fnd_api.g_false,
6565: p_payment_rec => l_payment_rec,
6566: p_qte_header_rec => l_qte_header_rec,
6567: P_Qte_Line_rec => l_qte_line_rec,
6568: x_return_status => x_return_status,
6573: aso_debug_pub.add('after calling Validate_cc_info ', 1, 'Y');
6574: aso_debug_pub.add('Validate_cc_info Return Status: '||x_return_status, 1, 'Y');
6575: END IF;
6576:
6577: if x_return_status <> fnd_api.g_ret_sts_success then
6578: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6574: aso_debug_pub.add('Validate_cc_info Return Status: '||x_return_status, 1, 'Y');
6575: END IF;
6576:
6577: if x_return_status <> fnd_api.g_ret_sts_success then
6578: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6582: ELSE
6575: END IF;
6576:
6577: if x_return_status <> fnd_api.g_ret_sts_success then
6578: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6582: ELSE
6583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6576:
6577: if x_return_status <> fnd_api.g_ret_sts_success then
6578: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6582: ELSE
6583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6584: END IF;
6577: if x_return_status <> fnd_api.g_ret_sts_success then
6578: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6582: ELSE
6583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6584: END IF;
6585: end if;
6579: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6580: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
6581: RAISE FND_API.G_EXC_ERROR;
6582: ELSE
6583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6584: END IF;
6585: end if;
6586: --END IF;
6587:
6693: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6694: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.line_category_code: '||l_Qte_Line_Rec.line_category_code, 1, 'Y');
6695: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.order_line_type_id: '||l_Qte_Line_Rec.order_line_type_id, 1, 'Y');
6696: end if;
6697: IF (l_Qte_Line_Rec.line_category_code <> FND_API.G_MISS_CHAR) OR
6698: (l_Qte_Line_Rec.order_line_type_id <> FND_API.G_MISS_NUM) THEN
6699: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6700: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.item_type_code: '||l_Qte_Line_Rec.item_type_code, 1, 'Y');
6701: end if;
6694: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.line_category_code: '||l_Qte_Line_Rec.line_category_code, 1, 'Y');
6695: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.order_line_type_id: '||l_Qte_Line_Rec.order_line_type_id, 1, 'Y');
6696: end if;
6697: IF (l_Qte_Line_Rec.line_category_code <> FND_API.G_MISS_CHAR) OR
6698: (l_Qte_Line_Rec.order_line_type_id <> FND_API.G_MISS_NUM) THEN
6699: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6700: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.item_type_code: '||l_Qte_Line_Rec.item_type_code, 1, 'Y');
6701: end if;
6702: IF l_Qte_Line_Rec.item_type_code = FND_API.G_MISS_CHAR THEN
6698: (l_Qte_Line_Rec.order_line_type_id <> FND_API.G_MISS_NUM) THEN
6699: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6700: aso_debug_pub.add('Update_Quote_lines - l_Qte_Line_Rec.item_type_code: '||l_Qte_Line_Rec.item_type_code, 1, 'Y');
6701: end if;
6702: IF l_Qte_Line_Rec.item_type_code = FND_API.G_MISS_CHAR THEN
6703: OPEN c_item_type_code;
6704: FETCH c_item_type_code INTO l_item_type_code;
6705: IF aso_debug_pub.g_debug_flag = 'Y' THEN
6706: aso_debug_pub.add('Update_Quote_lines - Cursor c_item_type_code: l_item_type_code: '||l_item_type_code, 1, 'Y');
6754:
6755: EXCEPTION
6756:
6757: WHEN OTHERS THEN
6758: x_return_status := FND_API.G_RET_STS_ERROR;
6759:
6760: if aso_debug_pub.g_debug_flag = 'Y' then
6761: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_quote_line: line_category_code
6762: update, inside WHEN OTHERS EXCEPTION');
6888: l_line_rtlship_rec.operation_code := 'CREATE';
6889: l_line_rtlship_rec.quote_line_id := l_qte_line_dtl_rec.SERVICE_REF_LINE_ID;
6890: l_line_rtlship_rec.related_quote_line_id := x_qte_line_rec.quote_line_id;
6891: l_line_rtlship_rec.relationship_type_code := 'SERVICE';
6892: l_line_rtlship_rec.reciprocal_flag := FND_API.G_FALSE;
6893:
6894: ASO_LINE_RLTSHIP_PVT.Create_line_rltship(
6895: P_Api_Version_Number => 1.0,
6896: P_LINE_RLTSHIP_Rec => l_line_rtlship_rec,
7009: l_line_rtlship_rec.operation_code := 'CREATE';
7010: l_line_rtlship_rec.quote_line_id := l_db_qte_line_dtl_tbl(1).SERVICE_REF_LINE_ID;
7011: l_line_rtlship_rec.related_quote_line_id := x_qte_line_rec.quote_line_id;
7012: l_line_rtlship_rec.relationship_type_code := 'SERVICE';
7013: l_line_rtlship_rec.reciprocal_flag := FND_API.G_FALSE;
7014: ASO_LINE_RLTSHIP_PVT.Create_line_rltship(
7015: P_Api_Version_Number => 1.0,
7016: P_LINE_RLTSHIP_Rec => l_line_rtlship_rec,
7017: X_LINE_RELATIONSHIP_ID => x_relationship_id,
7033: aso_debug_pub.add('Update_Quote_line - after line_details.update ', 1, 'Y');
7034: end if;
7035:
7036: -- Service line quantity update Bmishra 01/09/02
7037: l_call_update := FND_API.G_FALSE;
7038: IF l_Qte_Line_Rec.inventory_item_id = FND_API.G_MISS_NUM THEN
7039: OPEN c_inventory_item_id;
7040: FETCH c_inventory_item_id INTO l_Qte_Line_Rec.inventory_item_id;
7041: CLOSE c_inventory_item_id;
7034: end if;
7035:
7036: -- Service line quantity update Bmishra 01/09/02
7037: l_call_update := FND_API.G_FALSE;
7038: IF l_Qte_Line_Rec.inventory_item_id = FND_API.G_MISS_NUM THEN
7039: OPEN c_inventory_item_id;
7040: FETCH c_inventory_item_id INTO l_Qte_Line_Rec.inventory_item_id;
7041: CLOSE c_inventory_item_id;
7042: END IF;
7051: IF l_service_item_flag = 'Y' THEN
7052: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7053: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_service_item_flag = Y',1,'N');
7054: end if;
7055: l_service := FND_API.G_TRUE;
7056: l_call_update := FND_API.G_TRUE;
7057: ELSIF l_serviceable_product_flag = 'Y' THEN
7058: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7059: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_serviceable_product_flag = Y',
7052: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7053: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_service_item_flag = Y',1,'N');
7054: end if;
7055: l_service := FND_API.G_TRUE;
7056: l_call_update := FND_API.G_TRUE;
7057: ELSIF l_serviceable_product_flag = 'Y' THEN
7058: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7059: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_serviceable_product_flag = Y',
7060: 1,'N');
7058: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7059: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_serviceable_product_flag = Y',
7060: 1,'N');
7061: end if;
7062: l_service := FND_API.G_FALSE;
7063: l_call_update := FND_API.G_TRUE;
7064: END IF;
7065:
7066: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7059: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: Inside IF l_serviceable_product_flag = Y',
7060: 1,'N');
7061: end if;
7062: l_service := FND_API.G_FALSE;
7063: l_call_update := FND_API.G_TRUE;
7064: END IF;
7065:
7066: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7067: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: l_call_update'||l_call_update,1,'N');
7065:
7066: IF aso_debug_pub.g_debug_flag = 'Y' THEN
7067: aso_debug_pub.add('ASO_QUOTE_LINES_PVT: Update_Quote_lines: l_call_update'||l_call_update,1,'N');
7068: end if;
7069: IF l_call_update = FND_API.G_TRUE THEN
7070: ASO_QUOTE_LINES_PVT.service_item_qty_update
7071: (p_qte_line_rec => l_Qte_Line_Rec ,
7072: p_service_item_flag => l_service,
7073: x_return_status => X_return_status
7201: end if;
7202:
7203: IF ( P_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
7204: IF x_sales_credit_tbl.count > 0 THEN
7205: IF x_sales_credit_tbl(1).quote_header_id IS NULL OR x_sales_credit_tbl(1).quote_header_id = FND_API.G_MISS_NUM THEN
7206: x_sales_credit_tbl(1).quote_header_id := l_qte_line_rec.quote_header_id;
7207: END IF;
7208: IF x_sales_credit_tbl(1).quote_line_id IS NULL OR x_sales_credit_tbl(1).quote_line_id = FND_API.G_MISS_NUM THEN
7209: x_sales_credit_tbl(1).quote_line_id := l_qte_line_rec.quote_line_id;
7204: IF x_sales_credit_tbl.count > 0 THEN
7205: IF x_sales_credit_tbl(1).quote_header_id IS NULL OR x_sales_credit_tbl(1).quote_header_id = FND_API.G_MISS_NUM THEN
7206: x_sales_credit_tbl(1).quote_header_id := l_qte_line_rec.quote_header_id;
7207: END IF;
7208: IF x_sales_credit_tbl(1).quote_line_id IS NULL OR x_sales_credit_tbl(1).quote_line_id = FND_API.G_MISS_NUM THEN
7209: x_sales_credit_tbl(1).quote_line_id := l_qte_line_rec.quote_line_id;
7210: END IF;
7211:
7212: ASO_VALIDATE_PVT.Validate_Quote_Percent(
7209: x_sales_credit_tbl(1).quote_line_id := l_qte_line_rec.quote_line_id;
7210: END IF;
7211:
7212: ASO_VALIDATE_PVT.Validate_Quote_Percent(
7213: p_init_msg_list => FND_API.G_FALSE,
7214: p_sales_credit_tbl => x_sales_credit_tbl,
7215: x_return_status => x_return_status,
7216: x_msg_count => x_msg_count,
7217: x_msg_data => x_msg_data
7215: x_return_status => x_return_status,
7216: x_msg_count => x_msg_count,
7217: x_msg_data => x_msg_data
7218: );
7219: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7220: RAISE FND_API.G_EXC_ERROR;
7221: END IF;
7222: END IF;
7223: END IF;
7216: x_msg_count => x_msg_count,
7217: x_msg_data => x_msg_data
7218: );
7219: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7220: RAISE FND_API.G_EXC_ERROR;
7221: END IF;
7222: END IF;
7223: END IF;
7224:
7230: END IF;
7231:
7232: ASO_VALIDATE_PVT.Validate_Promotion (
7233: P_Api_Version_Number => 1.0,
7234: P_Init_Msg_List => FND_API.G_FALSE,
7235: P_Commit => FND_API.G_FALSE,
7236: p_price_attr_tbl => p_price_attributes_tbl,
7237: x_price_attr_tbl => lx_price_attr_tbl,
7238: x_return_status => x_return_status,
7231:
7232: ASO_VALIDATE_PVT.Validate_Promotion (
7233: P_Api_Version_Number => 1.0,
7234: P_Init_Msg_List => FND_API.G_FALSE,
7235: P_Commit => FND_API.G_FALSE,
7236: p_price_attr_tbl => p_price_attributes_tbl,
7237: x_price_attr_tbl => lx_price_attr_tbl,
7238: x_return_status => x_return_status,
7239: x_msg_count => x_msg_count,
7243: aso_debug_pub.add('after calling Validate_Promotion ', 1, 'Y');
7244: aso_debug_pub.add('Validate_Promotion Return Status: '||x_return_status, 1, 'Y');
7245: END IF;
7246:
7247: if x_return_status <> fnd_api.g_ret_sts_success then
7248: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7244: aso_debug_pub.add('Validate_Promotion Return Status: '||x_return_status, 1, 'Y');
7245: END IF;
7246:
7247: if x_return_status <> fnd_api.g_ret_sts_success then
7248: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7252: ELSE
7245: END IF;
7246:
7247: if x_return_status <> fnd_api.g_ret_sts_success then
7248: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7252: ELSE
7253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7246:
7247: if x_return_status <> fnd_api.g_ret_sts_success then
7248: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7252: ELSE
7253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7254: END IF;
7247: if x_return_status <> fnd_api.g_ret_sts_success then
7248: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7252: ELSE
7253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7254: END IF;
7255: end if;
7249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7250: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7251: RAISE FND_API.G_EXC_ERROR;
7252: ELSE
7253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7254: END IF;
7255: end if;
7256:
7257:
7691: END LOOP;
7692:
7693: ELSIF l_shipment_rec.operation_code = 'UPDATE' THEN
7694:
7695: IF l_shipment_rec.ship_method_code = fnd_api.g_miss_char THEN
7696:
7697: FOR l_ship_db_rec IN c_db_ship_freight_terms(l_shipment_rec.shipment_id) LOOP
7698:
7699: IF l_ship_db_rec.ship_method_code_from is null THEN
7706: l_shipment_rec.ship_method_code_from := l_shipment_rec.ship_method_code;
7707:
7708: END IF;
7709:
7710: IF l_shipment_rec.freight_terms_code = fnd_api.g_miss_char THEN
7711:
7712: FOR l_ship_db_rec IN c_db_ship_freight_terms(l_shipment_rec.shipment_id) LOOP
7713:
7714: IF l_ship_db_rec.freight_terms_code_from is null THEN
7792: FETCH C_ship_partial into l_ship_count;
7793: CLOSE C_ship_partial;
7794:
7795: IF l_ship_count = 1 THEN
7796: x_return_status := FND_API.G_RET_STS_ERROR;
7797: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
7798: FND_MESSAGE.Set_Name('ASO', 'DELETE_SHIPMENT');
7799: FND_MESSAGE.Set_Token('COLUMN', 'SHIPMENT_ID', FALSE);
7800: FND_MSG_PUB.ADD;
8451: IF l_Price_Attributes_Tbl.count > 0 THEN
8452:
8453: aso_pricing_int.Delete_Promotion (
8454: P_Api_Version_Number => 1.0,
8455: P_Init_Msg_List => FND_API.G_FALSE,
8456: P_Commit => FND_API.G_FALSE,
8457: p_price_attr_tbl => l_Price_Attributes_Tbl,
8458: x_return_status => x_return_status,
8459: x_msg_count => x_msg_count,
8452:
8453: aso_pricing_int.Delete_Promotion (
8454: P_Api_Version_Number => 1.0,
8455: P_Init_Msg_List => FND_API.G_FALSE,
8456: P_Commit => FND_API.G_FALSE,
8457: p_price_attr_tbl => l_Price_Attributes_Tbl,
8458: x_return_status => x_return_status,
8459: x_msg_count => x_msg_count,
8460: x_msg_data => x_msg_data
8503: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8504: aso_debug_pub.add('Update_Quote_Line_Rows: After call to create_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8505: END IF;
8506:
8507: if x_return_status <> fnd_api.g_ret_sts_success then
8508: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8504: aso_debug_pub.add('Update_Quote_Line_Rows: After call to create_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8505: END IF;
8506:
8507: if x_return_status <> fnd_api.g_ret_sts_success then
8508: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8512: ELSE
8505: END IF;
8506:
8507: if x_return_status <> fnd_api.g_ret_sts_success then
8508: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8512: ELSE
8513: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8506:
8507: if x_return_status <> fnd_api.g_ret_sts_success then
8508: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8512: ELSE
8513: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8514: END IF;
8507: if x_return_status <> fnd_api.g_ret_sts_success then
8508: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8512: ELSE
8513: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8514: END IF;
8515: end if;
8509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8510: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8511: RAISE FND_API.G_EXC_ERROR;
8512: ELSE
8513: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8514: END IF;
8515: end if;
8516:
8517: -- End Suyog Payment Changes
8519: x_payment_tbl(i).PAYMENT_TERM_ID_FROM := l_payment_rec.PAYMENT_TERM_ID_FROM;
8520:
8521: ELSIF l_payment_rec.operation_code = 'UPDATE' THEN
8522:
8523: IF l_payment_rec.payment_term_id = FND_API.G_MISS_NUM THEN
8524: FOR l_payment_db_rec IN c_db_payment_terms(l_payment_rec.PAYMENT_ID) LOOP
8525: IF l_payment_db_rec.payment_term_id_from IS NULL THEN
8526: l_payment_rec.payment_term_id_from := l_payment_db_rec.payment_term_id;
8527: END IF;
8549:
8550: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8551: aso_debug_pub.add('Update_Quote_Line_Rows: After call to update_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8552: END IF;
8553: if x_return_status <> fnd_api.g_ret_sts_success then
8554: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8550: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8551: aso_debug_pub.add('Update_Quote_Line_Rows: After call to update_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8552: END IF;
8553: if x_return_status <> fnd_api.g_ret_sts_success then
8554: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: ELSE
8551: aso_debug_pub.add('Update_Quote_Line_Rows: After call to update_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8552: END IF;
8553: if x_return_status <> fnd_api.g_ret_sts_success then
8554: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: ELSE
8559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8552: END IF;
8553: if x_return_status <> fnd_api.g_ret_sts_success then
8554: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: ELSE
8559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8560: END IF;
8553: if x_return_status <> fnd_api.g_ret_sts_success then
8554: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: ELSE
8559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8560: END IF;
8561: end if;
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: ELSE
8559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8560: END IF;
8561: end if;
8562:
8563: -- End Suyog Payment Changes
8578:
8579: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8580: aso_debug_pub.add('Update_Quote_Line_Rows: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8581: END IF;
8582: if x_return_status <> fnd_api.g_ret_sts_success then
8583: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8579: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8580: aso_debug_pub.add('Update_Quote_Line_Rows: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8581: END IF;
8582: if x_return_status <> fnd_api.g_ret_sts_success then
8583: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8587: ELSE
8580: aso_debug_pub.add('Update_Quote_Line_Rows: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
8581: END IF;
8582: if x_return_status <> fnd_api.g_ret_sts_success then
8583: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8587: ELSE
8588: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8581: END IF;
8582: if x_return_status <> fnd_api.g_ret_sts_success then
8583: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8587: ELSE
8588: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8589: END IF;
8582: if x_return_status <> fnd_api.g_ret_sts_success then
8583: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8587: ELSE
8588: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8589: END IF;
8590: end if;
8584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8585: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8586: RAISE FND_API.G_EXC_ERROR;
8587: ELSE
8588: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8589: END IF;
8590: end if;
8591:
8592: -- End Suyog Payment Changes
8597:
8598: -- fix for bug 4483808 , moved validation after the row has been updated
8599: aso_validate_pvt.Validate_po_line_number
8600: (
8601: p_init_msg_list => fnd_api.g_false,
8602: p_qte_header_rec => l_qte_header_rec,
8603: P_Qte_Line_rec => l_Qte_Line_Rec,
8604: x_return_status => x_return_status,
8605: x_msg_count => x_msg_count,
8604: x_return_status => x_return_status,
8605: x_msg_count => x_msg_count,
8606: x_msg_data => x_msg_data);
8607:
8608: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
8609: RAISE FND_API.G_EXC_ERROR;
8610: END IF;
8611:
8612: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8605: x_msg_count => x_msg_count,
8606: x_msg_data => x_msg_data);
8607:
8608: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
8609: RAISE FND_API.G_EXC_ERROR;
8610: END IF;
8611:
8612: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8613: aso_debug_pub.add('x_return_status for Validate_po_line_number'|| x_return_status, 1, 'Y');
8707:
8708:
8709:
8710: IF l_control_rec.line_pricing_event IS NOT NULL AND
8711: l_control_rec.line_pricing_event <> FND_API.G_MISS_CHAR THEN
8712:
8713: l_pricing_control_rec.pricing_event := l_control_rec.line_pricing_event;
8714: l_pricing_control_rec.request_type := l_control_rec.pricing_request_type;
8715: l_pricing_control_rec.price_mode := l_control_rec.price_mode;
8728:
8729:
8730: ASO_PRICING_INT.Pricing_Order(
8731: P_Api_Version_Number => 1.0,
8732: P_Init_Msg_List => fnd_api.g_false,
8733: P_Commit => fnd_api.g_false,
8734: p_control_rec => l_pricing_control_rec,
8735: p_qte_header_rec => l_qte_header_rec,
8736: p_hd_shipment_rec => l_hd_shipment_rec,
8729:
8730: ASO_PRICING_INT.Pricing_Order(
8731: P_Api_Version_Number => 1.0,
8732: P_Init_Msg_List => fnd_api.g_false,
8733: P_Commit => fnd_api.g_false,
8734: p_control_rec => l_pricing_control_rec,
8735: p_qte_header_rec => l_qte_header_rec,
8736: p_hd_shipment_rec => l_hd_shipment_rec,
8737: p_hd_price_attr_tbl => l_hd_price_attr_tbl,
8753: if lx_qte_line_tbl.count > 0 then
8754: x_qte_line_rec := lx_qte_line_tbl(1);
8755: end if;
8756:
8757: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8758:
8759: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8760: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8761: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8755: end if;
8756:
8757: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8758:
8759: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8760: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8761: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8762: RAISE FND_API.G_EXC_ERROR;
8763: END IF;
8756:
8757: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8758:
8759: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8760: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8761: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8762: RAISE FND_API.G_EXC_ERROR;
8763: END IF;
8764:
8757: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8758:
8759: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8760: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8761: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8762: RAISE FND_API.G_EXC_ERROR;
8763: END IF;
8764:
8765: END IF;
8758:
8759: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8760: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8761: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8762: RAISE FND_API.G_EXC_ERROR;
8763: END IF;
8764:
8765: END IF;
8766:
8766:
8767:
8768: END IF; -- pricing
8769:
8770: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8772: END IF;
8773:
8774: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8767:
8768: END IF; -- pricing
8769:
8770: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8772: END IF;
8773:
8774: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8775: aso_debug_pub.add('Update_Quote_line - before calculate_tax_flag ', 1, 'N');
8779: *
8780: *
8781: IF l_control_rec.CALCULATE_TAX_FLAG = 'Y'THEN
8782: l_tax_control_rec.tax_level := 'SHIPPING';
8783: l_tax_control_rec.update_db := 'Y' ; --FND_API.G_TRUE;
8784:
8785: l_calc_tax_detail_rec.quote_header_id := l_Qte_Line_Rec.quote_header_id;
8786: l_calc_tax_detail_rec.quote_line_id := l_Qte_Line_Rec.quote_line_id;
8787:
8797: aso_debug_pub.add('Cust acct'||l_cust_acct , 1, 'Y');
8798: end if;
8799:
8800: IF (l_Qte_Line_Rec.invoice_to_party_site_id is not NULL
8801: AND l_Qte_Line_Rec.invoice_to_party_site_id <> FND_API.G_MISS_NUM) AND
8802: (l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM) THEN
8803: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8804: aso_debug_pub.add('inside if'||nvl(to_char(l_Qte_Line_Rec.invoice_to_party_site_id),'null'), 1, 'Y' );
8805: end if;
8798: end if;
8799:
8800: IF (l_Qte_Line_Rec.invoice_to_party_site_id is not NULL
8801: AND l_Qte_Line_Rec.invoice_to_party_site_id <> FND_API.G_MISS_NUM) AND
8802: (l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM) THEN
8803: IF aso_debug_pub.g_debug_flag = 'Y' THEN
8804: aso_debug_pub.add('inside if'||nvl(to_char(l_Qte_Line_Rec.invoice_to_party_site_id),'null'), 1, 'Y' );
8805: end if;
8806:
8813: ,x_msg_count => l_msg_count
8814: ,x_msg_data => l_msg_data
8815: ,x_site_use_id => l_invoice_org_id
8816: );
8817: IF L_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
8818: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
8819: THEN
8820: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
8821: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
8820: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
8821: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
8822: FND_MSG_PUB.ADD;
8823: END IF;
8824: -- raise FND_API.G_EXC_ERROR;
8825: END IF;
8826: END IF;
8827:
8828: lx_tax_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows(l_Qte_Line_Rec.quote_header_id,l_Qte_Line_Rec.quote_line_id);
8830: FOR i in 1..lx_tax_shipment_tbl.count LOOP
8831: l_calc_tax_detail_rec.quote_shipment_id := lx_tax_shipment_tbl(i).shipment_id;
8832:
8833: IF (lx_tax_shipment_tbl(i).ship_to_party_site_id is not NULL
8834: AND lx_tax_shipment_tbl(i).ship_to_party_site_id <> FND_API.G_MISS_NUM)
8835: AND (l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM)
8836: THEN
8837: ASO_PARTY_INT.GET_ACCT_SITE_USES (
8838: p_api_version => 1.0
8831: l_calc_tax_detail_rec.quote_shipment_id := lx_tax_shipment_tbl(i).shipment_id;
8832:
8833: IF (lx_tax_shipment_tbl(i).ship_to_party_site_id is not NULL
8834: AND lx_tax_shipment_tbl(i).ship_to_party_site_id <> FND_API.G_MISS_NUM)
8835: AND (l_cust_acct is NOT NULL AND l_cust_acct <> FND_API.G_MISS_NUM)
8836: THEN
8837: ASO_PARTY_INT.GET_ACCT_SITE_USES (
8838: p_api_version => 1.0
8839: ,P_Cust_Account_Id => l_cust_acct
8844: ,x_msg_data => l_msg_data
8845: ,x_site_use_id => l_ship_org_id
8846: );
8847:
8848: IF L_Return_Status <> FND_API.G_RET_STS_SUCCESS THEN
8849: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
8850: THEN
8851: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
8852: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
8851: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
8852: FND_MESSAGE.Set_Token('COLUMN', 'INVOICE_TO_SITE_USE_ID',FALSE);
8853: FND_MSG_PUB.ADD;
8854: END IF;
8855: -- raise FND_API.G_EXC_ERROR;
8856: END IF;
8857:
8858: END IF;
8859: ASO_TAX_INT.Calculate_Tax(
8869: if l_tax_detail_tbl.count > 0 then
8870: x_tax_detail_tbl(i) := l_tax_detail_tbl(1);
8871: end if;
8872:
8873: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
8874: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
8875: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
8876: FND_MSG_PUB.ADD;
8877: END IF;
8874: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
8875: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
8876: FND_MSG_PUB.ADD;
8877: END IF;
8878: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8879: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8880: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8881: RAISE FND_API.G_EXC_ERROR;
8882: END IF;
8875: FND_MESSAGE.Set_Name('ASO', 'ASO_TAX_CALCULATION');
8876: FND_MSG_PUB.ADD;
8877: END IF;
8878: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8879: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8880: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8881: RAISE FND_API.G_EXC_ERROR;
8882: END IF;
8883: END IF;
8876: FND_MSG_PUB.ADD;
8877: END IF;
8878: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8879: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8880: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8881: RAISE FND_API.G_EXC_ERROR;
8882: END IF;
8883: END IF;
8884: END LOOP;
8877: END IF;
8878: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8879: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8880: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8881: RAISE FND_API.G_EXC_ERROR;
8882: END IF;
8883: END IF;
8884: END LOOP;
8885:
8895: FOR i in 1..l_shipment_tbl.count LOOP
8896:
8897: -- shipment quantity should be changed
8898: IF l_shipment_tbl(i).quantity is not NULL AND
8899: l_shipment_tbl(i).quantity <> FND_API.G_MISS_NUM THEN
8900:
8901: SELECT reservation_id INTO l_shipment_tbl(i).reservation_id
8902: FROM ASO_SHIPMENTS
8903: WHERE shipment_id = l_shipment_tbl(i).shipment_id;
8918: last_updated_by = fnd_global.user_id,
8919: last_update_login = fnd_global.conc_login_id
8920: WHERE shipment_id = l_shipment_tbl(i).shipment_id;
8921:
8922: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
8923: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
8924: FND_MESSAGE.Set_Name('ASO', 'ASO_CREATING_RESERVATION');
8925: FND_MSG_PUB.ADD;
8926: END IF;
8923: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
8924: FND_MESSAGE.Set_Name('ASO', 'ASO_CREATING_RESERVATION');
8925: FND_MSG_PUB.ADD;
8926: END IF;
8927: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8929: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8930: RAISE FND_API.G_EXC_ERROR;
8931: END IF;
8924: FND_MESSAGE.Set_Name('ASO', 'ASO_CREATING_RESERVATION');
8925: FND_MSG_PUB.ADD;
8926: END IF;
8927: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8929: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8930: RAISE FND_API.G_EXC_ERROR;
8931: END IF;
8932: END IF;
8925: FND_MSG_PUB.ADD;
8926: END IF;
8927: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8929: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8930: RAISE FND_API.G_EXC_ERROR;
8931: END IF;
8932: END IF;
8933:
8926: END IF;
8927: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8929: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8930: RAISE FND_API.G_EXC_ERROR;
8931: END IF;
8932: END IF;
8933:
8934:
8958: X_Return_Status => l_return_status,
8959: X_Msg_Count => x_msg_count,
8960: X_Msg_Data => x_msg_data);
8961:
8962: IF l_return_status<>FND_API.G_RET_STS_SUCCESS THEN
8963: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
8964: FND_MESSAGE.Set_Name('ASO', 'ASO_UPDATE_QUOTE_TOTAL');
8965: -- FND_MESSAGE.Set_Token('LINE' , x_qte_line_rec.line_number, FALSE);
8966: FND_MSG_PUB.ADD;
8966: FND_MSG_PUB.ADD;
8967: END IF;
8968: END IF;
8969:
8970: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8972: -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH, 'Private API: '|| l_api_name || 'error in updating header');
8973: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8974: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
8967: END IF;
8968: END IF;
8969:
8970: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8972: -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH, 'Private API: '|| l_api_name || 'error in updating header');
8973: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8974: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
8975: x_return_status := FND_API.G_RET_STS_ERROR;
8969:
8970: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8972: -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH, 'Private API: '|| l_api_name || 'error in updating header');
8973: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8974: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
8975: x_return_status := FND_API.G_RET_STS_ERROR;
8976: END IF;
8977:
8970: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
8971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8972: -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH, 'Private API: '|| l_api_name || 'error in updating header');
8973: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8974: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
8975: x_return_status := FND_API.G_RET_STS_ERROR;
8976: END IF;
8977:
8978:
8971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8972: -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH, 'Private API: '|| l_api_name || 'error in updating header');
8973: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8974: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
8975: x_return_status := FND_API.G_RET_STS_ERROR;
8976: END IF;
8977:
8978:
8979: END IF;
8997:
8998: -- Change END
8999:
9000:
9001: IF FND_API.to_Boolean( p_commit )
9002: THEN
9003: COMMIT WORK;
9004: END IF;
9005:
9011: p_data => x_msg_data
9012: );
9013:
9014: EXCEPTION
9015: WHEN FND_API.G_EXC_ERROR THEN
9016: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9017: P_API_NAME => L_API_NAME
9018: ,P_PKG_NAME => G_PKG_NAME
9019: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
9023: ,X_MSG_COUNT => X_MSG_COUNT
9024: ,X_MSG_DATA => X_MSG_DATA
9025: ,X_RETURN_STATUS => X_RETURN_STATUS);
9026:
9027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9028: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9029: P_API_NAME => L_API_NAME
9030: ,P_PKG_NAME => G_PKG_NAME
9031: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
9060: -- Pre-Req :
9061: -- Parameters:
9062: -- IN
9063: -- p_api_version_number IN NUMBER Required
9064: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
9065: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
9066: -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
9067: -- P_qte_line_Rec IN qte_line_Rec_Type Required
9068: -- P_quote_header_id IN NUMBER Required
9061: -- Parameters:
9062: -- IN
9063: -- p_api_version_number IN NUMBER Required
9064: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
9065: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
9066: -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
9067: -- P_qte_line_Rec IN qte_line_Rec_Type Required
9068: -- P_quote_header_id IN NUMBER Required
9069: -- P_header_last_update_date IN DATE Required
9082: -- The Master delete procedure may not be needed depends on different business requirements.
9083:
9084: PROCEDURE Delete_Quote_Line(
9085: P_Api_Version_Number IN NUMBER,
9086: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
9087: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
9088: P_qte_line_Rec IN ASO_QUOTE_PUB.qte_line_Rec_Type,
9089: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type
9090: := ASO_QUOTE_PUB.G_MISS_Control_Rec,
9083:
9084: PROCEDURE Delete_Quote_Line(
9085: P_Api_Version_Number IN NUMBER,
9086: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
9087: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
9088: P_qte_line_Rec IN ASO_QUOTE_PUB.qte_line_Rec_Type,
9089: P_Control_REC IN ASO_QUOTE_PUB.Control_Rec_Type
9090: := ASO_QUOTE_PUB.G_MISS_Control_Rec,
9091: P_Update_Header_Flag IN VARCHAR2 := 'Y',
9213: -- Standard Start of API savepoint
9214: SAVEPOINT DELETE_quote_line_PVT;
9215:
9216: -- Standard call to check for call compatibility.
9217: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
9218: p_api_version_number,
9219: l_api_name,
9220: G_PKG_NAME)
9221: THEN
9218: p_api_version_number,
9219: l_api_name,
9220: G_PKG_NAME)
9221: THEN
9222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9223: END IF;
9224:
9225:
9226: -- Initialize message list if p_init_msg_list is set to TRUE.
9223: END IF;
9224:
9225:
9226: -- Initialize message list if p_init_msg_list is set to TRUE.
9227: IF FND_API.to_Boolean( p_init_msg_list ) THEN
9228: FND_MSG_PUB.initialize;
9229: END IF;
9230:
9231:
9229: END IF;
9230:
9231:
9232: -- Initialize API return status to SUCCESS
9233: x_return_status := FND_API.G_RET_STS_SUCCESS;
9234:
9235: --
9236: -- Api body
9237: --
9243: FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
9244: FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
9245: FND_MSG_PUB.ADD;
9246: END IF;
9247: RAISE FND_API.G_EXC_ERROR;
9248: END IF;
9249:
9250: open c_pricing_line_type_indicator;
9251: fetch c_pricing_line_type_indicator into l_pricing_line_type_indicator;
9266: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_UPDATE_TARGET');
9267: FND_MESSAGE.Set_Token ('INFO', 'quote', FALSE);
9268: FND_MSG_PUB.Add;
9269: END IF;
9270: raise FND_API.G_EXC_ERROR;
9271: END IF; -- update header flag
9272: Close C_Get_quote;
9273:
9274:
9272: Close C_Get_quote;
9273:
9274:
9275: If (l_last_update_date is NULL or
9276: l_last_update_date = FND_API.G_MISS_Date ) Then
9277: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9278: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
9279: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
9280: FND_MSG_PUB.ADD;
9278: FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
9279: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
9280: FND_MSG_PUB.ADD;
9281: END IF;
9282: raise FND_API.G_EXC_ERROR;
9283: End if;
9284:
9285:
9286: -- Check Whether record has been changed by someone else
9289: FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
9290: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
9291: FND_MSG_PUB.ADD;
9292: END IF;
9293: raise FND_API.G_EXC_ERROR;
9294: End if;
9295:
9296: Open c_qte_status (l_qte_status_id);
9297: Fetch C_qte_status into l_update_allowed, l_auto_version;
9297: Fetch C_qte_status into l_update_allowed, l_auto_version;
9298: Close c_qte_status;
9299:
9300:
9301: IF p_control_rec.auto_version_flag = FND_API.G_TRUE AND NVL(l_auto_version,'Y') = 'Y' THEN
9302:
9303: OPEN C_Qte_Version(l_quote_number);
9304: FETCH C_Qte_Version into l_quote_version;
9305: l_quote_version := nvl(l_quote_version, 0) + 1;
9319: IF l_auto_version = 'Y' THEN
9320:
9321: l_old_header_rec := aso_utility_pvt.Query_Header_Row(p_qte_line_rec.QUOTE_HEADER_ID);
9322:
9323: IF l_quote_header_id IS NULL OR l_quote_header_id = FND_API.G_MISS_NUM THEN
9324:
9325: open c_get_quote( p_qte_line_rec.quote_line_id);
9326: fetch c_get_quote into l_last_update_date, l_qte_status_id,
9327: l_quote_number, l_hd_discount_percent,
9330:
9331:
9332: END IF; -- l_quote_header is null
9333:
9334: l_copy_quote_control_rec.new_version := fnd_api.g_true;
9335: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
9336:
9337: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
9338: P_Init_Msg_List => FND_API.G_FALSE,
9334: l_copy_quote_control_rec.new_version := fnd_api.g_true;
9335: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
9336:
9337: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
9338: P_Init_Msg_List => FND_API.G_FALSE,
9339: P_Commit => FND_API.G_FALSE,
9340: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
9341: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
9342: X_Qte_Header_Id => x_quote_header_id,
9335: l_copy_quote_header_rec.quote_header_id := l_old_header_rec.quote_header_id;
9336:
9337: aso_copy_quote_pvt.copy_quote( P_Api_Version_Number => 1.0,
9338: P_Init_Msg_List => FND_API.G_FALSE,
9339: P_Commit => FND_API.G_FALSE,
9340: P_Copy_Quote_Header_Rec => l_copy_quote_header_rec,
9341: P_Copy_Quote_Control_Rec => l_copy_quote_control_rec,
9342: X_Qte_Header_Id => x_quote_header_id,
9343: X_Qte_Number => l_qte_nbr,
9506:
9507: aso_quote_lines_pvt.delete_quote_line(
9508: P_Api_Version_Number => 1.0,
9509: p_control_rec => p_control_rec,
9510: p_update_header_flag => fnd_api.g_false,
9511: P_qte_Line_Rec => l_qte_line_rec,
9512: X_Return_Status => x_return_status,
9513: X_Msg_Count => x_msg_count,
9514: X_Msg_Data => x_msg_data);
9512: X_Return_Status => x_return_status,
9513: X_Msg_Count => x_msg_count,
9514: X_Msg_Data => x_msg_data);
9515:
9516: if x_return_status <> fnd_api.g_ret_sts_success then
9517: raise fnd_api.g_exc_error;
9518: end if;
9519:
9520: end loop;
9513: X_Msg_Count => x_msg_count,
9514: X_Msg_Data => x_msg_data);
9515:
9516: if x_return_status <> fnd_api.g_ret_sts_success then
9517: raise fnd_api.g_exc_error;
9518: end if;
9519:
9520: end loop;
9521:
9564: X_Return_Status => x_return_status,
9565: X_Msg_Count => x_msg_count,
9566: X_Msg_Data => x_msg_data);
9567:
9568: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9569: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9570: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9571: FND_MESSAGE.Set_Token('OBJECT','LINE_RLTSHIP',FALSE);
9572: FND_MSG_PUB.ADD;
9570: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9571: FND_MESSAGE.Set_Token('OBJECT','LINE_RLTSHIP',FALSE);
9572: FND_MSG_PUB.ADD;
9573: END IF;
9574: RAISE FND_API.G_EXC_ERROR;
9575: END IF;
9576:
9577:
9578: -- delete price adjustment relationships
9584: X_Return_Status => x_return_status,
9585: X_Msg_Count => x_msg_count,
9586: X_Msg_Data => x_msg_data);
9587:
9588: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9589: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9590: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9591: FND_MESSAGE.Set_Token('OBJECT','PRICE_ADJ_RLTSHIP',FALSE);
9592: FND_MSG_PUB.ADD;
9590: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9591: FND_MESSAGE.Set_Token('OBJECT','PRICE_ADJ_RLTSHIP',FALSE);
9592: FND_MSG_PUB.ADD;
9593: END IF;
9594: RAISE FND_API.G_EXC_ERROR;
9595: END IF;
9596:
9597: IF aso_debug_pub.g_debug_flag = 'Y' THEN
9598: aso_debug_pub.add('before deleting the quote line price adjustments.', 1, 'Y');
9644:
9645: IF aso_debug_pub.g_debug_flag = 'Y' THEN
9646: aso_debug_pub.add('Delete_Quote_Line: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
9647: END IF;
9648: if x_return_status <> fnd_api.g_ret_sts_success then
9649: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9645: IF aso_debug_pub.g_debug_flag = 'Y' THEN
9646: aso_debug_pub.add('Delete_Quote_Line: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
9647: END IF;
9648: if x_return_status <> fnd_api.g_ret_sts_success then
9649: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9653: ELSE
9646: aso_debug_pub.add('Delete_Quote_Line: After call to delete_payment_row: x_return_status: '||x_return_status, 1, 'Y');
9647: END IF;
9648: if x_return_status <> fnd_api.g_ret_sts_success then
9649: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9653: ELSE
9654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9647: END IF;
9648: if x_return_status <> fnd_api.g_ret_sts_success then
9649: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9653: ELSE
9654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9655: END IF;
9648: if x_return_status <> fnd_api.g_ret_sts_success then
9649: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9653: ELSE
9654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9655: END IF;
9656: end if;
9650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9651: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9652: RAISE FND_API.G_EXC_ERROR;
9653: ELSE
9654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9655: END IF;
9656: end if;
9657:
9658: else
9722: IF l_config_id is not NULL THEN
9723:
9724: ASO_CFG_INT.DELETE_CONFIGURATION(
9725: P_API_VERSION_NUMBER => 1.0,
9726: P_INIT_MSG_LIST => FND_API.G_FALSE,
9727: P_CONFIG_HDR_ID => l_config_id,
9728: P_CONFIG_REV_NBR => l_rev_num,
9729: X_RETURN_STATUS => x_return_status,
9730: X_MSG_COUNT => x_msg_count,
9729: X_RETURN_STATUS => x_return_status,
9730: X_MSG_COUNT => x_msg_count,
9731: X_MSG_DATA => x_msg_data);
9732:
9733: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9734: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9735: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9736: FND_MESSAGE.Set_Token('OBJECT', 'CONFIGURATION', FALSE);
9737: FND_MSG_PUB.ADD;
9735: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9736: FND_MESSAGE.Set_Token('OBJECT', 'CONFIGURATION', FALSE);
9737: FND_MSG_PUB.ADD;
9738: END IF;
9739: RAISE FND_API.G_EXC_ERROR;
9740: END IF;
9741:
9742: ELSIF l_ref_type_code = 'TOP_MODEL' THEN
9743:
9752: P_qte_Line_Rec => l_qte_line_rec,
9753: X_Return_Status => x_return_status,
9754: X_Msg_Count => x_msg_count,
9755: X_Msg_Data => x_msg_data);
9756: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9757: RAISE FND_API.G_EXC_ERROR;
9758: END IF;
9759:
9760: END LOOP;
9753: X_Return_Status => x_return_status,
9754: X_Msg_Count => x_msg_count,
9755: X_Msg_Data => x_msg_data);
9756: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9757: RAISE FND_API.G_EXC_ERROR;
9758: END IF;
9759:
9760: END LOOP;
9761:
9807: l_line_inst_dtl_id := j.transaction_line_id;
9808:
9809: ASO_INSTBASE_INT.Delete_Installation_Detail(
9810: p_api_version_number => 1.0,
9811: p_init_msg_list => FND_API.G_FALSE,
9812: p_commit => FND_API.G_FALSE,
9813: x_return_status => x_return_status,
9814: x_msg_count => x_msg_count,
9815: x_msg_data => x_msg_data,
9808:
9809: ASO_INSTBASE_INT.Delete_Installation_Detail(
9810: p_api_version_number => 1.0,
9811: p_init_msg_list => FND_API.G_FALSE,
9812: p_commit => FND_API.G_FALSE,
9813: x_return_status => x_return_status,
9814: x_msg_count => x_msg_count,
9815: x_msg_data => x_msg_data,
9816: p_line_inst_dtl_id => l_line_inst_dtl_id
9815: x_msg_data => x_msg_data,
9816: p_line_inst_dtl_id => l_line_inst_dtl_id
9817: );
9818:
9819: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9820: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9821: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9822: FND_MESSAGE.Set_Token('OBJECT', 'INSTALLATION DETAILS');
9823: FND_MSG_PUB.ADD;
9821: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9822: FND_MESSAGE.Set_Token('OBJECT', 'INSTALLATION DETAILS');
9823: FND_MSG_PUB.ADD;
9824: END IF;
9825: RAISE FND_API.G_EXC_ERROR;
9826: END IF;
9827: END LOOP;
9828: END IF;
9829:
9834: X_Return_Status => x_return_status,
9835: X_Msg_Count => x_msg_count,
9836: X_Msg_Data => x_msg_data);
9837:
9838: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9839: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9840: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9841: FND_MESSAGE.Set_Token('OBJECT', 'LINE_SHIPMENTS', FALSE);
9842: FND_MSG_PUB.ADD;
9840: FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
9841: FND_MESSAGE.Set_Token('OBJECT', 'LINE_SHIPMENTS', FALSE);
9842: FND_MSG_PUB.ADD;
9843: END IF;
9844: RAISE FND_API.G_EXC_ERROR;
9845: END IF;
9846:
9847: END LOOP;
9848:
9884: X_Return_Status => l_return_status,
9885: X_Msg_Count => x_msg_count,
9886: X_Msg_Data => x_msg_data);
9887:
9888: IF l_return_status<>FND_API.G_RET_STS_SUCCESS THEN
9889:
9890: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9891: FND_MESSAGE.Set_Name('ASO', 'ASO_UPDATE_QUOTE_TOTAL');
9892: FND_MSG_PUB.ADD;
9894:
9895: END IF;
9896:
9897:
9898: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9899: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9901: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
9902: x_return_status := FND_API.G_RET_STS_ERROR;
9895: END IF;
9896:
9897:
9898: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9899: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9901: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
9902: x_return_status := FND_API.G_RET_STS_ERROR;
9903: END IF;
9896:
9897:
9898: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9899: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9901: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
9902: x_return_status := FND_API.G_RET_STS_ERROR;
9903: END IF;
9904:
9897:
9898: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9899: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9901: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
9902: x_return_status := FND_API.G_RET_STS_ERROR;
9903: END IF;
9904:
9905:
9898: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
9899: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9901: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
9902: x_return_status := FND_API.G_RET_STS_ERROR;
9903: END IF;
9904:
9905:
9906: END IF;
9910: aso_debug_pub.add('p_qte_line_rec.quote_line_id: '|| p_qte_line_rec.quote_line_id);
9911: end if;
9912:
9913: ASO_EDUCATION_INT.Delete_OTA_Line(
9914: P_Init_Msg_List => FND_API.G_FALSE,
9915: P_Commit => FND_API.G_FALSE,
9916: P_Qte_Line_Id => p_qte_line_rec.quote_line_id,
9917: X_Return_Status => l_return_status,
9918: X_Msg_Count => x_msg_count,
9911: end if;
9912:
9913: ASO_EDUCATION_INT.Delete_OTA_Line(
9914: P_Init_Msg_List => FND_API.G_FALSE,
9915: P_Commit => FND_API.G_FALSE,
9916: P_Qte_Line_Id => p_qte_line_rec.quote_line_id,
9917: X_Return_Status => l_return_status,
9918: X_Msg_Count => x_msg_count,
9919: X_Msg_Data => x_msg_data);
9922: aso_debug_pub.add('Delete_Quote_Line: After call to Delete_OTA_Line.');
9923: aso_debug_pub.add('Delete_Quote_Line: l_return_status: '|| l_return_status);
9924: end if;
9925:
9926: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9923: aso_debug_pub.add('Delete_Quote_Line: l_return_status: '|| l_return_status);
9924: end if;
9925:
9926: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9931: RAISE FND_API.G_EXC_ERROR;
9924: end if;
9925:
9926: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9931: RAISE FND_API.G_EXC_ERROR;
9932: END IF;
9925:
9926: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9931: RAISE FND_API.G_EXC_ERROR;
9932: END IF;
9933:
9926: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9931: RAISE FND_API.G_EXC_ERROR;
9932: END IF;
9933:
9934: -- Change START
9927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9929: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9930: x_return_status := FND_API.G_RET_STS_ERROR;
9931: RAISE FND_API.G_EXC_ERROR;
9932: END IF;
9933:
9934: -- Change START
9935: -- Release 12 TAP Changes
9935: -- Release 12 TAP Changes
9936: -- Girish Sachdeva 8/30/2005
9937: -- Adding the call to insert record in the ASO_CHANGED_QUOTES
9938:
9939: IF ((p_qte_line_rec.quote_header_id is not null) and (p_qte_line_rec.quote_header_id <> FND_API.G_MISS_NUM)) THEN
9940:
9941: IF aso_debug_pub.g_debug_flag = 'Y' THEN
9942: aso_debug_pub.add('ASO_QUOTE_LINES_PVT.delete_quote_line : Before calling ASO_UTILITY_PVT.UPDATE_CHANGED_QUOTES, Quote Header ID :' || p_qte_line_rec.quote_header_id, 1, 'Y');
9943: END IF;
9962: -- End of API body
9963: --
9964:
9965: -- Standard check for p_commit
9966: IF FND_API.to_Boolean( p_commit ) THEN
9967: COMMIT WORK;
9968: END IF;
9969:
9970: -- Standard call to get message count and if count is 1, get message info.
9973:
9974:
9975: EXCEPTION
9976:
9977: WHEN FND_API.G_EXC_ERROR THEN
9978: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9979: P_API_NAME => L_API_NAME
9980: ,P_PKG_NAME => G_PKG_NAME
9981: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
9985: ,X_MSG_COUNT => X_MSG_COUNT
9986: ,X_MSG_DATA => X_MSG_DATA
9987: ,X_RETURN_STATUS => X_RETURN_STATUS);
9988:
9989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9990: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9991: P_API_NAME => L_API_NAME
9992: ,P_PKG_NAME => G_PKG_NAME
9993: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
10023: -- Pre-Req :
10024: -- Parameters:
10025: -- IN
10026: -- p_api_version_number IN NUMBER Required
10027: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
10028: -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
10029: -- P_quote_id IN NUMBER Required
10030: -- p_rec_requested IN NUMBER Optional Default = 30
10031: -- p_start_rec_ptr IN NUMBER Optional Default = 1
10032: --
10033: -- Return Total Records Count Flag. This flag controls whether the total record count
10034: -- and total record amount is returned.
10035: --
10036: -- p_return_tot_count IN VARCHAR2 Optional Default = FND_API.G_FALSE
10037: -- Hint: User defined record type
10038: -- p_order_by_tbl IN AS_UTILITY_PUB.UTIL_ORDER_BY_TBL_TYPE;
10039: --
10040: -- OUT:
10064: -- End of Comments
10065: --
10066: PROCEDURE Get_Quote_Line(
10067: P_Api_Version_Number IN NUMBER,
10068: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
10069: p_rec_requested IN NUMBER := G_DEFAULT_NUM_REC_FETCH,
10070: p_start_rec_prt IN NUMBER := 1,
10071: p_return_tot_count IN NUMBER := FND_API.G_FALSE,
10072: -- Hint: user defined record type
10067: P_Api_Version_Number IN NUMBER,
10068: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
10069: p_rec_requested IN NUMBER := G_DEFAULT_NUM_REC_FETCH,
10070: p_start_rec_prt IN NUMBER := 1,
10071: p_return_tot_count IN NUMBER := FND_API.G_FALSE,
10072: -- Hint: user defined record type
10073: p_order_by_rec IN ASO_QUOTE_PUB.qte_line_sort_rec_type,
10074: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
10075: x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
10123: l_inventory_item_id NUMBER;
10124: l_organization_id NUMBER;
10125: l_qte_line_detail_tbl ASO_QUOTE_PUB.QTE_LINE_DTL_TBL_TYPE;
10126: l_quantity NUMBER;
10127: l_update_flag VARCHAR2(1) := FND_API.G_FALSE;
10128:
10129: Begin
10130: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10131: aso_debug_pub.add('Procedure Service_item_qty_update Starts.', 1, 'Y');
10129: Begin
10130: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10131: aso_debug_pub.add('Procedure Service_item_qty_update Starts.', 1, 'Y');
10132: end if;
10133: x_return_status := FND_API.G_RET_STS_SUCCESS;
10134:
10135: IF p_service_item_flag = FND_API.G_FALSE THEN
10136: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10137: aso_debug_pub.add('Service_item_qty_update: Inside IF condition p_service_item_flag = FND_API.G_FALSE', 1, 'N');
10131: aso_debug_pub.add('Procedure Service_item_qty_update Starts.', 1, 'Y');
10132: end if;
10133: x_return_status := FND_API.G_RET_STS_SUCCESS;
10134:
10135: IF p_service_item_flag = FND_API.G_FALSE THEN
10136: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10137: aso_debug_pub.add('Service_item_qty_update: Inside IF condition p_service_item_flag = FND_API.G_FALSE', 1, 'N');
10138: end if;
10139:
10133: x_return_status := FND_API.G_RET_STS_SUCCESS;
10134:
10135: IF p_service_item_flag = FND_API.G_FALSE THEN
10136: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10137: aso_debug_pub.add('Service_item_qty_update: Inside IF condition p_service_item_flag = FND_API.G_FALSE', 1, 'N');
10138: end if;
10139:
10140: l_qte_line_rec := ASO_UTILITY_PVT.Query_Qte_Line_Row(p_qte_line_rec.quote_line_id);
10141: begin
10149: where service_ref_type_code = 'QUOTE' and service_ref_line_id = l_qte_line_rec.quote_line_id );
10150:
10151: EXCEPTION
10152: WHEN OTHERS THEN
10153: x_return_status := FND_API.G_RET_STS_ERROR;
10154: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10155: aso_debug_pub.add('Service_item_qty_update:Exception1',1,'N');
10156: end if;
10157: end;
10156: end if;
10157: end;
10158: ELSE
10159: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10160: aso_debug_pub.add('Service_item_qty_update:ELSE condition of p_service_item_flag = FND_API.G_FALSE', 1, 'N');
10161: end if;
10162: l_qte_line_detail_tbl := ASO_UTILITY_PVT.Query_Line_Dtl_Rows(p_qte_line_rec.quote_line_id);
10163:
10164: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10175: IF C_quantity%NOTFOUND THEN
10176: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10177: aso_debug_pub.add('Service_item_qty_update: Inside cursor C_quantity%NOTFOUND ', 1, 'N');
10178: end if;
10179: x_return_status := FND_API.G_RET_STS_ERROR;
10180: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
10181: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_SERVICE_REF_LINE');
10182: FND_MESSAGE.Set_Token('CODE', 'QUOTE', FALSE);
10183: FND_MESSAGE.Set_Token('VALUE', l_qte_line_detail_tbl(i).service_ref_line_id, FALSE);
10183: FND_MESSAGE.Set_Token('VALUE', l_qte_line_detail_tbl(i).service_ref_line_id, FALSE);
10184: FND_MSG_PUB.ADD;
10185: END IF;
10186: ELSE
10187: l_update_flag := FND_API.G_TRUE;
10188: END IF;
10189: CLOSE C_quantity;
10190: ELSIF l_qte_line_detail_tbl(i).service_ref_type_code = 'ORDER' THEN
10191: OPEN C_ord_qty(l_qte_line_detail_tbl(i).service_ref_line_id);
10196: IF C_ord_qty%NOTFOUND THEN
10197: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10198: aso_debug_pub.add('Service_item_qty_update: Inside cursor C_ord_qty%NOTFOUND condition.', 1, 'N');
10199: end if;
10200: x_return_status := FND_API.G_RET_STS_ERROR;
10201: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
10202: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_SERVICE_REF_LINE');
10203: FND_MESSAGE.Set_Token('CODE', 'ORDER', FALSE);
10204: FND_MESSAGE.Set_Token('VALUE', l_qte_line_detail_tbl(i).service_ref_line_id, FALSE);
10204: FND_MESSAGE.Set_Token('VALUE', l_qte_line_detail_tbl(i).service_ref_line_id, FALSE);
10205: FND_MSG_PUB.ADD;
10206: END IF;
10207: ELSE
10208: l_update_flag := FND_API.G_TRUE;
10209: END IF;
10210: CLOSE C_ord_qty;
10211: ELSIF l_qte_line_detail_tbl(i).service_ref_type_code = 'CUSTOMER_PRODUCT' THEN
10212: OPEN C_cs_qty(l_qte_line_detail_tbl(i).service_ref_line_id);
10218: IF C_cs_qty%NOTFOUND THEN
10219: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10220: aso_debug_pub.add('Service_item_qty_update: Inside cursor C_cs_qty%NOTFOUND condition. ', 1, 'N');
10221: end if;
10222: x_return_status := FND_API.G_RET_STS_ERROR;
10223: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
10224: FND_MESSAGE.Set_Name('ASO', 'ASO_INVALID_SERVICE_REF_LINE');
10225: FND_MESSAGE.Set_Token('CODE', 'CUSTOMER_PRODUCT', FALSE);
10226: FND_MESSAGE.Set_Token('VALUE', l_qte_line_detail_tbl(i).service_ref_line_id, FALSE);
10229: ELSE
10230: IF aso_debug_pub.g_debug_flag = 'Y' THEN
10231: aso_debug_pub.add('Service_item_qty_update: cursor C_cs_qty%FOUND ', 1, 'N ');
10232: end if;
10233: l_update_flag := FND_API.G_TRUE;
10234: END IF;
10235: CLOSE C_cs_qty;
10236: END IF;
10237:
10234: END IF;
10235: CLOSE C_cs_qty;
10236: END IF;
10237:
10238: IF x_return_status <> FND_API.G_RET_STS_ERROR AND l_update_flag = FND_API.G_TRUE THEN
10239:
10240: Begin
10241:
10242: UPDATE aso_quote_lines_all
10247: where quote_line_id = p_qte_line_rec.quote_line_id;
10248:
10249: EXCEPTION
10250: WHEN OTHERS THEN
10251: x_return_status := FND_API.G_RET_STS_ERROR;
10252:
10253: if aso_debug_pub.g_debug_flag = 'Y' THEN
10254: aso_debug_pub.add('Service_item_qty_update:Exception raised when others', 1, 'N');
10255: end if;
10257: End;
10258:
10259: END IF;
10260:
10261: l_update_flag := FND_API.G_FALSE;
10262:
10263: END LOOP;
10264:
10265: END IF;