102: BEGIN
103:
104: -- Set control flags.
105:
106: oe_debug_pub.add('Ren: inside default attr of qualifiers 1');
107:
108: l_control_rec.controlled_operation := TRUE;
109: l_control_rec.default_attributes := TRUE;
110:
187:
188: */
189:
190:
191: oe_debug_pub.add('Ren: after process qualifier rules');
192:
193: oe_debug_pub.add('return status is : ' || l_return_status);
194:
195: oe_debug_pub.add('ren : msg data is : ' || x_msg_data);
189:
190:
191: oe_debug_pub.add('Ren: after process qualifier rules');
192:
193: oe_debug_pub.add('return status is : ' || l_return_status);
194:
195: oe_debug_pub.add('ren : msg data is : ' || x_msg_data);
196:
197: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
191: oe_debug_pub.add('Ren: after process qualifier rules');
192:
193: oe_debug_pub.add('return status is : ' || l_return_status);
194:
195: oe_debug_pub.add('ren : msg data is : ' || x_msg_data);
196:
197: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
198: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
199: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
244: x_qualify_hier_descendent_flag := l_x_QUALIFIERS_rec.qualify_hier_descendent_flag ; -- Added for TCA
245:
246: -- Load display out parameters if any
247:
248: oe_debug_pub.add('Ren: before get_values');
249: oe_debug_pub.add('ren : msg data 0.5 is : ' || x_msg_data);
250:
251: l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
252: ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
245:
246: -- Load display out parameters if any
247:
248: oe_debug_pub.add('Ren: before get_values');
249: oe_debug_pub.add('ren : msg data 0.5 is : ' || x_msg_data);
250:
251: l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
252: ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
253: );
258: x_list_line := l_QUALIFIERS_val_rec.list_line;
259: -- x_qualifier := l_QUALIFIERS_val_rec.qualifier;
260: x_qualifier_rule := l_QUALIFIERS_val_rec.qualifier_rule;
261:
262: oe_debug_pub.add('Ren: after get_values ');
263:
264: -- Write to cache.
265: -- Set db_flag to False before writing to cache
266:
265: -- Set db_flag to False before writing to cache
266:
267: l_x_QUALIFIERS_rec.db_flag := FND_API.G_FALSE;
268:
269: oe_debug_pub.add('Ren: before write qualifiers');
270: oe_debug_pub.add('Ren: msg data 1 is :' || x_msg_data);
271:
272: Write_QUALIFIERS
273: ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
266:
267: l_x_QUALIFIERS_rec.db_flag := FND_API.G_FALSE;
268:
269: oe_debug_pub.add('Ren: before write qualifiers');
270: oe_debug_pub.add('Ren: msg data 1 is :' || x_msg_data);
271:
272: Write_QUALIFIERS
273: ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
274: );
271:
272: Write_QUALIFIERS
273: ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
274: );
275: oe_debug_pub.add('Ren: msg data 2 is :' || x_msg_data);
276:
277: -- Set return status.
278:
279: x_return_status := FND_API.G_RET_STS_SUCCESS;
277: -- Set return status.
278:
279: x_return_status := FND_API.G_RET_STS_SUCCESS;
280:
281: oe_debug_pub.add('Ren: msg data 2.5 is :' || x_msg_data);
282:
283: -- Get message count and data
284:
285: oe_msg_pub.Count_And_Get
286: ( p_count => x_msg_count
287: , p_data => x_msg_data
288: );
289:
290: oe_debug_pub.add('Ren: msg data 3 is :' || x_msg_data);
291:
292: EXCEPTION
293:
294: WHEN FND_API.G_EXC_ERROR THEN
963: l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
964: l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
965: BEGIN
966:
967: oe_debug_pub.add('in v and write 1');
968:
969: -- Set control flags.
970:
971: l_control_rec.controlled_operation := TRUE;
982: l_control_rec.clear_api_requests := FALSE;
983:
984: -- Read QUALIFIERS from cache
985:
986: oe_debug_pub.add('in v and write 2');
987: l_old_QUALIFIERS_rec := Get_QUALIFIERS
988: ( p_db_record => TRUE
989: , p_qualifier_id => p_qualifier_id
990: );
987: l_old_QUALIFIERS_rec := Get_QUALIFIERS
988: ( p_db_record => TRUE
989: , p_qualifier_id => p_qualifier_id
990: );
991: oe_debug_pub.add('in v and write 3');
992:
993: l_QUALIFIERS_rec := Get_QUALIFIERS
994: ( p_db_record => FALSE
995: , p_qualifier_id => p_qualifier_id
993: l_QUALIFIERS_rec := Get_QUALIFIERS
994: ( p_db_record => FALSE
995: , p_qualifier_id => p_qualifier_id
996: );
997: oe_debug_pub.add('in v and write 4');
998:
999: -- Set Operation.
1000:
1001: IF FND_API.To_Boolean(l_QUALIFIERS_rec.db_flag) THEN
1009: l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1010: l_old_QUALIFIERS_tbl(1) := l_old_QUALIFIERS_rec;
1011:
1012: -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1013: oe_debug_pub.add('in v and write 5');
1014:
1015: QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1016: ( p_api_version_number => 1.0
1017: , p_init_msg_list => FND_API.G_TRUE
1025: , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1026: , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1027: , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1028: );
1029: oe_debug_pub.add('in v and write 6');
1030:
1031: /*
1032:
1033: QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1045:
1046: */
1047:
1048: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1049: oe_debug_pub.add('in v and write 7');
1050: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1052: oe_debug_pub.add('in v and write 8');
1053: RAISE FND_API.G_EXC_ERROR;
1048: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1049: oe_debug_pub.add('in v and write 7');
1050: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1052: oe_debug_pub.add('in v and write 8');
1053: RAISE FND_API.G_EXC_ERROR;
1054: END IF;
1055:
1056:
1069: x_request_id := l_x_QUALIFIERS_rec.request_id;
1070:
1071: -- Clear QUALIFIERS record cache
1072:
1073: oe_debug_pub.add('in v and write 9');
1074: Clear_QUALIFIERS;
1075:
1076: -- Keep track of performed operations.
1077:
1082:
1083: x_return_status := FND_API.G_RET_STS_SUCCESS;
1084:
1085: -- Get message count and data
1086: oe_debug_pub.add('in v and write 10; msg is : ' || x_msg_data);
1087:
1088: oe_msg_pub.Count_And_Get
1089: ( p_count => x_msg_count
1090: , p_data => x_msg_data
1088: oe_msg_pub.Count_And_Get
1089: ( p_count => x_msg_count
1090: , p_data => x_msg_data
1091: );
1092: oe_debug_pub.add('in v and write 11; msg is : ' || x_msg_data);
1093:
1094:
1095: EXCEPTION
1096:
1742: x_qualifier_rules_val_rec => l_qualifier_rules_val_rec,
1743: x_qualifiers_tbl => l_qualifiers_tbl,
1744: x_qualifiers_val_tbl => l_qualifiers_val_tbl);
1745:
1746: oe_debug_pub.add('count of qualifiers table 1 : ' || l_qualifiers_tbl.count);
1747:
1748: IF p_group_condition = 'AND' THEN
1749: SELECT NVL(MAX(ABS(qualifier_grouping_no)),-1)
1750: INTO l_max_grouping_no
1752: WHERE list_header_id = l_list_header_id;
1753:
1754: /* In the case where grp no is 0, we need to add more than max) */
1755: l_max_grouping_no := l_max_grouping_no + 1;
1756: oe_debug_pub.add('max grp no = '||l_max_grouping_no);
1757: FOR k IN 1..l_qualifiers_tbl.COUNT LOOP
1758: l_qualifiers_tbl(k).list_header_id := l_list_header_id;
1759: l_qualifiers_tbl(k).list_line_id := l_list_line_id;
1760: l_qualifiers_tbl(k).qualifier_rule_id := NULL;
1766: --we want to retain -1 group as it is
1767: NULL;
1768: ELSE
1769: l_qualifiers_tbl(K).qualifier_grouping_no := l_qualifiers_tbl(K).qualifier_grouping_no - l_max_grouping_no;
1770: oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1771: END IF;
1772: ELSE
1773: l_qualifiers_tbl(K).qualifier_grouping_no := l_qualifiers_tbl(K).qualifier_grouping_no + l_max_grouping_no;
1774: oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1770: oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1771: END IF;
1772: ELSE
1773: l_qualifiers_tbl(K).qualifier_grouping_no := l_qualifiers_tbl(K).qualifier_grouping_no + l_max_grouping_no;
1774: oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1775: END IF;
1776:
1777: IF NOT (l_list_type_code IN ('PRL','AGR') AND
1778: l_qualifiers_tbl(K).qualifier_context = 'VOLUME' AND
1831:
1832: END LOOP;
1833: END IF;
1834:
1835: oe_debug_pub.add('before copy qual_rules');
1836:
1837: QP_QUALIFIER_RULES_PVT.PROCESS_QUALIFIER_RULES(
1838: p_api_version_number => 1.0,
1839: x_return_status => l_return_status,
1842: p_qualifiers_tbl => l_qualifiers_tbl,
1843: x_qualifier_rules_rec => l_x_qualifier_rules_rec,
1844: x_qualifiers_tbl => l_x_qualifiers_tbl);
1845:
1846: oe_debug_pub.add('after copy qual_rules');
1847:
1848: x_processed_qual_count := l_QUALIFIERS_tbl.COUNT;
1849: x_return_status := l_return_status;
1850: