19:
20: BEGIN
21: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
22: IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N' THEN
23: IF l_debug = FND_API.G_TRUE THEN
24: QP_PREQ_GRP.ENGINE_DEBUG('Populate_Price_Adj_ID: Java Engine not Installed ----------');
25: END IF;
26: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
27: Update qp_npreq_ldets_tmp set price_adjustment_id =
33: and nvl(created_from_list_type_code,'NULL') not in
34: (QP_PREQ_PUB.G_PRICE_LIST_HEADER, QP_PREQ_PUB.G_AGR_LIST_HEADER);
35: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
36: ELSE
37: IF l_debug = FND_API.G_TRUE THEN
38: QP_PREQ_GRP.ENGINE_DEBUG('Populate_Price_Adj_ID: Java Engine is Installed ----------');
39: END IF;
40: IF (QP_UTIL_PUB.HVOP_Pricing_ON = 'Y') THEN
41: Update qp_int_ldets set price_adjustment_id =
60: (QP_PREQ_PUB.G_PRICE_LIST_HEADER, QP_PREQ_PUB.G_AGR_LIST_HEADER);
61: END IF;
62: END IF;
63: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
64: x_return_status := FND_API.G_RET_STS_SUCCESS;
65: Exception
66: When OTHERS Then
67: x_return_status := FND_API.G_RET_STS_ERROR;
68: x_return_status_text := 'QP_CLEANUP_ADJUSTMENTS_PVT.Populate_Price_Adj_ID '||SQLERRM;
63: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
64: x_return_status := FND_API.G_RET_STS_SUCCESS;
65: Exception
66: When OTHERS Then
67: x_return_status := FND_API.G_RET_STS_ERROR;
68: x_return_status_text := 'QP_CLEANUP_ADJUSTMENTS_PVT.Populate_Price_Adj_ID '||SQLERRM;
69: END Populate_Price_Adj_ID;
70:
71: --This is used on PUB to get the sum of operand to see if the sum of
88: IF l_adj_sum_operand is null
89: THEN
90: l_adj_sum_operand := 0;
91: END IF;
92: IF l_debug = FND_API.G_TRUE THEN
93: QP_PREQ_GRP.engine_debug(' Sum of adj operand '||l_adj_sum_operand);
94: END IF;
95: RETURN l_adj_sum_operand;
96:
96:
97: EXCEPTION
98: When NO_DATA_FOUND Then
99: l_adj_sum_operand := 0;
100: IF l_debug = FND_API.G_TRUE THEN
101: QP_PREQ_GRP.engine_debug(' Sum of adj operand '||l_adj_sum_operand);
102: END IF;
103: RETURN l_adj_sum_operand;
104: When OTHERS Then
101: QP_PREQ_GRP.engine_debug(' Sum of adj operand '||l_adj_sum_operand);
102: END IF;
103: RETURN l_adj_sum_operand;
104: When OTHERS Then
105: l_adj_sum_operand := FND_API.G_MISS_NUM;
106: IF l_debug = FND_API.G_TRUE THEN
107: QP_PREQ_GRP.engine_debug(' Exception adj operand '||SQLERRM);
108: QP_PREQ_GRP.engine_debug(' Sum of adj operand '||l_adj_sum_operand);
109: END IF;
102: END IF;
103: RETURN l_adj_sum_operand;
104: When OTHERS Then
105: l_adj_sum_operand := FND_API.G_MISS_NUM;
106: IF l_debug = FND_API.G_TRUE THEN
107: QP_PREQ_GRP.engine_debug(' Exception adj operand '||SQLERRM);
108: QP_PREQ_GRP.engine_debug(' Sum of adj operand '||l_adj_sum_operand);
109: END IF;
110: RETURN l_adj_sum_operand;
776: BEGIN
777:
778: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
779: x:=0;
780: IF l_debug = FND_API.G_TRUE THEN
781: qp_preq_grp.engine_debug('begin update check clnup '||p_cleanup_flag);
782: qp_preq_grp.engine_debug('begin update check reqtype '||p_request_type_code);
783: qp_preq_grp.engine_debug('begin update check viewcode '||p_view_code);
784: END IF; --Bug No 4033618
788: --bug 3085453 handle pricing availability UI
789: -- they pass reqtype ONT and insert adj into ldets
790: and QP_PREQ_PUB.G_CHECK_CUST_VIEW_FLAG = QP_PREQ_PUB.G_YES
791: THEN
792: IF l_debug = FND_API.G_TRUE THEN
793: qp_preq_grp.engine_debug('in update cleanup '||p_cleanup_flag);
794: END IF; -- Bug No 4033618
795: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
796: IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N' THEN
793: qp_preq_grp.engine_debug('in update cleanup '||p_cleanup_flag);
794: END IF; -- Bug No 4033618
795: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
796: IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N' THEN
797: IF l_debug = FND_API.G_TRUE THEN
798: QP_PREQ_GRP.ENGINE_DEBUG('cleanup_adjustments Java Engine not Installed ----------');
799: END IF;
800: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
801:
930:
931: FOR i IN l_cur_dtl_index_tbl.FIRST..l_cur_dtl_index_tbl.LAST
932: LOOP
933:
934: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
935: THEN
936: qp_preq_grp.engine_debug('loop update cur line ind '
937: ||l_cur_line_index_tbl(i)||' line_dtl_index '
938: ||l_cur_dtl_index_tbl(i)||' price_adj_id '
988: END IF;--debug
989:
990:
991: IF
992: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
993: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
994: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
995: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
996: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
989:
990:
991: IF
992: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
993: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
994: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
995: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
996: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
997: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
990:
991: IF
992: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
993: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
994: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
995: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
996: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
997: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
998: AND nvl(l_cur_charge_type_tbl(i),'NULL') =
991: IF
992: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
993: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
994: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
995: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
996: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
997: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
998: AND nvl(l_cur_charge_type_tbl(i),'NULL') =
999: nvl(l_adj_charge_type_tbl(i),'NULL')
1026: AND nvl(l_cur_prorat_type_tbl(i),'NULL') =
1027: nvl(l_adj_prorat_type_tbl(i),'NULL')
1028: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1029: nvl(l_adj_include_ret_flag_tbl(i),' ')
1030: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1027: nvl(l_adj_prorat_type_tbl(i),'NULL')
1028: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1029: nvl(l_adj_include_ret_flag_tbl(i),' ')
1030: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1028: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1029: nvl(l_adj_include_ret_flag_tbl(i),' ')
1030: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1029: nvl(l_adj_include_ret_flag_tbl(i),' ')
1030: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1030: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1038: THEN
1031: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1038: THEN
1039: x:=x+1;
1032: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1038: THEN
1039: x:=x+1;
1040: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1033: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1034: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1035: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1038: THEN
1039: x:=x+1;
1040: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1041: qp_preq_grp.engine_debug('if update check '||x);
1036: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1037: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1038: THEN
1039: x:=x+1;
1040: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1041: qp_preq_grp.engine_debug('if update check '||x);
1042: qp_preq_grp.engine_debug('update check dtls '
1043: ||l_cur_dtl_index_tbl(i)||' adj_id '
1044: ||l_cur_price_adj_id_tbl(i)||' id '
1052: l_process_code_tbl(x) := QP_PREQ_PUB.G_STATUS_UNCHANGED;
1053: l_pricing_sts_text_tbl(x) := 'ADJUSTMENT INFO UNCHANGED';
1054: ELSE
1055: x:=x+1;
1056: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1057: qp_preq_grp.engine_debug('else update check '||x);
1058: qp_preq_grp.engine_debug('update check dtls '
1059: ||l_cur_dtl_index_tbl(i)||' adj_id '
1060: ||l_cur_price_adj_id_tbl(i)||' id '
1074: END LOOP;--bulk fetch
1075: CLOSE l_update_cur;
1076: ELSE
1077: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
1078: IF l_debug = FND_API.G_TRUE THEN
1079: QP_PREQ_GRP.ENGINE_DEBUG('cleanup_adjustments() Java Engine is Installed ----------');
1080: END IF;
1081: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
1082:
1211:
1212: FOR i IN l_cur_dtl_index_tbl.FIRST..l_cur_dtl_index_tbl.LAST
1213: LOOP
1214:
1215: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
1216: THEN
1217: qp_preq_grp.engine_debug('loop update cur line ind '
1218: ||l_cur_line_index_tbl(i)||' line_dtl_index '
1219: ||l_cur_dtl_index_tbl(i)||' price_adj_id '
1269: END IF;--debug
1270:
1271:
1272: IF
1273: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
1274: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
1275: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
1276: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
1277: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
1270:
1271:
1272: IF
1273: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
1274: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
1275: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
1276: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
1277: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
1278: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
1271:
1272: IF
1273: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
1274: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
1275: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
1276: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
1277: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
1278: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
1279: AND nvl(l_cur_charge_type_tbl(i),'NULL') =
1272: IF
1273: nvl(l_cur_adj_amt_tbl(i),FND_API.G_MISS_NUM) =
1274: nvl(l_adj_adj_amt_pqty_tbl(i),FND_API.G_MISS_NUM)
1275: AND nvl(l_cur_operand_tbl(i),FND_API.G_MISS_NUM) =
1276: nvl(l_adj_operand_pqty_tbl(i),FND_API.G_MISS_NUM)
1277: AND nvl(l_cur_pricing_grp_seq_tbl(i),-1) =
1278: nvl(l_adj_pricing_grp_seq_tbl(i),-1)
1279: AND nvl(l_cur_charge_type_tbl(i),'NULL') =
1280: nvl(l_adj_charge_type_tbl(i),'NULL')
1307: AND nvl(l_cur_prorat_type_tbl(i),'NULL') =
1308: nvl(l_adj_prorat_type_tbl(i),'NULL')
1309: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1310: nvl(l_adj_include_ret_flag_tbl(i),' ')
1311: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1308: nvl(l_adj_prorat_type_tbl(i),'NULL')
1309: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1310: nvl(l_adj_include_ret_flag_tbl(i),' ')
1311: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1309: AND nvl(l_cur_include_ret_flag_tbl(i), ' ') =
1310: nvl(l_adj_include_ret_flag_tbl(i),' ')
1311: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1310: nvl(l_adj_include_ret_flag_tbl(i),' ')
1311: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1311: AND nvl(l_cur_exp_date_tbl(i),FND_API.G_MISS_DATE) =
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1319: THEN
1312: nvl(l_adj_exp_date_tbl(i), FND_API.G_MISS_DATE)
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1319: THEN
1320: x:=x+1;
1313: AND nvl(l_cur_line_qty_tbl(i),FND_API.G_MISS_NUM) =
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1319: THEN
1320: x:=x+1;
1321: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1314: nvl(l_adj_range_break_qty_tbl(i), FND_API.G_MISS_NUM)
1315: AND nvl(l_cur_ord_qty_adjamt(i),FND_API.G_MISS_NUM) =
1316: nvl(l_adj_ord_qty_adjamt(i), FND_API.G_MISS_NUM)
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1319: THEN
1320: x:=x+1;
1321: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1322: qp_preq_grp.engine_debug('if update check '||x);
1317: AND nvl(l_cur_ord_qty_operand(i),FND_API.G_MISS_NUM) =
1318: nvl(l_adj_ord_qty_operand(i), FND_API.G_MISS_NUM)
1319: THEN
1320: x:=x+1;
1321: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1322: qp_preq_grp.engine_debug('if update check '||x);
1323: qp_preq_grp.engine_debug('update check dtls '
1324: ||l_cur_dtl_index_tbl(i)||' adj_id '
1325: ||l_cur_price_adj_id_tbl(i)||' id '
1333: l_process_code_tbl(x) := QP_PREQ_PUB.G_STATUS_UNCHANGED;
1334: l_pricing_sts_text_tbl(x) := 'ADJUSTMENT INFO UNCHANGED';
1335: ELSE
1336: x:=x+1;
1337: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
1338: qp_preq_grp.engine_debug('else update check '||x);
1339: qp_preq_grp.engine_debug('update check dtls '
1340: ||l_cur_dtl_index_tbl(i)||' adj_id '
1341: ||l_cur_price_adj_id_tbl(i)||' id '
1359:
1360: IF l_line_dtl_index_tbl.COUNT > 0
1361: THEN
1362:
1363: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
1364: THEN
1365: FOR x IN l_line_dtl_index_tbl.FIRST..l_line_dtl_index_tbl.LAST
1366: LOOP
1367: IF l_debug = FND_API.G_TRUE THEN
1363: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
1364: THEN
1365: FOR x IN l_line_dtl_index_tbl.FIRST..l_line_dtl_index_tbl.LAST
1366: LOOP
1367: IF l_debug = FND_API.G_TRUE THEN
1368: QP_PREQ_GRP.engine_debug('Cleanup debug '
1369: ||' line index '||l_line_index_tbl(x)
1370: ||' line dtl index '||l_line_dtl_index_tbl(x)
1371: ||' price_adj_id '||l_price_adj_id_tbl(x)
1375: END LOOP;
1376: END IF;
1377: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
1378: IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N' THEN
1379: IF l_debug = FND_API.G_TRUE THEN
1380: QP_PREQ_GRP.ENGINE_DEBUG('Java Engine not Installed ----------');
1381: END IF;
1382: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
1383:
1389: WHERE line_index = l_line_index_tbl(x)
1390: and line_detail_index = l_line_dtl_index_tbl(x);
1391: --ADDED BY YANGLI FOR JAVA ENGINE PUB 3086881
1392: ELSE
1393: IF l_debug = FND_API.G_TRUE THEN
1394: QP_PREQ_GRP.ENGINE_DEBUG('Java Engine is Installed ----------');
1395: END IF;
1396: FORALL x IN l_line_dtl_index_tbl.FIRST..l_line_dtl_index_tbl.LAST
1397: UPDATE qp_int_ldets
1448: and attr.pricing_attribute = lattr.attribute
1449: and attr.pricing_attr_value_from = lattr.value_from);
1450:
1451:
1452: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
1453: THEN
1454: for cl in l_attr_cur
1455: loop
1456: qp_preq_grp.engine_debug('attr details '
1464:
1465:
1466:
1467: END IF;
1468: IF l_debug = FND_API.G_TRUE THEN
1469: QP_PREQ_GRP.engine_debug('Completed QP_CLEANUP.cleanup_adjustments');
1470: END IF;
1471: x_return_status := FND_API.G_RET_STS_SUCCESS;
1472:
1467: END IF;
1468: IF l_debug = FND_API.G_TRUE THEN
1469: QP_PREQ_GRP.engine_debug('Completed QP_CLEANUP.cleanup_adjustments');
1470: END IF;
1471: x_return_status := FND_API.G_RET_STS_SUCCESS;
1472:
1473: EXCEPTION
1474: When OTHERS Then
1475: IF l_debug = FND_API.G_TRUE THEN
1471: x_return_status := FND_API.G_RET_STS_SUCCESS;
1472:
1473: EXCEPTION
1474: When OTHERS Then
1475: IF l_debug = FND_API.G_TRUE THEN
1476: QP_PREQ_GRP.engine_debug('error in QP_CLEANUP_ADJ.cleanup_adjustments '||SQLERRM);
1477: END IF;
1478: x_return_status := FND_API.G_RET_STS_ERROR;
1479: --x_return_status_text := 'error QP_CLEANUP_ADJ.cleanup_adjustments '||SQLERRM';
1474: When OTHERS Then
1475: IF l_debug = FND_API.G_TRUE THEN
1476: QP_PREQ_GRP.engine_debug('error in QP_CLEANUP_ADJ.cleanup_adjustments '||SQLERRM);
1477: END IF;
1478: x_return_status := FND_API.G_RET_STS_ERROR;
1479: --x_return_status_text := 'error QP_CLEANUP_ADJ.cleanup_adjustments '||SQLERRM';
1480:
1481: END cleanup_adjustments;
1482:
1485: RETURN NUMBER IS
1486: BEGIN
1487: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1488: IF G_PBH_PLSQL_IND.EXISTS(mod(p_price_adj_id,G_BINARY_LIMIT)) THEN --8744755
1489: IF l_debug = FND_API.G_TRUE THEN
1490: QP_PREQ_GRP.engine_debug('begin get loop ');
1491: END IF;--l_debug
1492: FOR i IN G_PBH_LINE_DTL_INDEX.FIRST..G_PBH_LINE_DTL_INDEX.LAST
1493: LOOP
1490: QP_PREQ_GRP.engine_debug('begin get loop ');
1491: END IF;--l_debug
1492: FOR i IN G_PBH_LINE_DTL_INDEX.FIRST..G_PBH_LINE_DTL_INDEX.LAST
1493: LOOP
1494: IF l_debug = FND_API.G_TRUE THEN
1495: QP_PREQ_GRP.engine_debug('in get loop '||G_PBH_LINE_INDEX(i)||' '
1496: ||G_PBH_PRICE_ADJ_ID(i));
1497: END IF;--l_debug
1498: IF G_PBH_LINE_INDEX(i) = p_line_index
1758: l_pbh_adj_exists VARCHAR2(1) := QP_PREQ_PUB.G_NO;
1759: N pls_integer;
1760: BEGIN
1761: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1762: IF l_debug = FND_API.G_TRUE THEN
1763: QP_PREQ_GRP.engine_debug('Begin Insert_rltd_lines rqtyp '||p_request_type_code);
1764: QP_PREQ_GRP.engine_debug('Begin Insert_rltd_lines calcflag '||p_calculate_flag);
1765: QP_PREQ_GRP.engine_debug('Begin Insert_rltd_lines event '||p_event_code);
1766:
1768: OPEN l_pbh_adj_exists_cur;
1769: FETCH l_pbh_adj_exists_cur INTO l_pbh_adj_exists;
1770: CLOSE l_pbh_adj_exists_cur;
1771:
1772: IF l_debug = FND_API.G_TRUE THEN
1773: QP_PREQ_GRP.engine_debug('Check l_pbh_adj_exists '||l_pbh_adj_exists);
1774:
1775: END IF;
1776: N := 0;
1801: l_list_line_no_tbl.delete;
1802:
1803: FOR I IN l_rltd_line_info_cur
1804: LOOP
1805: IF l_debug = FND_API.G_TRUE THEN
1806: QP_PREQ_GRP.engine_debug('In l_rltd_line_info_cur');
1807: END IF;
1808: N := N+1;
1809: l_line_index_tbl(N):=I.line_index;
1812: l_rltd_line_index_tbl(N):=I.related_line_index;
1813:
1814: l_rltd_line_dtl_index_tbl(N):=
1815: Get_line_detail_index(I.related_line_index, I.related_line_detail_index);
1816: IF l_debug = FND_API.G_TRUE THEN
1817: QP_PREQ_GRP.engine_debug('Pbh dtl_index '
1818: ||l_line_dtl_index_tbl(N)
1819: ||' rltd_dtl_index '
1820: ||l_rltd_line_dtl_index_tbl(N));
1839: l_updated_flag_tbl(N) := I.updated_flag;
1840: l_list_hdr_id_tbl(N) := I.list_header_id;
1841: l_list_line_no_tbl(N) := I.list_line_no;
1842:
1843: IF l_debug = FND_API.G_TRUE THEN
1844: QP_PREQ_GRP.engine_debug('price brk child details '
1845: ||l_line_dtl_index_tbl(N)||' rltd_dtl '
1846: ||l_rltd_line_dtl_index_tbl(N)||' bucket '
1847: ||l_pricing_group_seq_tbl(N)||' '
1855: ||l_qualifier_value_tbl(N));
1856: END IF;
1857: END LOOP;
1858:
1859: IF l_debug = FND_API.G_TRUE THEN
1860: QP_PREQ_GRP.engine_debug('price brk after loop ');
1861: END IF;
1862: IF l_line_dtl_index_tbl.COUNT > 0
1863: THEN
1860: QP_PREQ_GRP.engine_debug('price brk after loop ');
1861: END IF;
1862: IF l_line_dtl_index_tbl.COUNT > 0
1863: THEN
1864: IF l_debug = FND_API.G_TRUE THEN
1865: QP_PREQ_GRP.engine_debug('price brk before insert ');
1866: END IF;
1867: FORALL I IN l_line_dtl_index_tbl.FIRST..l_line_dtl_index_tbl.LAST
1868: INSERT INTO qp_npreq_rltd_lines_tmp
1957: ,l_updated_flag_tbl(I) --QP_PREQ_PUB.G_YES
1958: ,l_auto_flag_tbl(I) --QP_PREQ_PUB.G_NO
1959: ,l_pricing_phase_id_tbl(I));
1960:
1961: IF l_debug = FND_API.G_TRUE THEN
1962: QP_PREQ_GRP.engine_debug('price brk after insert ');
1963:
1964: END IF;
1965: END IF;
1963:
1964: END IF;
1965: END IF;
1966: END IF;
1967: IF l_debug = FND_API.G_TRUE THEN
1968: QP_PREQ_GRP.engine_debug('End Insert_rltd_lines');
1969: END IF;
1970: x_return_status := FND_API.G_RET_STS_SUCCESS;
1971: EXCEPTION
1966: END IF;
1967: IF l_debug = FND_API.G_TRUE THEN
1968: QP_PREQ_GRP.engine_debug('End Insert_rltd_lines');
1969: END IF;
1970: x_return_status := FND_API.G_RET_STS_SUCCESS;
1971: EXCEPTION
1972: When OTHERS Then
1973: IF l_debug = FND_API.G_TRUE THEN
1974: QP_PREQ_GRP.engine_debug('Error Insert_rltd_lines'||SQLERRM);
1969: END IF;
1970: x_return_status := FND_API.G_RET_STS_SUCCESS;
1971: EXCEPTION
1972: When OTHERS Then
1973: IF l_debug = FND_API.G_TRUE THEN
1974: QP_PREQ_GRP.engine_debug('Error Insert_rltd_lines'||SQLERRM);
1975: END IF;
1976: x_return_status := FND_API.G_RET_STS_ERROR;
1977: x_return_status_text := 'Error in QP_CLEANUP_ADJUSTMENTS.Insert_Rltd_Lines '||SQLERRM;
1972: When OTHERS Then
1973: IF l_debug = FND_API.G_TRUE THEN
1974: QP_PREQ_GRP.engine_debug('Error Insert_rltd_lines'||SQLERRM);
1975: END IF;
1976: x_return_status := FND_API.G_RET_STS_ERROR;
1977: x_return_status_text := 'Error in QP_CLEANUP_ADJUSTMENTS.Insert_Rltd_Lines '||SQLERRM;
1978: END Insert_Rltd_Lines;
1979:
1980:
2643: d Pls_Integer;
2644: g Pls_Integer;
2645: n Pls_Integer;
2646:
2647: l_curr_line_index number := -1;--fnd_api.g_miss_num;
2648: l_auto_line_dtl_index_tbl qp_preq_grp.number_type;
2649: l_auto_override_dtl_id_tbl qp_preq_grp.number_type;
2650:
2651: l_adj_tbl QP_PREQ_PUB.adj_tbl_type;
2719: BEGIN
2720:
2721: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2722:
2723: IF l_debug = FND_API.G_TRUE THEN
2724: QP_PREQ_GRP.engine_debug('begin fetch adj event'||p_event_code);
2725: QP_PREQ_GRP.engine_debug('begin fetch adj reqtype '||p_request_type_code);
2726: --bug 3085453 handle pricing availability UI
2727: -- they pass reqtype ONT and insert adj into ldets
2766: G_PBH_PRICE_ADJ_ID.delete;
2767: G_PBH_PLSQL_IND.delete;
2768: G_ORD_LVL_LDET_INDEX.delete; -- 3031108
2769:
2770: IF l_debug = FND_API.G_TRUE THEN
2771: QP_PREQ_GRP.engine_debug('G_MAX_DTL_INDEX '||G_MAX_DTL_INDEX);
2772:
2773: END IF;
2774:
2793: l_manual_line_details_tbl.delete;
2794: FETCH check_manual_modifiers BULK COLLECT INTO l_manual_line_details_tbl LIMIT 5000;
2795: EXIT WHEN l_manual_line_details_tbl.COUNT = 0;
2796:
2797: IF (l_debug = FND_API.G_TRUE) THEN
2798: QP_PREQ_GRP.engine_debug('Duplicate manual override modifier count: '|| l_manual_line_details_tbl.COUNT);
2799: END IF;
2800:
2801: FORALL y IN l_manual_line_details_tbl.FIRST..l_manual_line_details_tbl.LAST
2806: END loop;
2807:
2808: CLOSE check_manual_modifiers;
2809:
2810: IF (l_debug = FND_API.G_TRUE) THEN
2811: QP_PREQ_GRP.engine_debug('DUPLICATE MANUAL-OVERR '||SQL%ROWCOUNT);
2812: END IF;
2813:
2814: -- bug 3359924 - AFTER APPLYING MANUAL PBH ENGINE RETURNS DUPLICATE RELATIONSHIP RECORDS
2820: from qp_npreq_ldets_tmp ldet
2821: where ldet.pricing_status_code = QP_PREQ_PUB.G_STATUS_DELETED
2822: and ldet.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_PUB.G_BY_PBH);
2823:
2824: IF (l_debug = FND_API.G_TRUE) THEN
2825: QP_PREQ_GRP.engine_debug('DUPLICATE MANUAL-OVERR '||SQL%ROWCOUNT);
2826: END IF;
2827:
2828: -- IF p_event_code IS NULL
2831:
2832: -- IF p_request_type_code = 'ONT'
2833: -- and p_view_code = 'ONTVIEW'
2834: -- THEN
2835: IF l_debug = FND_API.G_TRUE THEN
2836: -- QP_PREQ_GRP.engine_debug('open ONT cur'||p_request_type_code);
2837: QP_PREQ_GRP.engine_debug('open ONT cur'||QP_PREQ_PUB.G_CHECK_CUST_VIEW_FLAG);
2838: END IF;
2839:
2911: g := 0;
2912: l_prev_line_start_index := 0;
2913:
2914:
2915: IF l_debug = FND_API.G_TRUE THEN
2916: QP_PREQ_GRP.engine_debug('fetch cur');
2917: END IF;
2918:
2919:
2973: -- LIMIT nrows;
2974: EXIT WHEN l_list_line_id_tbl.COUNT = 0;
2975:
2976: IF l_list_line_id_tbl.COUNT > 0
2977: and QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
2978: and l_debug = FND_API.G_TRUE
2979: THEN
2980: for i in l_list_line_id_tbl.FIRST..l_list_line_id_tbl.LAST
2981: LOOP
2974: EXIT WHEN l_list_line_id_tbl.COUNT = 0;
2975:
2976: IF l_list_line_id_tbl.COUNT > 0
2977: and QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
2978: and l_debug = FND_API.G_TRUE
2979: THEN
2980: for i in l_list_line_id_tbl.FIRST..l_list_line_id_tbl.LAST
2981: LOOP
2982: IF l_debug = FND_API.G_TRUE THEN
2978: and l_debug = FND_API.G_TRUE
2979: THEN
2980: for i in l_list_line_id_tbl.FIRST..l_list_line_id_tbl.LAST
2981: LOOP
2982: IF l_debug = FND_API.G_TRUE THEN
2983: QP_PREQ_GRP.engine_debug('list_line_id '||l_list_line_id_tbl(i)||
2984: 'line index '||l_line_index_tbl(i)||' is ldet '||
2985: l_is_ldet_rec_tbl(i)||' linetype '||l_line_type_code_tbl(i) ||
2986: 'line detail type code ' || l_line_detail_type_code_tbl(i)||
2995: THEN
2996: FOR i IN l_list_line_id_tbl.FIRST..l_list_line_id_tbl.LAST
2997: LOOP
2998: d := d + 1;
2999: IF l_debug = FND_API.G_TRUE THEN
3000: QP_PREQ_GRP.engine_debug('adj_tbl count '||d);
3001: QP_PREQ_GRP.engine_debug('loop cur '||i);
3002:
3003: END IF;
3000: QP_PREQ_GRP.engine_debug('adj_tbl count '||d);
3001: QP_PREQ_GRP.engine_debug('loop cur '||i);
3002:
3003: END IF;
3004: IF QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE THEN
3005: qp_preq_grp.engine_debug('display details '
3006: ||l_list_line_id_tbl(i)||' line index '||l_line_index_tbl(i)
3007: ||' line detail index '||l_line_dtl_index_tbl(i)
3008: ||' auto '||l_automatic_flag_tbl(i)
3043: --added to check for duplicate list_line_ids
3044: /*
3045: l_dup_ind := l_line_index_tbl(i) + l_list_line_id_tbl(i);
3046:
3047: IF l_debug = FND_API.G_TRUE THEN
3048: QP_PREQ_GRP.engine_debug('Duplicate list line check '
3049: ||' line_index+list_line_id val: '||l_dup_ind);
3050: END IF;--l_debug
3051:
3049: ||' line_index+list_line_id val: '||l_dup_ind);
3050: END IF;--l_debug
3051:
3052: IF l_dup_updated_flag.exists(l_dup_ind) THEN
3053: IF l_debug = FND_API.G_TRUE THEN
3054: QP_PREQ_GRP.engine_debug('Duplicate list line exists ');
3055: END IF;--l_debug
3056:
3057: IF l_dup_updated_flag(l_dup_ind) = QP_PREQ_PUB.G_YES
3057: IF l_dup_updated_flag(l_dup_ind) = QP_PREQ_PUB.G_YES
3058: and l_updated_flag_tbl(i) = QP_PREQ_PUB.G_NO THEN
3059: --in this case the oe_price_adj record must be applied
3060: --so engine selected needs to be marked as deleted
3061: IF l_debug = FND_API.G_TRUE THEN
3062: QP_PREQ_GRP.engine_debug('Duplicate adj overridden ');
3063: END IF;--l_debug
3064: IF l_is_ldet_rec_tbl(i) in (QP_PREQ_PUB.G_LDET_ORDER_TYPE,
3065: QP_PREQ_PUB.G_LDET_LINE_TYPE) THEN
3062: QP_PREQ_GRP.engine_debug('Duplicate adj overridden ');
3063: END IF;--l_debug
3064: IF l_is_ldet_rec_tbl(i) in (QP_PREQ_PUB.G_LDET_ORDER_TYPE,
3065: QP_PREQ_PUB.G_LDET_LINE_TYPE) THEN
3066: IF l_debug = FND_API.G_TRUE THEN
3067: QP_PREQ_GRP.engine_debug('Marking non-overrdn adj '
3068: ||'as deleted ');
3069: END IF;--l_debug
3070: l_status_code_tbl(i) := QP_PREQ_PUB.G_STATUS_DELETED;
3076: l_adj_tbl(l_dup_plsql_ind(l_dup_ind)).pricing_status_code
3077: := QP_PREQ_PUB.G_STATUS_DELETED;
3078: l_adj_tbl(l_dup_plsql_ind(l_dup_ind)).pricing_status_text
3079: := 'DUPLICATE MODIFIER PICKED UP';
3080: IF l_debug = FND_API.G_TRUE THEN
3081: QP_PREQ_GRP.engine_debug('Marking prev overdn deltd ');
3082: END IF;--l_debug
3083: --replace l_dup values w/current values
3084: l_dup_updated_flag(l_dup_ind) := l_updated_flag_tbl(i);
3086: l_dup_plsql_ind(l_dup_ind) := d;
3087: ELSE --updated_flag is 'N'
3088: --in this case the engine selected record must be applied
3089: --so adj from oe_price_adj needs to be marked as deleted
3090: IF l_debug = FND_API.G_TRUE THEN
3091: QP_PREQ_GRP.engine_debug('Duplicate adj not overridden ');
3092: QP_PREQ_GRP.engine_debug('Prev adj is_ldet: '
3093: ||l_dup_is_ldet_rec(l_dup_ind));
3094: QP_PREQ_GRP.engine_debug('Current adj is_ldet: '
3103: --mark the current record as deleted as
3104: --it is from oe_price_adj
3105: l_status_code_tbl(i) := QP_PREQ_PUB.G_STATUS_DELETED;
3106: l_status_text_tbl(i) := 'DUPLICATE MODIFIER PICKED UP';
3107: IF l_debug = FND_API.G_TRUE THEN
3108: QP_PREQ_GRP.engine_debug('Marking curr adj deleted ');
3109: END IF;--l_debug
3110: ELSIF l_is_ldet_rec_tbl(i) in
3111: (QP_PREQ_PUB.G_LDET_ORDER_TYPE,
3120: --replace l_dup values w/current values
3121: l_dup_updated_flag(l_dup_ind) := l_updated_flag_tbl(i);
3122: l_dup_is_ldet_rec(l_dup_ind) := l_is_ldet_rec_tbl(i);
3123: l_dup_plsql_ind(l_dup_ind) := d;
3124: IF l_debug = FND_API.G_TRUE THEN
3125: QP_PREQ_GRP.engine_debug('Marking prev adj deleted ');
3126: END IF;--l_debug
3127: ELSE--both the records have same is_ldet so delete one
3128: l_status_code_tbl(i) := QP_PREQ_PUB.G_STATUS_DELETED;
3126: END IF;--l_debug
3127: ELSE--both the records have same is_ldet so delete one
3128: l_status_code_tbl(i) := QP_PREQ_PUB.G_STATUS_DELETED;
3129: l_status_text_tbl(i) := 'DUPLICATE MODIFIER PICKED UP';
3130: IF l_debug = FND_API.G_TRUE THEN
3131: QP_PREQ_GRP.engine_debug('Marking else curr adj deltd');
3132: END IF;--l_debug
3133: END IF;--l_is_ldet_rec_tbl(i)
3134: END IF;--l_dup_updated_flag
3158: --for bug2897524 retain line_quantity for zerounitprice
3159: IF (l_adj_tbl(d).priced_quantity = 0
3160: and l_adj_tbl(d).unit_price <> 0)
3161: THEN
3162: IF l_debug = FND_API.G_TRUE THEN
3163: QP_PREQ_GRP.engine_debug('ldet.line_qty is zero');
3164: END IF;
3165: l_adj_tbl(d).priced_quantity := null;
3166: ELSE
3163: QP_PREQ_GRP.engine_debug('ldet.line_qty is zero');
3164: END IF;
3165: l_adj_tbl(d).priced_quantity := null;
3166: ELSE
3167: IF l_debug = FND_API.G_TRUE THEN
3168: QP_PREQ_GRP.engine_debug('ldet.line_qty not zero');
3169: END IF;
3170: END IF;
3171: l_adj_tbl(d).line_priced_quantity := l_line_priced_qty_tbl(i);
3225:
3226: IF l_curr_line_index <> l_line_index_tbl(i)
3227: THEN
3228: l_prev_line_start_index := i;
3229: IF l_debug = FND_API.G_TRUE THEN
3230: qp_preq_grp.engine_debug('auto_overr: new line');
3231: END IF; --Bug No 4033618
3232: l_curr_line_index := l_line_index_tbl(i);
3233: x := 0;
3265: l_auto_line_dtl_index_tbl(x) := l_line_dtl_index_tbl(i);
3266: l_auto_override_dtl_id_tbl(x) := l_list_line_id_tbl(i);
3267: -- l_adj_tbl(d).pricing_status_code :=
3268: -- QP_PREQ_PUB.G_STATUS_UPDATED;
3269: IF l_debug = FND_API.G_TRUE THEN
3270: qp_preq_grp.engine_debug('auto_overr: from adj tbl '
3271: ||l_line_dtl_index_tbl(i)||' adj id '
3272: ||l_list_line_id_tbl(i));
3273: END IF; --Bug No 4033618
3288: and nvl(l_applied_flag_tbl(i),QP_PREQ_PUB.G_NO) =
3289: QP_PREQ_PUB.G_NO))
3290: */
3291: THEN
3292: IF l_debug = FND_API.G_TRUE THEN
3293: qp_preq_grp.engine_debug('auto_overr: from ldet tbl '
3294: ||l_adj_tbl(d).created_from_list_line_id
3295: ||' adj index '||l_adj_tbl(d).line_detail_index);
3296: END IF; --Bug No 4033618
3297: m := l_auto_line_dtl_index_tbl.FIRST;
3298: WHILE (m IS NOT NULL
3299: and l_auto_line_dtl_index_tbl.COUNT > 0)
3300: LOOP
3301: IF l_debug = FND_API.G_TRUE THEN
3302: qp_preq_grp.engine_debug('auto_overr: from auto_ov tbl '
3303: ||m||' adj id '||l_auto_override_dtl_id_tbl(m)
3304: ||' dtl index '||l_auto_line_dtl_index_tbl(m));
3305: END IF; --Bug No 4033618
3305: END IF; --Bug No 4033618
3306: IF l_list_line_id_tbl(i) =
3307: l_auto_override_dtl_id_tbl(m)
3308: THEN
3309: IF l_debug = FND_API.G_TRUE THEN
3310: QP_PREQ_GRP.engine_debug('duplicate hit'
3311: ||' '||l_list_line_id_tbl(i));
3312: END IF;
3313: l_adj_tbl(d).pricing_status_code :=
3336: When OTHERS Then
3337: QP_PREQ_PUB.G_pbhvolattr_attribute(l_adj_tbl(d).created_from_list_line_id) := null;
3338: END;
3339:
3340: IF l_debug = FND_API.G_TRUE THEN
3341: QP_PREQ_GRP.engine_debug(' PBH vol attr for list_line_id '
3342: ||l_adj_tbl(d).created_from_list_line_id||' attr '
3343: ||QP_PREQ_PUB.G_pbhvolattr_attribute(l_adj_tbl(d).created_from_list_line_id));
3344: END IF;--l_debug
3387: l_line_dtl_index_tbl(i);
3388: G_PBH_PLSQL_IND(mod(l_line_dtl_index_tbl(i),G_BINARY_LIMIT)) := --8744755
3389: G_PBH_LINE_INDEX.COUNT;
3390: END IF;--l_adj_tbl(d).created_from_list_line_type
3391: IF l_debug = FND_API.G_TRUE THEN
3392: QP_PREQ_GRP.engine_debug('figuring out line_dtl_index '
3393: ||l_adj_tbl(d).line_detail_index);
3394: END IF;--l_debug
3395: END IF;--nvl(l_adj_tbl(d).is_ldet_rec
3395: END IF;--nvl(l_adj_tbl(d).is_ldet_rec
3396:
3397:
3398:
3399: IF l_debug = FND_API.G_TRUE THEN
3400: QP_PREQ_GRP.engine_debug('load tbl'||l_adj_tbl(d).line_detail_index
3401: ||' list_line_id '||l_adj_tbl(d).created_from_list_line_id
3402: ||' list_hdr_id '||l_adj_tbl(d).created_from_list_header_id
3403: ||' line dtl index '||l_adj_tbl(d).line_detail_index
3411:
3412: /*
3413: i := l_adj_tbl.NEXT(l_prev_line_start_index-1);
3414: g := 0;
3415: IF l_debug = FND_API.G_TRUE THEN
3416: QP_PREQ_GRP.engine_debug('last line starts at '||l_prev_line_start_index);
3417: END IF;
3418: WHILE i IS NOT NULL
3419: LOOP
3424:
3425: l_adj_tbl.delete(l_prev_line_start_index,l_adj_tbl.COUNT);
3426:
3427: IF l_adj_tbl.COUNT > 0
3428: and QP_PREQ_GRP.G_DEBUG_ENGINE = FND_API.G_TRUE
3429: THEN
3430: i := l_adj_tbl.first;
3431: WHILE i IS NOT NULL
3432: LOOP
3429: THEN
3430: i := l_adj_tbl.first;
3431: WHILE i IS NOT NULL
3432: LOOP
3433: IF l_debug = FND_API.G_TRUE THEN
3434: QP_PREQ_GRP.engine_debug('list_line_id '||l_adj_tbl(i).line_detail_index);--||
3435: END IF;
3436: i := l_adj_tbl.next(i);
3437: END LOOP;
3439: */
3440: n:=G_PBH_LINE_DTL_INDEX.FIRST;
3441: WHILE n IS NOT NULL
3442: LOOP
3443: IF l_debug = FND_API.G_TRUE THEN
3444: QP_PREQ_GRP.engine_debug('G_PBH_LINE_DTL_INDEX loop '
3445: ||' lineindex '||G_PBH_LINE_INDEX(n)
3446: ||' price_adj_id '||G_PBH_PRICE_ADJ_ID(n)
3447: ||' linedtlind '||G_PBH_LINE_DTL_INDEX(n));
3465: QP_PREQ_PUB.Update_passed_in_pbh(x_return_status, x_return_status_text);
3466: */
3467: END IF;--p_request_type_code
3468:
3469: IF x_return_status = FND_API.G_RET_STS_ERROR
3470: THEN
3471: Raise Pricing_Exception;
3472: END IF;
3473:
3480: ,p_event_code => p_event_code
3481: ,p_adj_tbl => l_adj_tbl
3482: ,x_return_status => x_return_status
3483: ,x_return_status_text => x_return_status_text);
3484: IF x_return_status = FND_API.G_RET_STS_ERROR
3485: THEN
3486: Raise Pricing_Exception;
3487: END IF;
3488: END IF;
3493: -- IF p_request_type_code = 'ONT'
3494: -- and p_view_name = 'ONTVIEW'
3495: -- THEN
3496: CLOSE l_calculate_cur;
3497: IF l_debug = FND_API.G_TRUE THEN
3498: QP_PREQ_GRP.engine_debug('close cur');
3499: END IF;
3500: -- END IF;
3501:
3502: --commenting to do the delete at all times
3503: -- IF p_event_code = ','
3504: -- and p_calculate_flag = QP_PREQ_PUB.G_CALCULATE_ONLY
3505: -- THEN
3506: IF l_debug = FND_API.G_TRUE THEN
3507: QP_PREQ_GRP.engine_debug('deleting related lines');
3508: END IF;
3509: delete from qp_npreq_rltd_lines_tmp
3510: where pricing_status_code = QP_PREQ_PUB.G_STATUS_NEW
3509: delete from qp_npreq_rltd_lines_tmp
3510: where pricing_status_code = QP_PREQ_PUB.G_STATUS_NEW
3511: and relationship_type_code = QP_PREQ_PUB.G_PBH_LINE
3512: and pricing_status_text = G_CALC_INSERT;
3513: IF l_debug = FND_API.G_TRUE THEN
3514: QP_PREQ_GRP.engine_debug('deleted related lines '||SQL%ROWCOUNT);
3515: END IF;
3516: -- END IF;
3517:
3541: l_manual_line_details_tbl.delete;
3542: FETCH check_manual_modifiers BULK COLLECT INTO l_manual_line_details_tbl LIMIT 5000;
3543: EXIT WHEN l_manual_line_details_tbl.COUNT = 0;
3544:
3545: IF (l_debug = FND_API.G_TRUE) THEN
3546: QP_PREQ_GRP.engine_debug('Duplicate manual override modifier count: '|| l_manual_line_details_tbl.COUNT);
3547: END IF;
3548:
3549: FORALL y IN l_manual_line_details_tbl.FIRST..l_manual_line_details_tbl.LAST
3554: END loop;
3555:
3556: CLOSE check_manual_modifiers;
3557:
3558: IF (l_debug = FND_API.G_TRUE) THEN
3559: QP_PREQ_GRP.engine_debug('DUPLICATE MANUAL-OVERR '||SQL%ROWCOUNT);
3560: END IF;
3561:
3562: -- 4528043, mark any newly picked-up manual modifiers as 'deleted'
3572: AND automatic_flag = QP_PREQ_PUB.G_NO
3573: AND applied_flag = QP_PREQ_PUB.G_NO
3574: and updated_flag = QP_PREQ_PUB.G_NO; -- 5413797
3575:
3576: IF (l_debug = FND_API.G_TRUE) THEN
3577: QP_PREQ_GRP.engine_debug(SQL%ROWCOUNT||' new manual modifier(s) marked as DELETED');
3578: END IF;
3579: END IF;
3580:
3582: --the adjustments have changed
3583: QP_PREQ_PUB.Update_Line_Status(x_return_status,x_return_status_text);
3584:
3585:
3586: IF x_return_status = FND_API.G_RET_STS_ERROR
3587: THEN
3588: Raise Pricing_Exception;
3589: END IF;
3590:
3595: --if the line does not qualify for the only discount anymore, this
3596: --update needs to be done
3597: -- IF p_calculate_flag = QP_PREQ_PUB.G_CALCULATE_ONLY
3598: -- THEN
3599: IF l_debug = FND_API.G_TRUE THEN
3600: QP_PREQ_GRP.engine_debug('calculate_only call check to see'
3601: ||' if there are adjustments');
3602: END IF;
3603: QP_PREQ_PUB.update_unit_price(x_return_status,
3602: END IF;
3603: QP_PREQ_PUB.update_unit_price(x_return_status,
3604: x_return_status_text);
3605:
3606: IF x_return_status = FND_API.G_RET_STS_ERROR
3607: THEN
3608: Raise Pricing_Exception;
3609: END IF;
3610: -- END IF;--p_calculate_flag
3616: p_request_type_code,
3617: l_cleanup_flag,
3618: x_return_status,
3619: x_return_status_text);
3620: IF x_return_status = FND_API.G_RET_STS_ERROR
3621: THEN
3622: Raise Pricing_Exception;
3623: END IF;
3624: END IF;--l_cleanup_flag
3629: -- they pass reqtype ONT and insert adj into ldets
3630: IF QP_PREQ_PUB.G_CHECK_CUST_VIEW_FLAG = QP_PREQ_PUB.G_YES THEN
3631: Populate_Price_Adj_ID(x_return_status,x_return_status_text);
3632:
3633: IF x_return_status = FND_API.G_RET_STS_ERROR
3634: THEN
3635: Raise Pricing_Exception;
3636: END IF;
3637: END IF;--QP_PREQ_PUB.G_REQUEST_TYPE_CODE
3641: THEN
3642: QP_PREQ_PUB.check_gsa_violation(
3643: x_return_status => x_return_status,
3644: x_return_status_text => x_return_status_text);
3645: IF x_return_status = FND_API.G_RET_STS_ERROR
3646: THEN
3647: Raise Pricing_Exception;
3648: END IF;
3649: END IF;--GSA_INDICATOR
3649: END IF;--GSA_INDICATOR
3650:
3651:
3652:
3653: IF l_debug = FND_API.G_TRUE THEN
3654: QP_PREQ_GRP.engine_debug('end fetch adjustments');
3655:
3656:
3657: END IF;
3656:
3657: END IF;
3658: EXCEPTION
3659: When PRICING_EXCEPTION Then
3660: x_return_status := FND_API.G_RET_STS_ERROR;
3661: IF l_debug = FND_API.G_TRUE THEN
3662: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||SQLERRM);
3663: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||x_return_status_text);
3664: END IF;
3657: END IF;
3658: EXCEPTION
3659: When PRICING_EXCEPTION Then
3660: x_return_status := FND_API.G_RET_STS_ERROR;
3661: IF l_debug = FND_API.G_TRUE THEN
3662: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||SQLERRM);
3663: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||x_return_status_text);
3664: END IF;
3665: When OTHERS Then
3662: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||SQLERRM);
3663: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||x_return_status_text);
3664: END IF;
3665: When OTHERS Then
3666: x_return_status := FND_API.G_RET_STS_ERROR;
3667: x_return_status_text := 'Error in fetch_adjustments: '||SQLERRM;
3668: IF l_debug = FND_API.G_TRUE THEN
3669: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||SQLERRM);
3670: END IF;
3664: END IF;
3665: When OTHERS Then
3666: x_return_status := FND_API.G_RET_STS_ERROR;
3667: x_return_status_text := 'Error in fetch_adjustments: '||SQLERRM;
3668: IF l_debug = FND_API.G_TRUE THEN
3669: QP_PREQ_GRP.engine_debug('error in fetch_adjustments: '||SQLERRM);
3670: END IF;
3671: END fetch_adjustments;
3672: