DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_PRICING_CORE_PVT

Source


1 PACKAGE BODY ASO_PRICING_CORE_PVT as
2 /* $Header: asovpcob.pls 120.15 2008/03/18 05:20:25 rassharm ship $ */
3 -- Start of Comments
4 -- Package name     : ASO_PRICING_CORE_PVT
5 -- Purpose          :
6 -- History          :
7 --             120.13.12000000.2	02/07/2007     gkeshava - Fix for perf bug 5614878
8 -- NOTE             :
9 -- End of Comments
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30)  := 'ASO_PRICING_CORE_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovpcob.pls';
13 --G_ADJ_NUM   CONSTANT NUMBER := 999;
14 
15 PROCEDURE Initialize_Global_Tables
16 IS
17 BEGIN
18 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
19    aso_debug_pub.add('ASO_PRICING_CORE_PVT: Begin Initializing All the Globals',1,'Y');
20 END IF;
21 
22 G_LINE_INDEX_tbl.delete;
23 G_LINE_TYPE_CODE_TBL.delete;
24 G_PRICING_EFFECTIVE_DATE_TBL.delete;
25 G_ACTIVE_DATE_FIRST_TBL.delete;
26 G_ACTIVE_DATE_FIRST_TYPE_TBL.delete;
27 G_ACTIVE_DATE_SECOND_TBL.delete;
28 G_ACTIVE_DATE_SECOND_TYPE_TBL.delete;
29 G_LINE_QUANTITY_TBL.delete;
30 G_LINE_UOM_CODE_TBL.delete;
31 G_REQUEST_TYPE_CODE_TBL.delete;
32 G_PRICED_QUANTITY_TBL.delete;
33 G_UOM_QUANTITY_TBL.delete;
34 G_PRICED_UOM_CODE_TBL.delete;
35 G_CURRENCY_CODE_TBL.delete;
36 G_UNIT_PRICE_TBL.delete;
37 G_PERCENT_PRICE_TBL.delete;
38 G_ADJUSTED_UNIT_PRICE_TBL.delete;
39 G_UPD_ADJUSTED_UNIT_PRICE_TBL.delete;
40 G_PROCESSED_FLAG_TBL.delete;
41 G_PRICE_FLAG_TBL.delete;
42 G_LINE_ID_TBL.delete;
43 G_PROCESSING_ORDER_TBL.delete;
44 G_ROUNDING_FACTOR_TBL.delete;
45 G_ROUNDING_FLAG_TBL.delete;
46 G_QUALIFIERS_EXIST_FLAG_TBL.delete;
47 G_PRICING_ATTRS_EXIST_FLAG_TBL.delete;
48 G_PRICE_LIST_ID_TBL.delete;
49 G_PL_VALIDATED_FLAG_TBL.delete;
50 G_PRICE_REQUEST_CODE_TBL.delete;
51 G_USAGE_PRICING_TYPE_TBL.delete;
52 G_LINE_CATEGORY_TBL.delete;
53 G_PRICING_STATUS_CODE_tbl.delete;
54 G_PRICING_STATUS_TEXT_tbl.delete;
55 G_CHRG_PERIODICITY_CODE_TBL.delete;
56 /* Changes Made for OKS uptake bug 4900084  */
57 G_CONTRACT_START_DATE_TBL.delete;
58 G_CONTRACT_END_DATE_TBL.delete;
59 
60 G_ATTR_LINE_INDEX_tbl.delete;
61 G_ATTR_LINE_DETAIL_INDEX_tbl.delete;
62 G_ATTR_VALIDATED_FLAG_tbl.delete;
63 G_ATTR_PRICING_CONTEXT_tbl.delete;
64 G_ATTR_PRICING_ATTRIBUTE_tbl.delete;
65 G_ATTR_ATTRIBUTE_LEVEL_tbl.delete;
66 G_ATTR_ATTRIBUTE_TYPE_tbl.delete;
67 G_ATTR_APPLIED_FLAG_tbl.delete;
68 G_ATTR_PRICING_STATUS_CODE_tbl.delete;
69 G_ATTR_PRICING_ATTR_FLAG_tbl.delete;
70 G_ATTR_LIST_HEADER_ID_tbl.delete;
71 G_ATTR_LIST_LINE_ID_tbl.delete;
72 G_ATTR_VALUE_FROM_tbl.delete;
73 G_ATTR_SETUP_VALUE_FROM_tbl.delete;
74 G_ATTR_VALUE_TO_tbl.delete;
75 G_ATTR_SETUP_VALUE_TO_tbl.delete;
76 G_ATTR_GROUPING_NUMBER_tbl.delete;
77 G_ATTR_NO_QUAL_IN_GRP_tbl.delete;
78 G_ATTR_COMP_OPERATOR_TYPE_tbl.delete;
79 G_ATTR_PRICING_STATUS_TEXT_tbl.delete;
80 G_ATTR_QUAL_PRECEDENCE_tbl.delete;
81 G_ATTR_DATATYPE_tbl.delete;
82 G_ATTR_QUALIFIER_TYPE_tbl.delete;
83 G_ATTR_PRODUCT_UOM_CODE_TBL.delete;
84 G_ATTR_EXCLUDER_FLAG_TBL.delete;
85 G_ATTR_PRICING_PHASE_ID_TBL.delete;
86 G_ATTR_INCOM_GRP_CODE_TBL.delete;
87 G_ATTR_LDET_TYPE_CODE_TBL.delete;
88 G_ATTR_MODIFIER_LEVEL_CODE_TBL.delete;
89 G_ATTR_PRIMARY_UOM_FLAG_TBL.delete;
90 
91 G_LDET_LINE_DTL_INDEX_TBL.delete;
92 G_LDET_PRICE_ADJ_ID_TBL.delete;
93 G_LDET_LINE_DTL_TYPE_TBL.delete;
94 G_LDET_PRICE_BREAK_TYPE_TBL.delete;
95 G_LDET_LIST_PRICE_TBL.delete;
96 G_LDET_LINE_INDEX_TBL.delete;
97 G_LDET_LIST_HEADER_ID_TBL.delete;
98 G_LDET_LIST_LINE_ID_TBL.delete;
99 G_LDET_LIST_LINE_TYPE_TBL.delete;
100 G_LDET_LIST_TYPE_CODE_TBL.delete;
101 G_LDET_CREATED_FROM_SQL_TBL.delete;
102 G_LDET_PRICING_GRP_SEQ_TBL.delete;
103 G_LDET_PRICING_PHASE_ID_TBL.delete;
104 G_LDET_OPERAND_CALC_CODE_TBL.delete;
105 G_LDET_OPERAND_VALUE_TBL.delete;
106 G_LDET_SUBSTN_TYPE_TBL.delete;
107 G_LDET_SUBSTN_VALUE_FROM_TBL.delete;
108 G_LDET_SUBSTN_VALUE_TO_TBL.delete;
109 G_LDET_ASK_FOR_FLAG_TBL.delete;
110 G_LDET_PRICE_FORMULA_ID_TBL.delete;
111 G_LDET_PRICING_STATUS_CODE_TBL.delete;
112 G_LDET_PRICING_STATUS_TXT_TBL.delete;
113 G_LDET_PRODUCT_PRECEDENCE_TBL.delete;
114 G_LDET_INCOMPAT_GRP_CODE_TBL.delete;
115 G_LDET_PROCESSED_FLAG_TBL.delete;
116 G_LDET_APPLIED_FLAG_TBL.delete;
117 G_LDET_AUTOMATIC_FLAG_TBL.delete;
118 G_LDET_OVERRIDE_FLAG_TBL.delete;
119 G_LDET_PRIMARY_UOM_FLAG_TBL.delete;
120 G_LDET_PRINT_ON_INV_FLAG_TBL.delete;
121 G_LDET_MODIFIER_LEVEL_TBL.delete;
122 G_LDET_BENEFIT_QTY_TBL.delete;
123 G_LDET_BENEFIT_UOM_CODE_TBL.delete;
124 G_LDET_LIST_LINE_NO_TBL.delete;
125 G_LDET_ACCRUAL_FLAG_TBL.delete;
126 G_LDET_ACCR_CONV_RATE_TBL.delete;
127 G_LDET_ESTIM_ACCR_RATE_TBL.delete;
128 G_LDET_RECURRING_FLAG_TBL.delete;
129 G_LDET_SELECTED_VOL_ATTR_TBL.delete;
130 G_LDET_ROUNDING_FACTOR_TBL.delete;
131 G_LDET_HDR_LIMIT_EXISTS_TBL.delete;
132 G_LDET_LINE_LIMIT_EXISTS_TBL.delete;
133 G_LDET_CHARGE_TYPE_TBL.delete;
134 G_LDET_CHARGE_SUBTYPE_TBL.delete;
135 G_LDET_CURRENCY_DTL_ID_TBL.delete;
136 G_LDET_CURRENCY_HDR_ID_TBL.delete;
137 G_LDET_SELLING_ROUND_TBL.delete;
138 G_LDET_ORDER_CURRENCY_TBL.delete;
139 G_LDET_PRICING_EFF_DATE_TBL.delete;
140 G_LDET_BASE_CURRENCY_TBL.delete;
141 G_LDET_LINE_QUANTITY_TBL.delete;
142 G_LDET_UPDATED_FLAG_TBL.delete;
143 G_LDET_CALC_CODE_TBL.delete;
144 G_LDET_CHG_REASON_CODE_TBL.delete;
145 G_LDET_CHG_REASON_TEXT_TBL.delete;
146 
147 G_RLTD_LINE_INDEX_TBL.delete;
148 G_RLTD_LINE_DTL_INDEX_TBL.delete;
149 G_RLTD_RELATION_TYPE_CODE_TBL.delete;
150 G_RLTD_RELATED_LINE_IND_TBL.delete;
151 G_RLTD_RLTD_LINE_DTL_IND_TBL.delete;
152 G_RLTD_LST_LN_ID_DEF_TBL.delete;
153 G_RLTD_RLTD_LST_LN_ID_DEF_TBL.delete;
154 
155 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
156    aso_debug_pub.add('ASO_PRICING_CORE_PVT: End Initializing All the Globals',1,'Y');
157 END IF;
158 
159 END Initialize_Global_Tables;
160 
161 FUNCTION Set_Global_Rec (
162     p_qte_header_rec      ASO_QUOTE_PUB.Qte_Header_Rec_Type,
163     p_shipment_rec        ASO_QUOTE_PUB.Shipment_Rec_Type)
164 RETURN ASO_PRICING_INT.PRICING_HEADER_REC_TYPE
165 IS
166     l_header_rec    ASO_PRICING_INT.PRICING_HEADER_REC_TYPE;
167 BEGIN
168     l_header_rec.QUOTE_HEADER_ID := p_qte_header_rec.QUOTE_HEADER_ID;
169     l_header_rec.CREATION_DATE := p_qte_header_rec.CREATION_DATE;
170     l_header_rec.CREATED_BY := p_qte_header_rec.CREATED_BY;
171     l_header_rec.LAST_UPDATE_DATE := p_qte_header_rec.LAST_UPDATE_DATE;
172     l_header_rec.LAST_UPDATED_BY := p_qte_header_rec.LAST_UPDATED_BY;
173     l_header_rec.LAST_UPDATE_LOGIN := p_qte_header_rec.LAST_UPDATE_LOGIN;
174     l_header_rec.REQUEST_ID := p_qte_header_rec.REQUEST_ID;
175     l_header_rec.PROGRAM_APPLICATION_ID := p_qte_header_rec.PROGRAM_APPLICATION_ID;
176     l_header_rec.PROGRAM_ID := p_qte_header_rec.PROGRAM_ID;
177     l_header_rec.PROGRAM_UPDATE_DATE := p_qte_header_rec.PROGRAM_UPDATE_DATE;
178     l_header_rec.ORG_ID := p_qte_header_rec.ORG_ID;
179     l_header_rec.QUOTE_NAME := p_qte_header_rec.QUOTE_NAME;
180     l_header_rec.QUOTE_NUMBER := p_qte_header_rec.QUOTE_NUMBER;
181     l_header_rec.QUOTE_VERSION := p_qte_header_rec.QUOTE_VERSION;
182     l_header_rec.QUOTE_STATUS_ID := p_qte_header_rec.QUOTE_STATUS_ID;
183     l_header_rec.QUOTE_SOURCE_CODE := p_qte_header_rec.QUOTE_SOURCE_CODE;
184     l_header_rec.QUOTE_EXPIRATION_DATE := p_qte_header_rec.QUOTE_EXPIRATION_DATE;
185     l_header_rec.PRICE_FROZEN_DATE := p_qte_header_rec.PRICE_FROZEN_DATE;
186     l_header_rec.QUOTE_PASSWORD := p_qte_header_rec.QUOTE_PASSWORD;
187     l_header_rec.ORIGINAL_SYSTEM_REFERENCE := p_qte_header_rec.ORIGINAL_SYSTEM_REFERENCE;
188     l_header_rec.CUST_PARTY_ID:= p_qte_header_rec.CUST_PARTY_ID;
189     l_header_rec.PARTY_ID := p_qte_header_rec.PARTY_ID;
190     l_header_rec.CUST_ACCOUNT_ID := p_qte_header_rec.CUST_ACCOUNT_ID;
191     l_header_rec.ORG_CONTACT_ID := p_qte_header_rec.ORG_CONTACT_ID;
192     l_header_rec.PHONE_ID := p_qte_header_rec.PHONE_ID;
193     l_header_rec.INVOICE_TO_PARTY_SITE_ID := p_qte_header_rec.INVOICE_TO_PARTY_SITE_ID;
194     l_header_rec.INVOICE_TO_PARTY_ID := p_qte_header_rec.INVOICE_TO_PARTY_ID;
195     l_header_rec.ORIG_MKTG_SOURCE_CODE_ID := p_qte_header_rec.ORIG_MKTG_SOURCE_CODE_ID;
196     l_header_rec.MARKETING_SOURCE_CODE_ID := p_qte_header_rec.MARKETING_SOURCE_CODE_ID;
197     l_header_rec.ORDER_TYPE_ID := p_qte_header_rec.ORDER_TYPE_ID;
198     l_header_rec.QUOTE_CATEGORY_CODE := p_qte_header_rec.QUOTE_CATEGORY_CODE;
199     l_header_rec.ORDERED_DATE := p_qte_header_rec.ORDERED_DATE;
200     l_header_rec.ACCOUNTING_RULE_ID := p_qte_header_rec.ACCOUNTING_RULE_ID;
201     l_header_rec.INVOICING_RULE_ID := p_qte_header_rec.INVOICING_RULE_ID;
202     l_header_rec.EMPLOYEE_PERSON_ID := p_qte_header_rec.EMPLOYEE_PERSON_ID;
203     l_header_rec.PRICE_LIST_ID := p_qte_header_rec.PRICE_LIST_ID;
204     l_header_rec.CURRENCY_CODE := p_qte_header_rec.CURRENCY_CODE;
205     l_header_rec.TOTAL_LIST_PRICE := p_qte_header_rec.TOTAL_LIST_PRICE;
206     l_header_rec.TOTAL_ADJUSTED_AMOUNT := p_qte_header_rec.TOTAL_ADJUSTED_AMOUNT;
207     l_header_rec.TOTAL_ADJUSTED_PERCENT := p_qte_header_rec.TOTAL_ADJUSTED_PERCENT;
208     l_header_rec.TOTAL_TAX := p_qte_header_rec.TOTAL_TAX;
209     l_header_rec.TOTAL_SHIPPING_CHARGE := p_qte_header_rec.TOTAL_SHIPPING_CHARGE;
210     l_header_rec.SURCHARGE := p_qte_header_rec.SURCHARGE;
211     l_header_rec.TOTAL_QUOTE_PRICE := p_qte_header_rec.TOTAL_QUOTE_PRICE;
212     l_header_rec.PAYMENT_AMOUNT := p_qte_header_rec.PAYMENT_AMOUNT;
213     l_header_rec.CONTRACT_ID := p_qte_header_rec.CONTRACT_ID;
214     l_header_rec.SALES_CHANNEL_CODE := p_qte_header_rec.SALES_CHANNEL_CODE;
215     l_header_rec.ORDER_ID := p_qte_header_rec.ORDER_ID;
216     l_header_rec.RECALCULATE_FLAG := p_qte_header_rec.RECALCULATE_FLAG;
217     l_header_rec.ATTRIBUTE_CATEGORY := p_qte_header_rec.ATTRIBUTE_CATEGORY;
218     l_header_rec.ATTRIBUTE1 := p_qte_header_rec.ATTRIBUTE1;
219     l_header_rec.ATTRIBUTE2 := p_qte_header_rec.ATTRIBUTE2;
220     l_header_rec.ATTRIBUTE3 := p_qte_header_rec.ATTRIBUTE3;
221     l_header_rec.ATTRIBUTE4 := p_qte_header_rec.ATTRIBUTE4;
222     l_header_rec.ATTRIBUTE5 := p_qte_header_rec.ATTRIBUTE5;
223     l_header_rec.ATTRIBUTE6 := p_qte_header_rec.ATTRIBUTE6;
224     l_header_rec.ATTRIBUTE7 := p_qte_header_rec.ATTRIBUTE7;
225     l_header_rec.ATTRIBUTE8 := p_qte_header_rec.ATTRIBUTE8;
226     l_header_rec.ATTRIBUTE9 := p_qte_header_rec.ATTRIBUTE9;
227     l_header_rec.ATTRIBUTE10 := p_qte_header_rec.ATTRIBUTE10;
228     l_header_rec.ATTRIBUTE11 := p_qte_header_rec.ATTRIBUTE11;
229     l_header_rec.ATTRIBUTE12 := p_qte_header_rec.ATTRIBUTE12;
230     l_header_rec.ATTRIBUTE13 := p_qte_header_rec.ATTRIBUTE13;
231     l_header_rec.ATTRIBUTE14 := p_qte_header_rec.ATTRIBUTE14;
232     l_header_rec.ATTRIBUTE15 := p_qte_header_rec.ATTRIBUTE15;
233     l_header_rec.PROMISE_DATE := p_shipment_rec.PROMISE_DATE;
234     l_header_rec.REQUEST_DATE := p_shipment_rec.REQUEST_DATE;
235     l_header_rec.SCHEDULE_SHIP_DATE := p_shipment_rec.SCHEDULE_SHIP_DATE;
236     l_header_rec.SHIP_TO_PARTY_SITE_ID := p_shipment_rec.SHIP_TO_PARTY_SITE_ID;
237     l_header_rec.SHIP_TO_PARTY_ID := p_shipment_rec.SHIP_TO_PARTY_ID;
238     l_header_rec.SHIP_PARTIAL_FLAG := p_shipment_rec.SHIP_PARTIAL_FLAG;
239     l_header_rec.SHIP_SET_ID := p_shipment_rec.SHIP_SET_ID;
240     l_header_rec.SHIP_METHOD_CODE := p_shipment_rec.SHIP_METHOD_CODE;
241     l_header_rec.FREIGHT_TERMS_CODE := p_shipment_rec.FREIGHT_TERMS_CODE;
242     l_header_rec.FREIGHT_CARRIER_CODE := p_shipment_rec.FREIGHT_CARRIER_CODE;
243     l_header_rec.FOB_CODE := p_shipment_rec.FOB_CODE;
244     l_header_rec.SHIPPING_INSTRUCTIONS := p_shipment_rec.SHIPPING_INSTRUCTIONS;
245     l_header_rec.PACKING_INSTRUCTIONS := p_shipment_rec.PACKING_INSTRUCTIONS;
246     l_header_rec.EXCHANGE_TYPE_CODE := p_qte_header_rec.EXCHANGE_TYPE_CODE;
247     l_header_rec.EXCHANGE_RATE_DATE := p_qte_header_rec.EXCHANGE_RATE_DATE;
248     l_header_rec.EXCHANGE_RATE := p_qte_header_rec.EXCHANGE_RATE;
249     l_header_rec.MINISITE_ID := p_qte_header_rec.MINISITE_ID;
250     return l_header_rec;
251 END Set_Global_Rec;
252 
253 FUNCTION Set_Global_Rec (
254     p_qte_line_rec        ASO_QUOTE_PUB.Qte_Line_Rec_Type,
255     p_qte_line_dtl_rec    ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type,
256     p_shipment_rec        ASO_QUOTE_PUB.Shipment_Rec_Type)
257 RETURN ASO_PRICING_INT.PRICING_LINE_REC_TYPE
258 IS
259     l_line_rec    ASO_PRICING_INT.PRICING_LINE_REC_TYPE;
260     l_inventory_item_id NUMBER;
261 
262     /*Cursor to obtain the top model inventory item id*/
263     CURSOR C_top_model_item_id(p_config_hdr_id NUMBER, p_rev_num NUMBER) IS
264         SELECT qte.inventory_item_id
265         FROM aso_quote_line_details line_dtl
266              ,aso_quote_lines_all qte
267         WHERE qte.quote_line_id = line_dtl.quote_line_id
268         AND line_dtl.config_header_id = p_config_hdr_id
269         AND line_dtl.config_revision_num = p_rev_num
270         AND line_dtl.ref_type_code = 'CONFIG'
271         AND line_dtl.ref_line_id is null;
272 BEGIN
273     l_line_rec.quote_line_id := p_qte_line_rec.quote_line_id;
274     l_line_rec.CREATION_DATE := p_qte_line_rec.CREATION_DATE;
275     l_line_rec.CREATED_BY := p_qte_line_rec.CREATED_BY;
276     l_line_rec.LAST_UPDATE_DATE := p_qte_line_rec.LAST_UPDATE_DATE;
277     l_line_rec.LAST_UPDATED_BY := p_qte_line_rec.LAST_UPDATED_BY;
278     l_line_rec.LAST_UPDATE_LOGIN := p_qte_line_rec.LAST_UPDATE_LOGIN;
279     l_line_rec.REQUEST_ID := p_qte_line_rec.REQUEST_ID;
280     l_line_rec.PROGRAM_APPLICATION_ID := p_qte_line_rec.PROGRAM_APPLICATION_ID;
281     l_line_rec.PROGRAM_ID := p_qte_line_rec.PROGRAM_ID;
282     l_line_rec.PROGRAM_UPDATE_DATE := p_qte_line_rec.PROGRAM_UPDATE_DATE;
283     l_line_rec.quote_header_id := p_qte_line_rec.quote_header_id;
284     l_line_rec.ORG_ID := p_qte_line_rec.ORG_ID;
285     l_line_rec.LINE_CATEGORY_CODE := p_qte_line_rec.LINE_CATEGORY_CODE;
286     l_line_rec.ITEM_TYPE_CODE := p_qte_line_rec.ITEM_TYPE_CODE;
287     l_line_rec.LINE_NUMBER := p_qte_line_rec.LINE_NUMBER;
288     l_line_rec.START_DATE_ACTIVE := p_qte_line_rec.START_DATE_ACTIVE;
289     l_line_rec.END_DATE_ACTIVE := p_qte_line_rec.END_DATE_ACTIVE;
290     l_line_rec.ORDER_LINE_TYPE_ID := p_qte_line_rec.ORDER_LINE_TYPE_ID;
291     l_line_rec.INVOICE_TO_PARTY_SITE_ID := p_qte_line_rec.INVOICE_TO_PARTY_SITE_ID;
292     -- added for sourcing rule match on 06/06/01
293     If l_line_rec.INVOICE_TO_PARTY_SITE_ID is NULL
294        OR l_line_rec.INVOICE_TO_PARTY_SITE_ID = fnd_api.g_miss_num then
295           l_line_rec.INVOICE_TO_PARTY_SITE_ID := ASO_PRICING_INT.G_HEADER_REC.INVOICE_TO_PARTY_SITE_ID;
296     End if;
297     l_line_rec.INVOICE_TO_PARTY_ID := p_qte_line_rec.INVOICE_TO_PARTY_ID;
298     l_line_rec.ORGANIZATION_ID := p_qte_line_rec.ORGANIZATION_ID;
299     l_line_rec.INVENTORY_ITEM_ID := p_qte_line_rec.INVENTORY_ITEM_ID;
300     l_line_rec.QUANTITY := p_qte_line_rec.QUANTITY;
301     l_line_rec.UOM_CODE := p_qte_line_rec.UOM_CODE;
302     l_line_rec.MARKETING_SOURCE_CODE_ID := p_qte_line_rec.MARKETING_SOURCE_CODE_ID;
303     l_line_rec.PRICE_LIST_ID := p_qte_line_rec.PRICE_LIST_ID;
304     -- added for sourcing rule match on 06/06/01
305     If (l_line_rec.PRICE_LIST_ID is NULL OR l_line_rec.PRICE_LIST_ID = fnd_api.g_miss_num) then
306        l_line_rec.PRICE_LIST_ID := ASO_PRICING_INT.G_HEADER_REC.PRICE_LIST_ID;
307     End If;
308 
309     If (NVL(p_qte_line_rec.PRICING_LINE_TYPE_INDICATOR,'X')  = 'F') then
310         l_line_rec.PRICE_LIST_ID := p_qte_line_rec.priced_price_list_id;
311     End If;
312     l_line_rec.PRICE_LIST_LINE_ID := p_qte_line_rec.PRICE_LIST_LINE_ID;
313     l_line_rec.CURRENCY_CODE := p_qte_line_rec.CURRENCY_CODE;
314     l_line_rec.LINE_LIST_PRICE := p_qte_line_rec.LINE_LIST_PRICE;
315     l_line_rec.LINE_ADJUSTED_AMOUNT := p_qte_line_rec.LINE_ADJUSTED_AMOUNT;
316     l_line_rec.LINE_ADJUSTED_PERCENT := p_qte_line_rec.LINE_ADJUSTED_PERCENT;
317     l_line_rec.LINE_QUOTE_PRICE := p_qte_line_rec.LINE_QUOTE_PRICE;
318     l_line_rec.RELATED_ITEM_ID := p_qte_line_rec.RELATED_ITEM_ID;
319     l_line_rec.ITEM_RELATIONSHIP_TYPE := p_qte_line_rec.ITEM_RELATIONSHIP_TYPE;
320     l_line_rec.ACCOUNTING_RULE_ID := p_qte_line_rec.ACCOUNTING_RULE_ID;
321     l_line_rec.INVOICING_RULE_ID := p_qte_line_rec.INVOICING_RULE_ID;
322     l_line_rec.SPLIT_SHIPMENT_FLAG := p_qte_line_rec.SPLIT_SHIPMENT_FLAG;
323     l_line_rec.BACKORDER_FLAG := p_qte_line_rec.BACKORDER_FLAG;
324     l_line_rec.INVOICE_TO_CUST_PARTY_ID := p_qte_line_rec.INVOICE_TO_CUST_PARTY_ID;
325     l_line_rec.RECALCULATE_FLAG := p_qte_line_rec.RECALCULATE_FLAG;
326     l_line_rec.SELLING_PRICE_CHANGE := p_qte_line_rec.SELLING_PRICE_CHANGE;
327     l_line_rec.PRICING_LINE_TYPE_INDICATOR := p_qte_line_rec.PRICING_LINE_TYPE_INDICATOR;
328     l_line_rec.MINISITE_ID := p_qte_line_rec.MINISITE_ID;
329     l_line_rec.AGREEMENT_ID := p_qte_line_rec.AGREEMENT_ID;
330     If (l_line_rec.AGREEMENT_ID is NULL OR l_line_rec.AGREEMENT_ID = fnd_api.g_miss_num) then
331 	  l_line_rec.AGREEMENT_ID := ASO_PRICING_INT.G_HEADER_REC.CONTRACT_ID;
332     End If;
333     l_line_rec.ATTRIBUTE_CATEGORY := p_qte_line_rec.ATTRIBUTE_CATEGORY;
334     l_line_rec.ATTRIBUTE1 := p_qte_line_rec.ATTRIBUTE1;
335     l_line_rec.ATTRIBUTE2 := p_qte_line_rec.ATTRIBUTE2;
336     l_line_rec.ATTRIBUTE3 := p_qte_line_rec.ATTRIBUTE3;
337     l_line_rec.ATTRIBUTE4 := p_qte_line_rec.ATTRIBUTE4;
338     l_line_rec.ATTRIBUTE5 := p_qte_line_rec.ATTRIBUTE5;
339     l_line_rec.ATTRIBUTE6 := p_qte_line_rec.ATTRIBUTE6;
340     l_line_rec.ATTRIBUTE7 := p_qte_line_rec.ATTRIBUTE7;
341     l_line_rec.ATTRIBUTE8 := p_qte_line_rec.ATTRIBUTE8;
342     l_line_rec.ATTRIBUTE9 := p_qte_line_rec.ATTRIBUTE9;
343     l_line_rec.ATTRIBUTE10 := p_qte_line_rec.ATTRIBUTE10;
344     l_line_rec.ATTRIBUTE11 := p_qte_line_rec.ATTRIBUTE11;
345     l_line_rec.ATTRIBUTE12 := p_qte_line_rec.ATTRIBUTE12;
346     l_line_rec.ATTRIBUTE13 := p_qte_line_rec.ATTRIBUTE13;
347     l_line_rec.ATTRIBUTE14 := p_qte_line_rec.ATTRIBUTE14;
348     l_line_rec.ATTRIBUTE15 := p_qte_line_rec.ATTRIBUTE15;
349     l_line_rec.CHARGE_PERIODICITY_CODE := p_qte_line_rec.CHARGE_PERIODICITY_CODE;
350     l_line_rec.PRICING_QUANTITY_UOM := p_qte_line_rec.PRICING_QUANTITY_UOM;
351     l_line_rec.PRICING_QUANTITY := p_qte_line_rec.PRICING_QUANTITY;
352 
353     l_line_rec.CONFIG_HEADER_ID := p_qte_line_dtl_rec.CONFIG_HEADER_ID;
354     l_line_rec.COMPLETE_CONFIGURATION_FLAG := p_qte_line_dtl_rec.COMPLETE_CONFIGURATION_FLAG;
355     l_line_rec.CONFIG_REVISION_NUM := p_qte_line_dtl_rec.CONFIG_REVISION_NUM;
356     l_line_rec.VALID_CONFIGURATION_FLAG := p_qte_line_dtl_rec.VALID_CONFIGURATION_FLAG;
357     l_line_rec.COMPONENT_CODE := p_qte_line_dtl_rec.COMPONENT_CODE;
358     l_line_rec.SERVICE_COTERMINATE_FLAG := p_qte_line_dtl_rec.SERVICE_COTERMINATE_FLAG;
359     l_line_rec.SERVICE_DURATION := p_qte_line_dtl_rec.SERVICE_DURATION;
360     l_line_rec.SERVICE_UNIT_SELLING_PERCENT := p_qte_line_dtl_rec.SERVICE_UNIT_SELLING_PERCENT;
361     l_line_rec.SERVICE_UNIT_LIST_PERCENT := p_qte_line_dtl_rec.SERVICE_UNIT_LIST_PERCENT;
362     l_line_rec.SERVICE_NUMBER := p_qte_line_dtl_rec.SERVICE_NUMBER;
363     l_line_rec.UNIT_PERCENT_BASE_PRICE := p_qte_line_dtl_rec.UNIT_PERCENT_BASE_PRICE;
364     l_line_rec.SERVICE_PERIOD := p_qte_line_dtl_rec.SERVICE_PERIOD;
365 
366     l_line_rec.PROMISE_DATE := p_shipment_rec.PROMISE_DATE;
367     l_line_rec.REQUEST_DATE := p_shipment_rec.REQUEST_DATE;
368     If l_line_rec.REQUEST_DATE is NULL
369 	  OR l_line_rec.REQUEST_DATE  = fnd_api.g_miss_date then
370 	     l_line_rec.REQUEST_DATE :=  ASO_PRICING_INT.G_HEADER_REC.REQUEST_DATE;
371     End If;
372     l_line_rec.SCHEDULE_SHIP_DATE := p_shipment_rec.SCHEDULE_SHIP_DATE;
373     l_line_rec.SHIP_TO_PARTY_SITE_ID := p_shipment_rec.SHIP_TO_PARTY_SITE_ID;
374     -- added for sourcing rule match on 06/06/01
375     if l_line_rec.SHIP_TO_PARTY_SITE_ID is NULL
376        OR l_line_rec.SHIP_TO_PARTY_SITE_ID =  fnd_api.g_miss_num then
377           l_line_rec.SHIP_TO_PARTY_SITE_ID := ASO_PRICING_INT.G_HEADER_REC.SHIP_TO_PARTY_SITE_ID;
378     End if;
379     l_line_rec.SHIP_TO_PARTY_ID := p_shipment_rec.SHIP_TO_PARTY_ID;
380     l_line_rec.SHIP_PARTIAL_FLAG := p_shipment_rec.SHIP_PARTIAL_FLAG;
381     l_line_rec.SHIP_SET_ID := p_shipment_rec.SHIP_SET_ID;
382     l_line_rec.SHIP_METHOD_CODE := p_shipment_rec.SHIP_METHOD_CODE;
383     -- added for sourcing rule match on 06/06/01
384     If l_line_rec.SHIP_METHOD_CODE is NULL
385        OR l_line_rec.SHIP_METHOD_CODE = fnd_api.g_miss_char then
386           l_line_rec.SHIP_METHOD_CODE := ASO_PRICING_INT.G_HEADER_REC.SHIP_METHOD_CODE;
387     End If;
388     l_line_rec.FREIGHT_TERMS_CODE := p_shipment_rec.FREIGHT_TERMS_CODE;
389     -- added for sourcing rule match on 06/06/01
390     If l_line_rec.FREIGHT_TERMS_CODE is NULL
391        OR l_line_rec.FREIGHT_TERMS_CODE = fnd_api.g_miss_char then
392           l_line_rec.FREIGHT_TERMS_CODE := ASO_PRICING_INT.G_HEADER_REC.FREIGHT_TERMS_CODE;
393     End If;
394     l_line_rec.FREIGHT_CARRIER_CODE := p_shipment_rec.FREIGHT_CARRIER_CODE;
395     If l_line_rec.FREIGHT_CARRIER_CODE  is NULL
396 	   OR l_line_rec.FREIGHT_CARRIER_CODE  = fnd_api.g_miss_char then
397 	      l_line_rec.FREIGHT_CARRIER_CODE :=  ASO_PRICING_INT.G_HEADER_REC.FREIGHT_CARRIER_CODE;
398     End If;
399     l_line_rec.FOB_CODE := p_shipment_rec.FOB_CODE;
400     If l_line_rec.FOB_CODE is NULL
401 	  OR l_line_rec.FOB_CODE  = fnd_api.g_miss_char then
402 		l_line_rec.FOB_CODE := ASO_PRICING_INT.G_HEADER_REC.FOB_CODE;
403     End If;
404     l_line_rec.SHIPPING_INSTRUCTIONS := p_shipment_rec.SHIPPING_INSTRUCTIONS;
405     l_line_rec.PACKING_INSTRUCTIONS := p_shipment_rec.PACKING_INSTRUCTIONS;
406     l_line_rec.SHIPPING_QUANTITY := p_shipment_rec.QUANTITY;
407     l_line_rec.RESERVED_QUANTITY := p_shipment_rec.RESERVED_QUANTITY;
408     l_line_rec.RESERVATION_ID := p_shipment_rec.RESERVATION_ID;
409     l_line_rec.ORDER_LINE_ID := p_shipment_rec.ORDER_LINE_ID;
410     l_line_rec.SHIPMENT_PRIORITY_CODE := p_shipment_rec.SHIPMENT_PRIORITY_CODE;
411     --education change: added to check model id
412     --Changed again to fix the bundle item bug fix: changed to obtain the model via cursor
413     --rather than using the get_top_model_item_id() function.
414     If l_line_rec.MODEL_ID is NULL OR l_line_rec.MODEL_ID =  fnd_api.g_miss_num then
415          OPEN C_top_model_item_id( p_qte_line_dtl_rec.CONFIG_HEADER_ID,
416                                          p_qte_line_dtl_rec.CONFIG_REVISION_NUM);
417          FETCH C_top_model_item_id INTO l_inventory_item_id;
418          CLOSE C_top_model_item_id;
419          l_line_rec.MODEL_ID := l_inventory_item_id;
420     End if;
421 
422     return l_line_rec;
423 END Set_Global_Rec;
424 
425 -- TSN processing...
426 
427 PROCEDURE PROCESS_HDR_TSN(p_quote_header_id NUMBER) IS
428 
429 CURSOR c_hdr_pyt_exists IS
430 SELECT payment_id
431 FROM   ASO_PAYMENTS
432 WHERE quote_header_id = p_quote_header_id;
433 
434 CURSOR c_hdr_smc_exists IS
435 SELECT shipment_id
436 FROM   ASO_SHIPMENTS
437 WHERE  quote_header_id = p_quote_header_id;
438 
439 CURSOR c_hdr_ftc_exists IS
440 SELECT shipment_id
441 FROM   ASO_SHIPMENTS
442 WHERE  quote_header_id = p_quote_header_id;
443 
444 CURSOR c_hdr_tsn_count  IS
445  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
446         B.SUBSTITUTION_VALUE,
447         b.substitution_attribute, lines.line_id,
448        lines.line_index, A.CREATED_FROM_LIST_LINE_TYPE,a.applied_flag,
449        a.modifier_level_code,a.process_code
450  FROM QP_PREQ_LINES_TMP_T lines,
451       QP_PREQ_LDETS_TMP_T A,
452       QP_LIST_LINES B
453  WHERE lines.line_id = p_quote_header_id
454  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
455  AND (p_quote_header_id IS NOT NULL
456  AND p_quote_header_id <> FND_API.G_MISS_NUM)
457  AND lines.line_index = a.line_index
458  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
459  AND a.applied_flag = G_YES_FLAG
460  AND a.modifier_level_code = G_ORDER_LEVEL
461  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
462  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
463  AND a.PRICING_STATUS_CODE = 'N'
464  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
465 
466 
467 CURSOR c_hdr_pyt_tsn  IS
468  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
469         B.SUBSTITUTION_VALUE
470  FROM QP_PREQ_LINES_TMP_T lines,
471       QP_PREQ_LDETS_TMP_T A,
472       QP_LIST_LINES B,
473       RA_TERMS_B ratv
474  WHERE lines.line_id = p_quote_header_id
475  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
476  AND (p_quote_header_id IS NOT NULL
477  AND p_quote_header_id <> FND_API.G_MISS_NUM)
478  AND lines.line_index = a.line_index
479  AND b.substitution_attribute = G_QUAL_ATTRIBUTE1
480  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
481  AND a.applied_flag = G_YES_FLAG
482  AND a.modifier_level_code = G_ORDER_LEVEL
483  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
484  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
485  AND a.PRICING_STATUS_CODE = 'N'
486  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
487  AND   ratv.term_id = B.SUBSTITUTION_VALUE
488  AND  (TRUNC(sysdate)  BETWEEN NVL(TRUNC(ratv.start_date_active),TRUNC(sysdate))
489                               AND NVL(TRUNC(ratv.end_date_active ), TRUNC(sysdate)));
490 
491 CURSOR c_hdr_smc_tsn  IS
492  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
493         B.SUBSTITUTION_VALUE
494  FROM QP_PREQ_LINES_TMP_T lines,
495       QP_PREQ_LDETS_TMP_T A,
496       QP_LIST_LINES B
497  WHERE lines.line_id = p_quote_header_id
498  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
499  AND (p_quote_header_id IS NOT NULL
500  AND p_quote_header_id <> FND_API.G_MISS_NUM)
501  AND lines.line_index = a.line_index
502  AND b.substitution_attribute = G_QUAL_ATTRIBUTE11
503  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
504  AND a.applied_flag = G_YES_FLAG
505  AND a.modifier_level_code = G_ORDER_LEVEL
506  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
507  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
508  AND a.PRICING_STATUS_CODE = 'N'
509  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
510 
511 
512 CURSOR c_hdr_ftc_tsn IS
513  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B olk) */
514         B.SUBSTITUTION_VALUE
515  FROM QP_PREQ_LINES_TMP_T lines,
516       QP_PREQ_LDETS_TMP_T A,
517       QP_LIST_LINES B,
518       fnd_lookup_values olk
519  WHERE lines.line_id = p_quote_header_id
520  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
521  AND (p_quote_header_id IS NOT NULL
522  AND p_quote_header_id <> FND_API.G_MISS_NUM)
523  AND lines.line_index = a.line_index
524  AND b.substitution_attribute = G_QUAL_ATTRIBUTE10
525  AND A.CREATED_FROM_LIST_LINE_TYPE = G_TERMS_SUBSTITUTION
526  AND a.applied_flag = G_YES_FLAG
527  AND a.modifier_level_code = G_ORDER_LEVEL
528  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
529  AND olk.lookup_type = G_FREIGHT_TERM_LK_TYPE
530  AND olk.enabled_flag = G_YES_FLAG
531  AND olk.lookup_code = B.SUBSTITUTION_VALUE
532  AND (TRUNC(sysdate) BETWEEN NVL(TRUNC(olk.start_date_active),TRUNC( sysdate))
533  AND NVL(TRUNC(olk.end_date_active), TRUNC(sysdate)))
534  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
535  AND a.PRICING_STATUS_CODE = 'N'
536  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
537  and olk.LANGUAGE = USERENV('LANG')
538  and olk.VIEW_APPLICATION_ID = 660
539  and olk.SECURITY_GROUP_ID =0;
540 
541 
542 l_req_payment_term_id     ASO_PAYMENTS.payment_term_id%TYPE;
543 l_req_ship_method_code    ASO_SHIPMENTS.ship_method_code%TYPE;
544 l_req_freight_terms_code  ASO_SHIPMENTS.freight_terms_code%TYPE;
545 
546 l_payment_id         	  ASO_PAYMENTS.payment_id%TYPE;
547 l_shipment_id             ASO_SHIPMENTS.shipment_id%TYPE;
548 l_freight_shipment_id     ASO_SHIPMENTS.shipment_id%TYPE;
549 
550 
551 l_payment_rec             ASO_QUOTE_PUB.payment_rec_type;
552 lx_payment_id             ASO_PAYMENTS.payment_id%TYPE;
553 
554 l_shipment_rec            ASO_QUOTE_PUB.shipment_rec_type;
555 lx_shipment_id            ASO_SHIPMENTS.shipment_id%TYPE;
556 
557 
558 l_freight_rec             ASO_QUOTE_PUB.shipment_rec_type;
559 lx_freight_shipment_id    ASO_SHIPMENTS.shipment_id%TYPE;
560 
561 G_USER_ID   		  NUMBER := FND_GLOBAL.USER_ID;
562 G_LOGIN_ID       	  NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
563 
564 
565 BEGIN
566 
567      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
568         aso_debug_pub.add('ASO_PRICING_CORE_PVT: Hdr TSN Count Starts Here...',1,'Y');
569      	FOR hdr_rec IN c_hdr_tsn_count LOOP
570             --aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_value_to :'||NVL(hdr_rec.substitution_value_to,'null'),1,'Y');
571             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_value :'||NVL(hdr_rec.substitution_value,'null'),1,'Y');
572             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_attribute :'||NVL(hdr_rec.substitution_attribute ,'null'),1,'Y');
573             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.line_id :'||NVL(hdr_rec.line_id,0),1,'Y');
574             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.line_index :'||NVL(hdr_rec.line_index,0),1,'Y');
575             --aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.list_line_type_code :'||NVL(hdr_rec.list_line_type_code,'null'),1,'Y');
576             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.created_from_list_line_type :'||NVL(hdr_rec.created_from_list_line_type,'null'),1,'Y');
577             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.applied_flag :'||NVL(hdr_rec.applied_flag,'null'),1,'Y');
578             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.modifier_level_code :'||NVL(hdr_rec.modifier_level_code,'null'),1,'Y');
579             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.process_code :'||NVL(hdr_rec.process_code,'null'),1,'Y');
580      	END LOOP;
581         aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_HDR_TSN Starts Here...',1,'Y');
582      END IF;
583 
584      OPEN c_hdr_pyt_exists;
585      FETCH c_hdr_pyt_exists INTO l_payment_id;
586      CLOSE c_hdr_pyt_exists;
587      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
588         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_payment_id :'||NVL(l_payment_id,0),1,'Y');
589      END IF;
590 
591      OPEN c_hdr_pyt_tsn;
592      FETCH c_hdr_pyt_tsn INTO l_req_payment_term_id;
593      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
594         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_payment_term_id: '||NVL(l_req_payment_term_id,0),1,'Y');
595      END IF;
596 
597      IF l_req_payment_term_id IS NULL THEN
598         	CLOSE c_hdr_pyt_tsn;
599      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
600            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Payment TSN exists hence update with from value...',1,'Y');
601      		END IF;
602 		IF l_payment_id IS NOT NULL THEN
603         		UPDATE ASO_PAYMENTS
604 		           SET payment_term_id = payment_term_id_from
605 			WHERE  quote_header_id = p_quote_header_id
606 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
607 			AND    quote_line_id IS NULL;
608 		END IF;
609         	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
610         	  aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
611         	END IF;
612 
613     ELSE
614 
615         CLOSE c_hdr_pyt_tsn;
616 
617      	IF l_payment_id IS NULL THEN
618      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
619            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Payment Record Exists...Before Payment Insert Row',1,'Y');
620         	END IF;
621 		lx_PAYMENT_ID  := NULL;
622 		ASO_PAYMENTS_PKG.Insert_Row(
623 	    		px_PAYMENT_ID                  => lx_PAYMENT_ID,
624 	    		p_CREATION_DATE                => SYSDATE,
625 	    		p_CREATED_BY                   => G_USER_ID,
626 	    		p_LAST_UPDATE_DATE	       => sysdate,
627 	    		p_LAST_UPDATED_BY              => G_USER_ID,
628 	    		p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
629 	    		p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
630 	    		p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
631 	    		p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
632 	    		p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
633 	    		p_QUOTE_HEADER_ID              => p_quote_header_id,
634 	    		p_QUOTE_LINE_ID  	       => NULL,
635 	    		p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
636 	    		p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
637 	    		p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
638 	    		p_PAYMENT_TERM_ID              => l_payment_rec.PAYMENT_TERM_ID,
639 	    		p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
640 	    		p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
641 	    		p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
642 	    		p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
643 	    		p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
644 	    		p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
645 	    		p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
646 	    		p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
647 	    		p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
648 	    		p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
649 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
650 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
651 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
652 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
653 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
654 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
655 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
656 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
657 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
658 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
659 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
660 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
661                p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
662 		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
663 			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
664 			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
665 			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
666 				p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
667 	    		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
668             		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
669 				p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
670                         p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
671 				    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
672 	    		);
673 		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
674 		   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
675 		END IF;
676 	END IF; -- l_payment_id is null; Header Payment exists or not check.
677 
678 
679      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
680            aso_debug_pub.add('ASO_PRICING_CORE_PVT: Header Level Payment TSN exists...',1,'Y');
681      	END IF;
682 	IF l_payment_id IS NOT NULL or lx_payment_id IS NOT NULL
683         THEN
684       		UPDATE ASO_PAYMENTS
685 		   SET payment_term_id = l_req_payment_term_id
686 		WHERE  quote_header_id = p_quote_header_id
687 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
688 		AND    quote_line_id IS NULL;
689         END IF;
690 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
691 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
692 	END IF;
693     END IF; -- l_req_payment_term_id IS NULL or not check.
694 
695 
696     OPEN c_hdr_smc_exists;
697     FETCH c_hdr_smc_exists INTO l_shipment_id;
698     CLOSE c_hdr_smc_exists;
699     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
700        aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_shipment_id: '||NVL(l_shipment_id,0),1,'Y');
701     END IF;
702 
703     OPEN c_hdr_smc_tsn;
704     FETCH c_hdr_smc_tsn INTO l_req_ship_method_code;
705     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
706        aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
707     END IF;
708 
709     IF l_req_ship_method_code IS NULL THEN
710 		CLOSE c_hdr_smc_tsn;
711      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
712         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Ship Method Code TSN exists hence update with From value...',1,'Y');
713         	END IF;
714                 IF l_shipment_id IS NOT NULL
715 		THEN
716 			UPDATE ASO_SHIPMENTS aso
717 			   SET aso.ship_method_code = ship_method_code_from
718 			WHERE  quote_header_id = p_quote_header_id
719 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
720 			AND    quote_line_id IS NULL;
721 		END IF;
722      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
723         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
724      		END IF;
725      ELSE
726 	 CLOSE c_hdr_smc_tsn;
727 	 IF l_shipment_id IS NULL THEN
728 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
729 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Shipment Record exists...Before Shipment Insert Rows ',1,'Y');
730 		END IF;
731 
732 		lx_shipment_id := NULL;
733 		ASO_SHIPMENTS_PKG.Insert_Row(
734 			px_SHIPMENT_ID  		=> lx_shipment_id,
735 			p_CREATION_DATE  		=> SYSDATE,
736 			p_CREATED_BY  			=> G_USER_ID,
737 			p_LAST_UPDATE_DATE		=> SYSDATE,
738 			p_LAST_UPDATED_BY  		=> G_USER_ID,
739 			p_LAST_UPDATE_LOGIN  		=> G_LOGIN_ID,
740 			p_REQUEST_ID  			=> l_shipment_rec.REQUEST_ID,
741 			p_PROGRAM_APPLICATION_ID  	=> l_shipment_rec.PROGRAM_APPLICATION_ID,
742 			p_PROGRAM_ID  			=> l_shipment_rec.PROGRAM_ID,
743 			p_PROGRAM_UPDATE_DATE  		=> l_shipment_rec.PROGRAM_UPDATE_DATE,
744 			p_QUOTE_HEADER_ID  		=> p_quote_header_id,
745 			p_QUOTE_LINE_ID  		=> NULL,
746 			p_PROMISE_DATE  		=> l_shipment_rec.PROMISE_DATE,
747 			p_REQUEST_DATE  		=> l_shipment_rec.REQUEST_DATE,
748 			p_SCHEDULE_SHIP_DATE  		=> l_shipment_rec.SCHEDULE_SHIP_DATE,
749 			p_SHIP_TO_PARTY_SITE_ID  	=> l_shipment_rec.SHIP_TO_PARTY_SITE_ID,
750 			p_SHIP_TO_PARTY_ID		=> l_shipment_rec.SHIP_TO_PARTY_ID,
751 			p_SHIP_TO_CUST_ACCOUNT_ID  	=> l_shipment_rec.SHIP_TO_CUST_ACCOUNT_ID,
752 			p_SHIP_PARTIAL_FLAG  		=> l_shipment_rec.SHIP_PARTIAL_FLAG,
753 			p_SHIP_SET_ID  			=> l_shipment_rec.SHIP_SET_ID,
754 			p_SHIP_METHOD_CODE		=> l_shipment_rec.SHIP_METHOD_CODE,
755 			p_FREIGHT_TERMS_CODE  		=> l_shipment_rec.FREIGHT_TERMS_CODE,
756 			p_FREIGHT_CARRIER_CODE  	=> l_shipment_rec.FREIGHT_CARRIER_CODE,
757 			p_FOB_CODE			=> l_shipment_rec.FOB_CODE,
758 			p_SHIPPING_INSTRUCTIONS  	=> l_shipment_rec.SHIPPING_INSTRUCTIONS,
759 			p_PACKING_INSTRUCTIONS  	=> l_shipment_rec.PACKING_INSTRUCTIONS,
760 			p_QUANTITY			=> l_shipment_rec.QUANTITY,
761 			p_RESERVED_QUANTITY  		=> l_shipment_rec.RESERVED_QUANTITY,
762 			p_RESERVATION_ID  		=> l_shipment_rec.RESERVATION_ID,
763 			p_ORDER_LINE_ID  		=> l_shipment_rec.ORDER_LINE_ID,
764 			p_ATTRIBUTE_CATEGORY  		=> l_shipment_rec.ATTRIBUTE_CATEGORY,
765 			p_ATTRIBUTE1  			=> l_shipment_rec.ATTRIBUTE1,
766 			p_ATTRIBUTE2  			=> l_shipment_rec.ATTRIBUTE2,
767 			p_ATTRIBUTE3  			=> l_shipment_rec.ATTRIBUTE3,
768 			p_ATTRIBUTE4  			=> l_shipment_rec.ATTRIBUTE4,
769 			p_ATTRIBUTE5  			=> l_shipment_rec.ATTRIBUTE5,
770 			p_ATTRIBUTE6  			=> l_shipment_rec.ATTRIBUTE6,
771 			p_ATTRIBUTE7  			=> l_shipment_rec.ATTRIBUTE7,
772 			p_ATTRIBUTE8  			=> l_shipment_rec.ATTRIBUTE8,
773 			p_ATTRIBUTE9  			=> l_shipment_rec.ATTRIBUTE9,
774 			p_ATTRIBUTE10 			=> l_shipment_rec.ATTRIBUTE10,
775 			p_ATTRIBUTE11  			=> l_shipment_rec.ATTRIBUTE11,
776 			p_ATTRIBUTE12  			=> l_shipment_rec.ATTRIBUTE12,
777 			p_ATTRIBUTE13  			=> l_shipment_rec.ATTRIBUTE13,
778 			p_ATTRIBUTE14  			=> l_shipment_rec.ATTRIBUTE14,
779 			p_ATTRIBUTE15  			=> l_shipment_rec.ATTRIBUTE15,
780 		     p_ATTRIBUTE16                  =>  l_shipment_rec.ATTRIBUTE16,
781                p_ATTRIBUTE17                  =>  l_shipment_rec.ATTRIBUTE17,
782                p_ATTRIBUTE18                  =>  l_shipment_rec.ATTRIBUTE18,
783                p_ATTRIBUTE19                  =>  l_shipment_rec.ATTRIBUTE19,
784                p_ATTRIBUTE20                  =>  l_shipment_rec.ATTRIBUTE20,
785 			p_SHIPMENT_PRIORITY_CODE 	=> l_shipment_rec.SHIPMENT_PRIORITY_CODE,
786 			p_SHIP_QUOTE_PRICE 		=> l_shipment_rec.SHIP_QUOTE_PRICE,
787 			p_SHIP_FROM_ORG_ID 		=> l_shipment_rec.SHIP_FROM_ORG_ID,
788 			p_SHIP_TO_CUST_PARTY_ID 	=> l_shipment_rec.SHIP_TO_CUST_PARTY_ID,
789 			p_SHIP_METHOD_CODE_FROM     	=> l_shipment_rec.SHIP_METHOD_CODE_FROM,
790 			p_FREIGHT_TERMS_CODE_FROM  	=> l_shipment_rec.FREIGHT_TERMS_CODE_FROM,
791 			p_OBJECT_VERSION_NUMBER       => l_shipment_rec.OBJECT_VERSION_NUMBER,
792 		     p_request_date_type              => l_shipment_rec.request_date_type,
793                p_demand_class_code              => l_shipment_rec.demand_class_code
794 			);
795 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
796 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Shipment Insert Row...Shipment_ID '||NVL(lx_shipment_id,0),1,'Y');
797 		END IF;
798 	 END IF; --l_shipment_id is NULL or not check.
799 
800      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
801             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Header Level Shipment TSN exists...',1,'Y');
802         END IF;
803      	IF l_shipment_id IS NOT NULL or lx_shipment_id IS NOT NULL
804         THEN
805 		UPDATE ASO_SHIPMENTS aso
806 		   SET aso.ship_method_code = l_req_ship_method_code
807 		WHERE  quote_header_id = p_quote_header_id
808 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
809 		AND    quote_line_id IS NULL
810         	AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
811 		       aso.ship_from_org_id, p_quote_header_id, NULL)));
812         END IF;
813      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
814            aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
815      	END IF;
816      END IF; --l_req_ship_method_code IS NULL or not check.
817 
818      OPEN c_hdr_ftc_exists;
819      FETCH c_hdr_ftc_exists INTO l_freight_shipment_id;
820      CLOSE c_hdr_ftc_exists;
821      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
822         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_freight_shipment_id '||NVL(l_freight_shipment_id,0),1,'Y');
823      END IF;
824 
825      OPEN c_hdr_ftc_tsn;
826      FETCH c_hdr_ftc_tsn INTO l_req_freight_terms_code;
827      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
828         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
829      END IF;
830 
831      IF l_req_freight_terms_code IS NULL THEN
832  		CLOSE c_hdr_ftc_tsn;
833      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
834         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
835      		END IF;
836 		IF l_freight_shipment_id IS NOT NULL THEN
837 			UPDATE ASO_SHIPMENTS aso
838 			   SET aso.freight_terms_code = freight_terms_code_from
839 			WHERE  quote_header_id = p_quote_header_id
840 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
841 			AND    quote_line_id IS NULL;
842 		END IF;
843     		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
844        		   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
845 		END IF;
846      ELSE
847  	 CLOSE c_hdr_ftc_tsn;
848 
849 	 IF l_freight_shipment_id IS NULL THEN
850 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
851 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Shipment(Freight) Record exists...Before Shipment(Freight) Insert Rows ',1,'Y');
852 		END IF;
853 		lx_freight_shipment_id  := NULL;
854 		ASO_SHIPMENTS_PKG.Insert_Row(
855 			px_SHIPMENT_ID  		=> lx_freight_shipment_id,
856 			p_CREATION_DATE  		=> SYSDATE,
857 			p_CREATED_BY  			=> G_USER_ID,
858 			p_LAST_UPDATE_DATE		=> SYSDATE,
859 			p_LAST_UPDATED_BY  		=> G_USER_ID,
860 			p_LAST_UPDATE_LOGIN  		=> G_LOGIN_ID,
861 			p_REQUEST_ID  			=> l_freight_rec.REQUEST_ID,
862 			p_PROGRAM_APPLICATION_ID  	=> l_freight_rec.PROGRAM_APPLICATION_ID,
863 			p_PROGRAM_ID  			=> l_freight_rec.PROGRAM_ID,
864 			p_PROGRAM_UPDATE_DATE  		=> l_freight_rec.PROGRAM_UPDATE_DATE,
865 			p_QUOTE_HEADER_ID  		=> p_quote_header_id,
866 			p_QUOTE_LINE_ID  		=> NULL,
867 			p_PROMISE_DATE  		=> l_freight_rec.PROMISE_DATE,
868 			p_REQUEST_DATE  		=> l_freight_rec.REQUEST_DATE,
869 			p_SCHEDULE_SHIP_DATE  		=> l_freight_rec.SCHEDULE_SHIP_DATE,
870 			p_SHIP_TO_PARTY_SITE_ID  	=> l_freight_rec.SHIP_TO_PARTY_SITE_ID,
871 			p_SHIP_TO_PARTY_ID		=> l_freight_rec.SHIP_TO_PARTY_ID,
872 			p_SHIP_TO_CUST_ACCOUNT_ID  	=> l_freight_rec.SHIP_TO_CUST_ACCOUNT_ID,
873 			p_SHIP_PARTIAL_FLAG  		=> l_freight_rec.SHIP_PARTIAL_FLAG,
874 			p_SHIP_SET_ID  			=> l_freight_rec.SHIP_SET_ID,
875 			p_SHIP_METHOD_CODE		=> l_freight_rec.SHIP_METHOD_CODE,
876 			p_FREIGHT_TERMS_CODE  		=> l_freight_rec.FREIGHT_TERMS_CODE,
877 			p_FREIGHT_CARRIER_CODE  	=> l_freight_rec.FREIGHT_CARRIER_CODE,
878 			p_FOB_CODE			=> l_freight_rec.FOB_CODE,
879 			p_SHIPPING_INSTRUCTIONS  	=> l_freight_rec.SHIPPING_INSTRUCTIONS,
880 			p_PACKING_INSTRUCTIONS  	=> l_freight_rec.PACKING_INSTRUCTIONS,
881 			p_QUANTITY			=> l_freight_rec.QUANTITY,
882 			p_RESERVED_QUANTITY  		=> l_freight_rec.RESERVED_QUANTITY,
883 			p_RESERVATION_ID  		=> l_freight_rec.RESERVATION_ID,
884 			p_ORDER_LINE_ID  		=> l_freight_rec.ORDER_LINE_ID,
885 			p_ATTRIBUTE_CATEGORY  		=> l_freight_rec.ATTRIBUTE_CATEGORY,
886 			p_ATTRIBUTE1  			=> l_freight_rec.ATTRIBUTE1,
887 			p_ATTRIBUTE2  			=> l_freight_rec.ATTRIBUTE2,
888 			p_ATTRIBUTE3  			=> l_freight_rec.ATTRIBUTE3,
889 			p_ATTRIBUTE4  			=> l_freight_rec.ATTRIBUTE4,
890 			p_ATTRIBUTE5  			=> l_freight_rec.ATTRIBUTE5,
891 			p_ATTRIBUTE6  			=> l_freight_rec.ATTRIBUTE6,
892 			p_ATTRIBUTE7  			=> l_freight_rec.ATTRIBUTE7,
893 			p_ATTRIBUTE8  			=> l_freight_rec.ATTRIBUTE8,
894 			p_ATTRIBUTE9  			=> l_freight_rec.ATTRIBUTE9,
895 			p_ATTRIBUTE10 			=> l_freight_rec.ATTRIBUTE10,
896 			p_ATTRIBUTE11  			=> l_freight_rec.ATTRIBUTE11,
897 			p_ATTRIBUTE12  			=> l_freight_rec.ATTRIBUTE12,
898 			p_ATTRIBUTE13  			=> l_freight_rec.ATTRIBUTE13,
899 			p_ATTRIBUTE14  			=> l_freight_rec.ATTRIBUTE14,
900 			p_ATTRIBUTE15  			=> l_freight_rec.ATTRIBUTE15,
901 		     p_ATTRIBUTE16                  =>  l_freight_rec.ATTRIBUTE16,
902                p_ATTRIBUTE17                  =>  l_freight_rec.ATTRIBUTE17,
903                p_ATTRIBUTE18                  =>  l_freight_rec.ATTRIBUTE18,
904                p_ATTRIBUTE19                  =>  l_freight_rec.ATTRIBUTE19,
905                p_ATTRIBUTE20                  =>  l_freight_rec.ATTRIBUTE20,
906                p_SHIPMENT_PRIORITY_CODE 	=> l_freight_rec.SHIPMENT_PRIORITY_CODE,
907 			p_SHIP_QUOTE_PRICE 		=> l_freight_rec.SHIP_QUOTE_PRICE,
908 			p_SHIP_FROM_ORG_ID 		=> l_freight_rec.SHIP_FROM_ORG_ID,
909 			p_SHIP_TO_CUST_PARTY_ID 	=> l_freight_rec.SHIP_TO_CUST_PARTY_ID,
910 			p_SHIP_METHOD_CODE_FROM     	=> l_freight_rec.SHIP_METHOD_CODE_FROM,
911 			p_FREIGHT_TERMS_CODE_FROM  	=> l_freight_rec.FREIGHT_TERMS_CODE_FROM,
912 			p_OBJECT_VERSION_NUMBER       => l_freight_rec.OBJECT_VERSION_NUMBER,
913 		     p_request_date_type              => l_freight_rec.request_date_type,
914                p_demand_class_code              => l_freight_rec.demand_class_code
915                );
916 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
917 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Shipment(Freight) Insert Row...Freight_Shipment_ID '||NVL(lx_freight_shipment_id,0),1,'Y');
918 		END IF;
919 	END IF; --l_freight_shipment_id is NULL or not check.
920 
921 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
922             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Header Level Freight TSN exists...',1,'Y');
923 	END IF;
924 	IF l_freight_shipment_id IS NOT NULL or lx_freight_shipment_id IS NOT NULL THEN
925 		UPDATE ASO_SHIPMENTS aso
926 		   SET aso.freight_terms_code = l_req_freight_terms_code
927 		WHERE  quote_header_id = p_quote_header_id
928 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
929 		AND    quote_line_id IS NULL;
930      	END IF;
931 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
932        	aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
933 	END IF;
934     END IF; --l_req_freight_terms_code IS NULL or NOT check.
935 
936     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
937        aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_HDR_TSN Ends Here...',1,'Y');
938     END IF;
939 END PROCESS_HDR_TSN;
940 
941 PROCEDURE PROCESS_LN_TSN(p_quote_header_id NUMBER, p_insert_type VARCHAR2) IS
942 
943 CURSOR c_qte_lines IS
944 SELECT quote_line_id
945 FROM  ASO_QUOTE_LINES_ALL
946 WHERE quote_header_id = p_quote_header_id;
947 
948 CURSOR c_get_free_lines IS
949 SELECT quote_line_id
950 FROM ASO_QUOTE_LINES_ALL
951 WHERE quote_header_id = p_quote_header_id
952 AND   nvl(pricing_line_type_indicator,'X') = G_FREE_LINE_FLAG;
953 
954 CURSOR c_ln_tsn_count(p_quote_line_id NUMBER)  IS
955  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
956         B.SUBSTITUTION_VALUE,
957         b.substitution_attribute, lines.line_id,
958        lines.line_index, A.CREATED_FROM_LIST_LINE_TYPE,a.applied_flag,
959        a.modifier_level_code,a.process_code
960  FROM QP_PREQ_LINES_TMP_T lines,
961       QP_PREQ_LDETS_TMP_T A,
962       QP_LIST_LINES B
963  WHERE lines.line_id = p_quote_line_id
964  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
965  AND (lines.line_id  IS NOT NULL
966  AND lines.line_id  <> FND_API.G_MISS_NUM)
967  AND lines.line_index = a.line_index
968  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
969  AND a.applied_flag = G_YES_FLAG
970  AND a.modifier_level_code = G_LINE_LEVEL
971  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
972  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
973  AND a.PRICING_STATUS_CODE = 'N'
974  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
975 
976 
977 CURSOR c_ln_smc_tsn (p_quote_line_id NUMBER)  IS
978  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
979         B.SUBSTITUTION_VALUE
980  FROM QP_PREQ_LINES_TMP_T lines,
981       QP_PREQ_LDETS_TMP_T A,
982       QP_LIST_LINES B
983  WHERE lines.line_id = p_quote_line_id
984  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
985  AND (lines.line_id IS NOT NULL
986  AND lines.line_id <> FND_API.G_MISS_NUM)
987  AND lines.line_index = a.line_index
988  AND b.substitution_attribute = G_QUAL_ATTRIBUTE11
989  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
990  AND a.applied_flag = G_YES_FLAG
991  AND a.modifier_level_code = G_LINE_LEVEL
992  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
993  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
994  AND a.PRICING_STATUS_CODE = 'N'
995  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
996 
997 
998 CURSOR c_ln_ftc_tsn (p_quote_line_id NUMBER) IS
999  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B olk) */
1000         B.SUBSTITUTION_VALUE
1001  FROM QP_PREQ_LINES_TMP_T lines,
1002       QP_PREQ_LDETS_TMP_T A,
1003       QP_LIST_LINES B,
1004       fnd_lookup_values olk
1005  WHERE lines.line_id = p_quote_line_id
1006  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
1007  AND (lines.line_id IS NOT NULL
1008  AND lines.line_id <> FND_API.G_MISS_NUM)
1009  AND lines.line_index = a.line_index
1010  AND b.substitution_attribute = G_QUAL_ATTRIBUTE10
1011  AND A.CREATED_FROM_LIST_LINE_TYPE = G_TERMS_SUBSTITUTION
1012  AND a.applied_flag = G_YES_FLAG
1013  AND a.modifier_level_code = G_LINE_LEVEL
1014  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
1015  AND olk.lookup_type = G_FREIGHT_TERM_LK_TYPE
1016  AND olk.enabled_flag = G_YES_FLAG
1017  AND olk.lookup_code = B.SUBSTITUTION_VALUE
1018  AND (TRUNC(sysdate) BETWEEN NVL(TRUNC(olk.start_date_active),TRUNC( sysdate))
1019  AND NVL(TRUNC(olk.end_date_active), TRUNC(sysdate)))
1020  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
1021  AND a.PRICING_STATUS_CODE = 'N'
1022  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
1023  and olk.LANGUAGE = USERENV('LANG')
1024  and olk.VIEW_APPLICATION_ID = 660
1025  and olk.SECURITY_GROUP_ID =0;
1026 
1027 l_req_ship_method_code    ASO_SHIPMENTS.ship_method_code%TYPE;
1028 l_req_freight_terms_code  ASO_SHIPMENTS.freight_terms_code%TYPE;
1029 
1030 
1031 
1032 -- Added for Line Level Payment TSN
1033 l_payment_rec             ASO_QUOTE_PUB.payment_rec_type;
1034 lx_payment_id             ASO_PAYMENTS.payment_id%TYPE;
1035 l_payment_id  NUMBER;
1036 l_req_payment_term_id NUMBER;
1037 G_USER_ID   		  NUMBER := FND_GLOBAL.USER_ID;
1038 G_LOGIN_ID       	  NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
1039 
1040 CURSOR c_line_pyt_exists (p_quote_line_id NUMBER) IS
1041 SELECT payment_id
1042 FROM   ASO_PAYMENTS
1043 WHERE quote_header_id = p_quote_header_id
1044 and quote_line_id = p_quote_line_id;
1045 
1046 CURSOR c_line_pyt_tsn(p_quote_line_id NUMBER)  IS
1047  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
1048         B.SUBSTITUTION_VALUE
1049  FROM QP_PREQ_LINES_TMP_T lines,
1050       QP_PREQ_LDETS_TMP_T A,
1051       QP_LIST_LINES B,
1052       RA_TERMS_B ratv
1053  WHERE lines.line_id = p_quote_line_id
1054  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
1055  AND (lines.line_id IS NOT NULL
1056  AND lines.line_id <> FND_API.G_MISS_NUM)
1057  AND lines.line_index = a.line_index
1058  AND b.substitution_attribute = G_QUAL_ATTRIBUTE1
1059  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
1060  AND a.applied_flag = G_YES_FLAG
1061  AND a.modifier_level_code = G_LINE_LEVEL
1062  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
1063  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
1064  AND a.PRICING_STATUS_CODE = 'N'
1065  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
1066  AND   ratv.term_id = B.SUBSTITUTION_VALUE
1067  AND  (TRUNC(sysdate)  BETWEEN NVL(TRUNC(ratv.start_date_active),TRUNC(sysdate))
1068                               AND NVL(TRUNC(ratv.end_date_active ), TRUNC(sysdate)));
1069 
1070 
1071 l_substitution_value_to  NUMBER;
1072 
1073 
1074 BEGIN
1075 
1076 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1077 			aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start of line tsn p_insert_type: '||p_insert_type,1,'Y');
1078 	END If;
1079      If p_insert_type = 'HDR' Then
1080 
1081         FOR l_qte_ln_rec IN c_qte_lines LOOP
1082           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1083              aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_qte_ln_rec.quote_line_id: '||NVL(l_qte_ln_rec.quote_line_id,0),1,'Y');
1084              aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln TSN Count Starts Here...',1,'Y');
1085      	     FOR ln_rec IN c_ln_tsn_count(l_qte_ln_rec.quote_line_id) LOOP
1086                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value_to :'||NVL(ln_rec.substitution_value_to,'null'),1,'Y');
1087                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value :'||NVL(ln_rec.substitution_value,'null'),1,'Y');
1088                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_attribute :'||NVL(ln_rec.substitution_attribute ,'null'),1,'Y');
1089                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_id :'||NVL(ln_rec.line_id,0),1,'Y');
1090                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_index :'||NVL(ln_rec.line_index,0),1,'Y');
1091                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.list_line_type_code :'||NVL(ln_rec.list_line_type_code,'null'),1,'Y');
1092                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.created_from_list_line_type :'||NVL(ln_rec.created_from_list_line_type,'null'),1,'Y');
1093                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.applied_flag :'||NVL(ln_rec.applied_flag,'null'),1,'Y');
1094                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.modifier_level_code :'||NVL(ln_rec.modifier_level_code,'null'),1,'Y');
1095                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.process_code :'||NVL(ln_rec.process_code,'null'),1,'Y');
1096      	     END LOOP;
1097              aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Starts Here...',1,'Y');
1098            END IF;
1099  --Line Level Payment TSN Starts Here
1100             OPEN c_line_pyt_exists(l_qte_ln_rec.quote_line_id);
1101             FETCH c_line_pyt_exists INTO l_payment_id;
1102             CLOSE c_line_pyt_exists;
1103                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1104                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_payment_id :'||NVL(l_payment_id,0),1,'Y');
1105                 END IF;
1106           	     OPen c_line_pyt_tsn(l_qte_ln_rec.quote_line_id);
1107 				fetch c_line_pyt_tsn into l_substitution_value_to;
1108 				close c_line_pyt_tsn;
1109 
1110 
1111                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1112                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_substitution_value_to: '||NVL(l_substitution_value_to,0),1,'Y');
1113                      END IF;
1114 
1115 
1116                     IF l_substitution_value_to IS NULL AND l_payment_id IS NOT NULL THEN
1117 
1118      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1119                	         aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment TSN exists hence update with from value...',1,'Y');
1120                         END IF;
1121 
1122         	               UPDATE ASO_PAYMENTS
1123 		                      SET payment_term_id = payment_term_id_from
1124 			                 WHERE  quote_header_id = p_quote_header_id
1125 			                 AND    quote_line_id = l_qte_ln_rec.quote_line_id;
1126 
1127         	               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1128         	                   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
1129         	               END IF;
1130 
1131                     ELSIF l_substitution_value_to IS NOT NULL AND l_payment_id IS NOT NULL THEN
1132                                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1133         	                       aso_debug_pub.add('ASO_PRICING_CORE_PVT: Inside ELSIF l_substitution_value_to IS NOT NULLAND l_payment_id IS NOT NULL:',1,'Y');
1134         	                   END IF;
1135                             UPDATE ASO_PAYMENTS
1136 		                      SET payment_term_id = l_substitution_value_to
1137 		                      WHERE  quote_header_id = p_quote_header_id
1138                             and quote_line_id = l_qte_ln_rec.quote_line_id;
1139 
1140      	             ELSIF l_payment_id IS NULL AND l_substitution_value_to IS NOT NULL THEN
1141      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1142            	                aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment Record Exists...Before Payment Insert Row',1,'Y');
1143                             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_substitution_value_to'||l_substitution_value_to,1,'Y');
1144         	               END IF;
1145 						   lx_PAYMENT_ID := null;
1146 		                  ASO_PAYMENTS_PKG.Insert_Row(
1147 	    		             px_PAYMENT_ID                  => lx_PAYMENT_ID,
1148 	    		             p_CREATION_DATE                => SYSDATE,
1149 	    		             p_CREATED_BY                   => G_USER_ID,
1150 	    		             p_LAST_UPDATE_DATE	       => sysdate,
1151 	    		             p_LAST_UPDATED_BY              => G_USER_ID,
1152 	    		             p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
1153 	    		             p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
1154 	    		             p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
1155 	    		             p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
1156 	    	              	p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
1157 	    		             p_QUOTE_HEADER_ID              => p_quote_header_id,
1158 	    		             p_QUOTE_LINE_ID  	       => l_qte_ln_rec.quote_line_id,
1159 	    		             p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
1160 	    		             p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
1161 	    		             p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
1162 	    		             p_PAYMENT_TERM_ID              => l_substitution_value_to,
1163 	    		             p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
1164 	    		                 p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
1165 	    		             p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
1166 	    		             p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
1167 	    		             p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
1168 	    		             p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
1169 	    		             p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
1170 	    		             p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
1171 	    		             p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
1172 	    		             p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
1173                 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
1174                 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
1175                 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
1176                 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
1177                 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
1178                 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
1179                 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
1180                 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
1181                 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
1182                 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
1183                 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
1184                 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
1185                                  p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
1186                   		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
1187                   			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
1188                   			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
1189                   			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
1190                   			p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
1191                         		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
1192                         		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
1193                   			p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
1194                               p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
1195                   		    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
1196                   	    		);
1197 		                              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1198 		                                                  aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
1199 		                               END IF;
1200               END IF;
1201 
1202 	      l_req_ship_method_code := NULL;
1203            l_req_freight_terms_code := NULL;
1204 
1205 	   OPEN c_ln_smc_tsn(l_qte_ln_rec.quote_line_id);
1206            FETCH c_ln_smc_tsn INTO l_req_ship_method_code;
1207         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1208               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
1209      	   END IF;
1210 
1211            IF l_req_ship_method_code IS NULL THEN
1212 		   CLOSE c_ln_smc_tsn;
1213         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1214         	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Ship Method Code TSN exists hence update with From value...',1,'Y');
1215         	   END IF;
1216 		   UPDATE ASO_SHIPMENTS aso
1217 	   	      SET aso.ship_method_code = ship_method_code_from
1218 		   WHERE  aso.quote_header_id = p_quote_header_id
1219 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1220 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1221 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1222 		   AND    aso.quote_line_id IS NOT NULL;
1223         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1224               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1225 		   END IF;
1226 	   ELSE
1227 	   	   CLOSE c_ln_smc_tsn;
1228      		   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1229            	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Shipment TSN exists...',1,'Y');
1230      		   END IF;
1231 		   UPDATE ASO_SHIPMENTS aso
1232 	   	      SET aso.ship_method_code = l_req_ship_method_code
1233 		   WHERE  aso.quote_header_id = p_quote_header_id
1234 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1235 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1236 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1237 		   AND    aso.quote_line_id IS NOT NULL
1238 	        AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
1239       		       aso.ship_from_org_id, p_quote_header_id, l_qte_ln_rec.quote_line_id)));
1240         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1241            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1242 		   END IF;
1243 	   END IF; -- l_req_ship_method_code IS NULL or NOT check.
1244 
1245 
1246 	   OPEN c_ln_ftc_tsn(l_qte_ln_rec.quote_line_id);
1247            FETCH c_ln_ftc_tsn INTO l_req_freight_terms_code;
1248      	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1249               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
1250      	   END IF;
1251 
1252            IF l_req_freight_terms_code IS NULL THEN
1253 		   CLOSE c_ln_ftc_tsn;
1254         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1255                    aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
1256         	   END IF;
1257 		   UPDATE ASO_SHIPMENTS aso
1258 	   	      SET aso.freight_terms_code = freight_terms_code_from
1259 		   WHERE  aso.quote_header_id = p_quote_header_id
1260 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1261 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1262 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1263 		   AND    aso.quote_line_id IS NOT NULL;
1264         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1265            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1266         	   END IF;
1267 	   ELSE
1268 		   CLOSE c_ln_ftc_tsn;
1269      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1270            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Freight TSN exists...',1,'Y');
1271      		END IF;
1272 		   UPDATE ASO_SHIPMENTS aso
1273 	   	      SET aso.freight_terms_code = l_req_freight_terms_code
1274 		   WHERE  aso.quote_header_id = p_quote_header_id
1275 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1276 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1277 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1278 		   AND    aso.quote_line_id IS NOT NULL;
1279         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1280               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1281         	   END IF;
1282 	   END IF; -- l_req_freight_terms_code IS NULL or not check.
1283 
1284         END LOOP; -- for c_qte_lines.
1285 
1286    Else
1287 	 /*Partial order, repricing the free lines only*/
1288 	 /*We will only change the TSN for the free lines only*/
1289 
1290         FOR l_qte_ln_rec IN c_get_free_lines LOOP
1291           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1292              aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_qte_ln_rec.quote_line_id: '||NVL(l_qte_ln_rec.quote_line_id,0),1,'Y');
1293              aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln TSN Count Starts Here...',1,'Y');
1294      	     FOR ln_rec IN c_ln_tsn_count(l_qte_ln_rec.quote_line_id) LOOP
1295                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value_to :'||NVL(ln_rec.substitution_value_to,'null'),1,'Y');
1296                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value :'||NVL(ln_rec.substitution_value,'null'),1,'Y');
1297                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_attribute :'||NVL(ln_rec.substitution_attribute ,'null'),1,'Y');
1298                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_id :'||NVL(ln_rec.line_id,0),1,'Y');
1299                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_index :'||NVL(ln_rec.line_index,0),1,'Y');
1300                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.list_line_type_code :'||NVL(ln_rec.list_line_type_code,'null'),1,'Y');
1301                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.created_from_list_line_type :'||NVL(ln_rec.created_from_list_line_type,'null'),1,'Y');
1302 			aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.applied_flag :'||NVL(ln_rec.applied_flag,'null'),1,'Y');
1303                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.modifier_level_code :'||NVL(ln_rec.modifier_level_code,'null'),1,'Y');
1304                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.process_code :'||NVL(ln_rec.process_code,'null'),1,'Y');
1305      	     END LOOP;
1306              aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Starts Here...',1,'Y');
1307            END IF;
1308            --Line level Payment TSN starts here for free good line
1309 
1310             OPEN c_line_pyt_exists(l_qte_ln_rec.quote_line_id);
1311             FETCH c_line_pyt_exists INTO l_payment_id;
1312             CLOSE c_line_pyt_exists;
1313                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1314                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_payment_id :'||NVL(l_payment_id,0),1,'Y');
1315                 END IF;
1316           	     OPen c_line_pyt_tsn(l_qte_ln_rec.quote_line_id);
1317 				fetch c_line_pyt_tsn into l_substitution_value_to;
1318 				close c_line_pyt_tsn;
1319 
1320 
1321                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1322                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_substitution_value_to: '||NVL(l_substitution_value_to,0),1,'Y');
1323                      END IF;
1324 
1325 
1326                     IF l_substitution_value_to IS NULL AND l_payment_id IS NOT NULL THEN
1327 
1328      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1329                	         aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment TSN exists hence update with from value...',1,'Y');
1330                         END IF;
1331 
1332         	               UPDATE ASO_PAYMENTS
1333 		                      SET payment_term_id = payment_term_id_from
1334 			                 WHERE  quote_header_id = p_quote_header_id
1335 			                 AND    quote_line_id = l_qte_ln_rec.quote_line_id;
1336 
1337         	               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1338         	                   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
1339         	               END IF;
1340 
1341                     ELSIF l_substitution_value_to IS NOT NULL AND l_payment_id IS NOT NULL THEN
1342                                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1343         	                       aso_debug_pub.add('ASO_PRICING_CORE_PVT: Inside ELSIF l_substitution_value_to IS NOT NULLAND l_payment_id IS NOT NULL:',1,'Y');
1344         	                   END IF;
1345                             UPDATE ASO_PAYMENTS
1346 		                      SET payment_term_id = l_substitution_value_to
1347 		                      WHERE  quote_header_id = p_quote_header_id
1348                             and quote_line_id = l_qte_ln_rec.quote_line_id;
1349 
1350      	             ELSIF l_payment_id IS NULL AND l_substitution_value_to IS NOT NULL THEN
1351      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1352            	                aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment Record Exists...Before Payment Insert Row',1,'Y');
1353                             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_substitution_value_to'||l_substitution_value_to,1,'Y');
1354         	               END IF;
1355 						   lx_PAYMENT_ID := null;
1356 		                  ASO_PAYMENTS_PKG.Insert_Row(
1357 	    		             px_PAYMENT_ID                  => lx_PAYMENT_ID,
1358 	    		             p_CREATION_DATE                => SYSDATE,
1359 	    		             p_CREATED_BY                   => G_USER_ID,
1360 	    		             p_LAST_UPDATE_DATE	       => sysdate,
1361 	    		             p_LAST_UPDATED_BY              => G_USER_ID,
1362 	    		             p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
1363 	    		             p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
1364 	    		             p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
1365 	    		             p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
1366 	    	              	p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
1367 	    		             p_QUOTE_HEADER_ID              => p_quote_header_id,
1368 	    		             p_QUOTE_LINE_ID  	       => l_qte_ln_rec.quote_line_id,
1369 	    		             p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
1370 	    		             p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
1371 	    		             p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
1372 	    		             p_PAYMENT_TERM_ID              => l_substitution_value_to,
1373 	    		             p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
1374 	    		                 p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
1375 	    		             p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
1376 	    		             p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
1377 	    		             p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
1378 	    		             p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
1379 	    		             p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
1380 	    		             p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
1381 	    		             p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
1382 	    		             p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
1383                 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
1384                 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
1385                 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
1386                 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
1387                 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
1388                 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
1389                 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
1390                 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
1391                 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
1392                 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
1393                 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
1394                 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
1395                                  p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
1396                   		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
1397                   			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
1398                   			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
1399                   			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
1400                   			p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
1401                         		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
1402                         		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
1403                   			p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
1404                               p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
1405                   		    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
1406                   	    		);
1407 		                              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1408 		                                                  aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
1409 		                               END IF;
1410               END IF;
1411 
1412 	      l_req_ship_method_code := NULL;
1413            l_req_freight_terms_code := NULL;
1414 
1415 	   OPEN c_ln_smc_tsn(l_qte_ln_rec.quote_line_id);
1416            FETCH c_ln_smc_tsn INTO l_req_ship_method_code;
1417         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1418               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
1419      	   END IF;
1420 
1421            IF l_req_ship_method_code IS NULL THEN
1422 		   CLOSE c_ln_smc_tsn;
1423         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1424         	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Ship Method Code TSN exists hence update with From value...',1,'Y');
1425         	   END IF;
1426 		   UPDATE ASO_SHIPMENTS aso
1427 	   	      SET aso.ship_method_code = ship_method_code_from
1428 		   WHERE  aso.quote_header_id = p_quote_header_id
1429 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1430 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1431 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1432 		   AND    aso.quote_line_id IS NOT NULL;
1433         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1434               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1435 		   END IF;
1436 	   ELSE
1437 	   	   CLOSE c_ln_smc_tsn;
1438      		   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1439            	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Shipment TSN exists...',1,'Y');
1440      		   END IF;
1441 		   UPDATE ASO_SHIPMENTS aso
1442 	   	      SET aso.ship_method_code = l_req_ship_method_code
1443 		   WHERE  aso.quote_header_id = p_quote_header_id
1444 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1445 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1446 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1447 		   AND    aso.quote_line_id IS NOT NULL
1448 	        AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
1449       		       aso.ship_from_org_id, p_quote_header_id, l_qte_ln_rec.quote_line_id)));
1450         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1451            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1452 		   END IF;
1453 	   END IF; -- l_req_ship_method_code IS NULL or NOT check.
1454 
1455 
1456 	   OPEN c_ln_ftc_tsn(l_qte_ln_rec.quote_line_id);
1457            FETCH c_ln_ftc_tsn INTO l_req_freight_terms_code;
1458      	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1459               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
1460      	   END IF;
1461 
1462            IF l_req_freight_terms_code IS NULL THEN
1463 		   CLOSE c_ln_ftc_tsn;
1464         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1465                    aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
1466         	   END IF;
1467 		   UPDATE ASO_SHIPMENTS aso
1468 	   	      SET aso.freight_terms_code = freight_terms_code_from
1469 		   WHERE  aso.quote_header_id = p_quote_header_id
1470 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1471 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1472 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1473 		   AND    aso.quote_line_id IS NOT NULL;
1474         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1475            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1476         	   END IF;
1477 	   ELSE
1478 		   CLOSE c_ln_ftc_tsn;
1479      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1480            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Freight TSN exists...',1,'Y');
1481      		END IF;
1482 		   UPDATE ASO_SHIPMENTS aso
1483 	   	      SET aso.freight_terms_code = l_req_freight_terms_code
1484 		   WHERE  aso.quote_header_id = p_quote_header_id
1485 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1486 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1487 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1488 		   AND    aso.quote_line_id IS NOT NULL;
1489         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1490               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1491         	   END IF;
1492 	   END IF; -- l_req_freight_terms_code IS NULL or not check.
1493 
1494 	   END LOOP; -- for c_get_free_lines
1495 
1496 
1497    End If;--If p_insert_type = 'HDR'
1498 
1499         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1500            aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Ends Here...',1,'Y');
1501         END IF;
1502 END PROCESS_LN_TSN;
1503 
1504 -- The above two procedures are for TSN processing...
1505 
1506 PROCEDURE Print_G_Header_Rec
1507 AS
1508 BEGIN
1509        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1510          aso_debug_pub.add('**********Start Header Level Information available to Price Request***********',1,'Y');
1511          aso_debug_pub.add('QUOTE_HEADER_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_HEADER_ID),'NULL'),1,'Y');
1512          aso_debug_pub.add('QUOTE_NAME:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_NAME,'NULL'),1,'Y');
1513          aso_debug_pub.add('QUOTE_NUMBER:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_NUMBER),'NULL'),1,'Y');
1514          aso_debug_pub.add('QUOTE_VERSION:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_VERSION),'NULL'),1,'Y');
1515          aso_debug_pub.add('QUOTE_STATUS_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_STATUS_ID),'NULL'),1,'Y');
1516          aso_debug_pub.add('QUOTE_SOURCE_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_SOURCE_CODE,'NULL'),1,'Y');
1517          aso_debug_pub.add('QUOTE_EXPIRATION_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_EXPIRATION_DATE),'NULL'),1,'Y');
1518          aso_debug_pub.add('PRICE_FROZEN_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE),'NULL'),1,'Y');
1519          aso_debug_pub.add('CUST_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CUST_PARTY_ID),'NULL'),1,'Y');
1520          aso_debug_pub.add('PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PARTY_ID),'NULL'),1,'Y');
1521          aso_debug_pub.add('CUST_ACCOUNT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CUST_ACCOUNT_ID),'NULL'),1,'Y');
1522          aso_debug_pub.add('ORG_CONTACT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORG_CONTACT_ID),'NULL'),1,'Y');
1523          aso_debug_pub.add('INVOICE_TO_PARTY_SITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.INVOICE_TO_PARTY_SITE_ID),'NULL'),1,'Y');
1524          aso_debug_pub.add('INVOICE_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.INVOICE_TO_PARTY_ID),'NUll'),1,'Y');
1525          aso_debug_pub.add('ORDER_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORDER_TYPE_ID),'NULL'),1,'Y');
1526          aso_debug_pub.add('QUOTE_CATEGORY_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_CATEGORY_CODE,'NULL'),1,'Y');
1527          aso_debug_pub.add('ORDERED_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORDERED_DATE),'NULL'),1,'Y');
1528          aso_debug_pub.add('PRICE_LIST_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PRICE_LIST_ID),'NULL'),1,'Y');
1529          aso_debug_pub.add('CURRENCY_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.CURRENCY_CODE,'NULL'),1,'Y');
1530          aso_debug_pub.add('TOTAL_LIST_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.TOTAL_LIST_PRICE),'NULL'),1,'Y');
1531          aso_debug_pub.add('TOTAL_QUOTE_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.TOTAL_QUOTE_PRICE),'NULL'),1,'Y');
1532          aso_debug_pub.add('CONTRACT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CONTRACT_ID),'NULL'),1,'Y');
1533          aso_debug_pub.add('SALES_CHANNEL_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.SALES_CHANNEL_CODE,'NULL'),1,'Y');
1534          aso_debug_pub.add('SHIP_TO_PARTY_SITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.SHIP_TO_PARTY_SITE_ID),'NULL'),1,'Y');
1535          aso_debug_pub.add('SHIP_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.SHIP_TO_PARTY_ID),'NULL'),1,'Y');
1536          aso_debug_pub.add('SHIP_METHOD_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.SHIP_METHOD_CODE,'NULL'),1,'Y');
1537          aso_debug_pub.add('FREIGHT_TERMS_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FREIGHT_TERMS_CODE,'NULL'),1,'Y');
1538          aso_debug_pub.add('FREIGHT_CARRIER_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FREIGHT_CARRIER_CODE,'NULL'),1,'Y');
1539          aso_debug_pub.add('FOB_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FOB_CODE,'NULL'),1,'Y');
1540          aso_debug_pub.add('REQUEST_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.REQUEST_DATE),'NULL'),1,'Y');
1541          aso_debug_pub.add('RECALCULATE_FLAG:'||nvl(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'NULL'),1,'Y');
1542          aso_debug_pub.add('MINISITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.MINISITE_ID),'NULL'),1,'Y');
1543          aso_debug_pub.add('**********End Header Level Information available to Price Request***********',1,'Y');
1544        END IF;
1545 
1546 END Print_G_Header_Rec;
1547 
1548 PROCEDURE Print_G_Line_Rec
1549 AS
1550 BEGIN
1551        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1552          aso_debug_pub.add('**********Start Line Level Information available to Price Request***********',1,'Y');
1553          aso_debug_pub.add('QUOTE_HEADER_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUOTE_HEADER_ID),'NULL'),1,'Y');
1554          aso_debug_pub.add('QUOTE_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUOTE_LINE_ID),'NULL'),1,'Y');
1555          aso_debug_pub.add('LINE_CATEGORY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE,'NULL'),1,'Y');
1556          aso_debug_pub.add('ITEM_TYPE_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.ITEM_TYPE_CODE,'NULL'),1,'Y');
1557          aso_debug_pub.add('ORDER_LINE_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.ORDER_LINE_TYPE_ID),'NULL'),1,'Y');
1558          aso_debug_pub.add('INVOICE_TO_PARTY_SITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.INVOICE_TO_PARTY_SITE_ID),'NULL'),1,'Y');
1559          aso_debug_pub.add('INVOICE_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.INVOICE_TO_PARTY_ID),'NULL'),1,'Y');
1560          aso_debug_pub.add('INVENTORY_ITEM_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.INVENTORY_ITEM_ID),'NULL'),1,'Y');
1561          aso_debug_pub.add('QUANTITY:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUANTITY),'NULL'),1,'Y');
1562          aso_debug_pub.add('ORDER_LINE_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.ORDER_LINE_TYPE_ID),'NULL'),1,'Y');
1563          aso_debug_pub.add('UOM_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.UOM_CODE,'NULL'),1,'Y');
1564          aso_debug_pub.add('PRICE_LIST_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICE_LIST_ID),'NULL'),1,'Y');
1565          aso_debug_pub.add('PRICE_LIST_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICE_LIST_LINE_ID),'NULL'),1,'Y');
1566          aso_debug_pub.add('CURRENCY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.CURRENCY_CODE,'NULL'),1,'Y');
1567          aso_debug_pub.add('LINE_LIST_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_LIST_PRICE),'NULL'),1,'Y');
1568          aso_debug_pub.add('LINE_ADJUSTED_AMOUNT:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_ADJUSTED_AMOUNT),'NULL'),1,'Y');
1569          aso_debug_pub.add('LINE_ADJUSTED_PERCENT:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_ADJUSTED_PERCENT),'NULL'),1,'Y');
1570          aso_debug_pub.add('LINE_QUOTE_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_QUOTE_PRICE),'NULL'),1,'Y');
1571          aso_debug_pub.add('RELATED_ITEM_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.RELATED_ITEM_ID),'NULL'),1,'Y');
1572          aso_debug_pub.add('ITEM_RELATIONSHIP_TYPE:'||nvl(ASO_PRICING_INT.G_LINE_REC.ITEM_RELATIONSHIP_TYPE,'NULL'),1,'Y');
1573          aso_debug_pub.add('MODEL_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.MODEL_ID),'NULL'),1,'Y');
1574          aso_debug_pub.add('SERVICE_REF_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.SERVICE_REF_LINE_ID),'NULL'),1,'Y');
1575          aso_debug_pub.add('SHIP_TO_PARTY_SITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.SHIP_TO_PARTY_SITE_ID),'NULL'),1,'Y');
1576          aso_debug_pub.add('SHIP_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.SHIP_TO_PARTY_ID),'NULL'),1,'Y');
1577          aso_debug_pub.add('SHIP_METHOD_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.SHIP_METHOD_CODE,'NULL'),1,'Y');
1578          aso_debug_pub.add('FREIGHT_TERMS_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FREIGHT_TERMS_CODE,'NULL'),1,'Y');
1579          aso_debug_pub.add('FREIGHT_CARRIER_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FREIGHT_CARRIER_CODE,'NULL'),1,'Y');
1580          aso_debug_pub.add('FOB_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FOB_CODE,'NULL'),1,'Y');
1581          aso_debug_pub.add('REQUEST_DATE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.REQUEST_DATE),'NULL'),1,'Y');
1582          aso_debug_pub.add('AGREEMENT_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.AGREEMENT_ID),'NULL'),1,'Y');
1583          aso_debug_pub.add('SELLING_PRICE_CHANGE:'||nvl(ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE,'NULL'),1,'Y');
1584          aso_debug_pub.add('RECALCULATE_FLAG:'||nvl(ASO_PRICING_INT.G_LINE_REC.RECALCULATE_FLAG,'NULL'),1,'Y');
1585          aso_debug_pub.add('PRICING_LINE_TYPE_INDICATOR:'||nvl(ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR,'NULL'),1,'Y');
1586          aso_debug_pub.add('MINISITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.MINISITE_ID),'NULL'),1,'Y');
1587          aso_debug_pub.add('CHARGE_PERIODICITY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.CHARGE_PERIODICITY_CODE,'NULL'),1,'Y');
1588          aso_debug_pub.add('PRICING_QUANTITY_UOM:'||nvl(ASO_PRICING_INT.G_LINE_REC.PRICING_QUANTITY_UOM,'NULL'),1,'Y');
1589          aso_debug_pub.add('PRICING_QUANTITY:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICING_QUANTITY),'NULL'),1,'Y');
1590          aso_debug_pub.add('**********End Line Level Information available to Price Request***********',1,'Y');
1591        END IF;
1592 
1593 END Print_G_Line_Rec;
1594 
1595 
1596 /*New Append_ask_for to use direct insert*/
1597 PROCEDURE  Append_Asked_For(
1598         p_pricing_event                        varchar2
1599 	  ,p_price_line_index                     NUMBER
1600        ,p_header_id                            number := null
1601        ,p_Line_id                              number := null
1602        ,px_index_counter         IN OUT NOCOPY /* file.sql.39 change */ number)
1603 IS
1604 
1605 cursor asked_for_cur is
1606     select flex_title, pricing_context, pricing_attribute1,
1607     pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
1608     pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
1609     pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
1610     pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
1611     pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
1612     pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
1613     pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
1614     pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
1615     pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
1616     pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
1617     pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
1618     pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
1619     pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
1620     pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
1621     pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
1622     pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
1623     pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
1624     pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
1625     pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
1626     pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
1627     pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
1628     pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
1629     pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
1630     pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
1631     pricing_attribute98 , pricing_attribute99 , pricing_attribute100
1632     ,Override_Flag
1633     from aso_price_attributes a
1634     where  a.QUOTE_HEADER_ID = p_header_id
1635     and p_header_id is not null
1636     and a.quote_line_id is null
1637     /*
1638      * New Code - Union is changed to union all
1639      */
1640   UNION ALL
1641     select flex_title, pricing_context, pricing_attribute1,
1642     pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
1643     pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
1644     pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
1645     pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
1646     pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
1647     pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
1648     pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
1649     pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
1650     pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
1651     pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
1652     pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
1653     pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
1654     pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
1655     pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
1656     pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
1657     pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
1658     pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
1659     pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
1660     pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
1661     pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
1662     pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
1663     pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
1664     pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
1665     pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
1666     pricing_attribute98 , pricing_attribute99 , pricing_attribute100
1667     ,Override_Flag
1668     FROM ASO_PRICE_ATTRIBUTES a
1669     WHERE a.quote_header_id = p_header_id
1670     AND a.QUOTE_line_id = p_line_id
1671     AND p_line_id IS NOT NULL;
1672 
1673     l_counter NUMBER := 0;
1674     l_line_index   NUMBER;
1675 
1676 begin
1677     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1678       aso_debug_pub.add('ASO_PRICING_CORE_PVT: In Direct Insert Append_Asked_for',1,'Y');
1679       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Direct Insert Append_Ask_for - Global_Header_Rec.quote_status_id:'
1680                          ||ASO_PRICING_INT.G_HEADER_REC.quote_status_id,1,'Y');
1681     END IF;
1682 
1683     l_line_index := p_price_line_index;
1684 
1685     l_counter := px_index_counter;
1686     for asked_for_rec in asked_for_cur loop
1687         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1688           aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_CONTEXT:'
1689                              ||asked_for_rec.PRICING_CONTEXT,1,'Y');
1690           aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.flex_title:'
1691                              ||asked_for_rec.flex_title,1,'Y');
1692         END IF;
1693 
1694         If asked_for_rec.flex_title = 'QP_ATTR_DEFNS_PRICING' then
1695            if asked_for_rec.PRICING_ATTRIBUTE1 is not null then
1696               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1697                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE1:'
1698                                    ||asked_for_rec.PRICING_ATTRIBUTE1,1,'Y');
1699               END IF;
1700 
1701               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1702               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1703               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1704               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1705               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1706                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1707               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1708                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1709               ELSE
1710                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1711               END IF;
1712               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1713               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE1';
1714               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1715               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1716               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1717               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1718               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1719               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE1;
1720               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1721               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1722               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1723               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1724               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1725               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1726               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1727               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1728               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1729               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1730               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1731               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1732               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1733               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1734               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1735               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1736               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1737 		    l_counter := l_counter + 1;
1738 
1739            end if;
1740         if asked_for_rec.PRICING_ATTRIBUTE2 is not null then
1741               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1742                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE2:'
1743                                    ||asked_for_rec.PRICING_ATTRIBUTE2,1,'Y');
1744               END IF;
1745 
1746               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1747               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1748               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1749               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1750               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1751                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1752               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1753                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1754               ELSE
1755                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1756               END IF;
1757               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1758               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE2';
1759               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1760               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1761               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1762               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1763               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1764               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE2;
1765               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1766               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1767               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1768               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1769               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1770               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1771               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1772               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1773               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1774               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1775               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1776               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1777               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1778               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1779               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1780               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1781               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1782 		    l_counter := l_counter + 1;
1783 
1784         end if;
1785         if asked_for_rec.PRICING_ATTRIBUTE3 is not null then
1786               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1787                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE3:'
1788                                    ||asked_for_rec.PRICING_ATTRIBUTE3,1,'Y');
1789               END IF;
1790 
1791               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1792               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1793               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1794               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1795               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1796                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1797               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1798                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1799               ELSE
1800                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1801               END IF;
1802               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1803               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE3';
1804               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1805               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1806               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1807               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1808               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1809               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE3;
1810               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1811               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1812               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1813               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1814               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1815               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1816               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1817               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1818               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1819               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1820               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1821               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1822               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1823               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1824               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1825               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1826               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1827 		    l_counter := l_counter + 1;
1828 
1829         end if;
1830         if asked_for_rec.PRICING_ATTRIBUTE4 is not null then
1831               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1832                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE4:'
1833                                    ||asked_for_rec.PRICING_ATTRIBUTE4,1,'Y');
1834               END IF;
1835 
1836               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1837               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1838               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1839               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1840               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1841                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1842               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1843                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1844               ELSE
1845                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1846               END IF;
1847               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1848               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE4';
1849               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1850               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1851               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1852               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1853               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1854               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE4;
1855               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1856               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1857               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1858               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1859               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1860               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1861               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1862               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1863               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1864               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1865               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1866               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1867               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1868               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1869               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1870               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1871               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1872 		    l_counter := l_counter + 1;
1873 
1874         end if;
1875         if asked_for_rec.PRICING_ATTRIBUTE5 is not null then
1876               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1877                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE5:'
1878                                    ||asked_for_rec.PRICING_ATTRIBUTE5,1,'Y');
1879               END IF;
1880 
1881               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1882               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1883               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1884               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1885               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1886                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1887               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1888                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1889               ELSE
1890                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1891               END IF;
1892               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1893               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE5';
1894               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1895               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1896               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1897               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1898               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1899               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE5;
1900               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1901               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1902               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1903               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1904               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1905               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1906               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1907               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1908               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1909               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1910               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1911               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1912               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1913               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1914               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1915               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1916               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1917 		    l_counter := l_counter + 1;
1918 
1919         end if;
1920         if asked_for_rec.PRICING_ATTRIBUTE6 is not null then
1921               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1922                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE6:'
1923                                    ||asked_for_rec.PRICING_ATTRIBUTE6,1,'Y');
1924               END IF;
1925 
1926               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1927               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1928               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1929               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1930               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1931                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1932               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1933                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1934               ELSE
1935                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1936               END IF;
1937               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1938               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE6';
1939               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1940               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1941               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1942               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1943               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1944               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE6;
1945               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1946               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1947               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1948               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1949               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1950               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1951               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1952               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1953               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1954               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1955               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1956               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1957               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1958               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1959               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1960               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1961               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1962 		    l_counter := l_counter + 1;
1963 
1964         end if;
1965         if asked_for_rec.PRICING_ATTRIBUTE7 is not null then
1966               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1967                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE7:'
1968                                    ||asked_for_rec.PRICING_ATTRIBUTE7,1,'Y');
1969               END IF;
1970 
1971               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1972               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1973               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1974               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1975               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1976                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1977               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1978                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1979               ELSE
1980                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1981               END IF;
1982               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1983               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE7';
1984               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1985               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1986               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1987               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1988               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1989               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE7;
1990               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1991               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1992               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1993               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1994               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1995               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1996               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1997               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1998               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1999               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2000               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2001               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2002               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2003               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2004               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2005               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2006               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2007 		    l_counter := l_counter + 1;
2008 
2009         end if;
2010         if asked_for_rec.PRICING_ATTRIBUTE8 is not null then
2011               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2012                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE8:'
2013                                    ||asked_for_rec.PRICING_ATTRIBUTE8,1,'Y');
2014               END IF;
2015 
2016               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2017               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2018               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2019               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2020               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2021                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2022               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2023                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2024               ELSE
2025                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2026               END IF;
2027               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2028               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE8';
2029               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2030               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2031               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2032               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2033               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2034               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE8;
2035               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2036               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2037               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2038               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2039               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2040               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2041               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2042               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2043               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2044               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2045               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2046               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2047               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2048               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2049               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2050               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2051               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2052 		    l_counter := l_counter + 1;
2053 
2054         end if;
2055         if asked_for_rec.PRICING_ATTRIBUTE9 is not null then
2056               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2057                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE9:'
2058                                    ||asked_for_rec.PRICING_ATTRIBUTE9,1,'Y');
2059               END IF;
2060 
2061               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2062               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2063               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2064               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2065               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2066                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2067               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2068                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2069               ELSE
2070                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2071               END IF;
2072               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2073               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE9';
2074               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2075               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2076               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2077               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2078               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2079               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE9;
2080               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2081               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2082               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2083               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2084               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2085               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2086               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2087               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2088               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2089               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2090               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2091               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2092               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2093               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2094               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2095               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2096               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2097 		    l_counter := l_counter + 1;
2098 
2099         end if;
2100         if asked_for_rec.PRICING_ATTRIBUTE10 is not null then
2101               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2102                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE10:'
2103                                    ||asked_for_rec.PRICING_ATTRIBUTE10,1,'Y');
2104               END IF;
2105 
2106               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2107               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2108               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2109               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2110               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2111                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2112               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2113                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2114               ELSE
2115                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2116               END IF;
2117               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2118               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE10';
2119               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2120               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2121               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2122               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2123               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2124               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE10;
2125               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2126               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2127               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2128               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2129               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2130               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2131               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2132               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2133               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2134               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2135               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2136               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2137               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2138               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2139               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2140               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2141               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2142 		    l_counter := l_counter + 1;
2143 
2144         end if;
2145         if asked_for_rec.PRICING_ATTRIBUTE11 is not null then
2146               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2147                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE11:'
2148                                    ||asked_for_rec.PRICING_ATTRIBUTE11,1,'Y');
2149               END IF;
2150 
2151               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2152               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2153               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2154               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2155               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2156                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2157               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2158                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2159               ELSE
2160                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2161               END IF;
2162               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2163               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE11';
2164               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2165               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2166               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2167               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2168               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2169               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE11;
2170               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2171               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2172               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2173               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2174               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2175               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2176               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2177               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2178               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2179               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2180               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2181               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2182               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2183               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2184               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2185               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2186               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2187 		    l_counter := l_counter + 1;
2188 
2189         end if;
2190         if asked_for_rec.PRICING_ATTRIBUTE12 is not null then
2191               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2192                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE12:'
2193                                    ||asked_for_rec.PRICING_ATTRIBUTE12,1,'Y');
2194               END IF;
2195 
2196               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2197               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2198               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2199               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2200               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2201                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2202               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2203                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2204               ELSE
2205                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2206               END IF;
2207               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2208               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE12';
2209               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2210               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2211               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2212               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2213               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2214               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE12;
2215               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2216               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2217               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2218               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2219               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2220               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2221               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2222               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2223               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2224               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2225               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2226               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2227               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2228               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2229               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2230               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2231               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2232 		    l_counter := l_counter + 1;
2233 
2234         end if;
2235         if asked_for_rec.PRICING_ATTRIBUTE13 is not null then
2236               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2237                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE13:'
2238                                    ||asked_for_rec.PRICING_ATTRIBUTE13,1,'Y');
2239               END IF;
2240 
2241               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2242               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2243               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2244               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2245               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2246                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2247               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2248                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2249               ELSE
2250                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2251               END IF;
2252               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2253               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE13';
2254               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2255               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2256               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2257               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2258               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2259               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE13;
2260               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2261               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2262               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2263               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2264               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2265               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2266               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2267               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2268               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2269               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2270               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2271               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2272               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2273               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2274               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2275               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2276               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2277 		    l_counter := l_counter + 1;
2278 
2279         end if;
2280         if asked_for_rec.PRICING_ATTRIBUTE14 is not null then
2281               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2282                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE14:'
2283                                    ||asked_for_rec.PRICING_ATTRIBUTE14,1,'Y');
2284               END IF;
2285 
2286               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2287               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2288               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2289               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2290               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2291                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2292               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2293                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2294               ELSE
2295                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2296               END IF;
2297               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2298               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE14';
2299               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2300               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2301               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2302               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2303               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2304               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE14;
2305               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2306               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2307               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2308               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2309               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2310               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2311               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2312               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2313               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2314               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2315               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2316               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2317               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2318               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2319               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2320               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2321               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2322 		    l_counter := l_counter + 1;
2323 
2324         end if;
2325         if asked_for_rec.PRICING_ATTRIBUTE15 is not null then
2326               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2327                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE15:'
2328                                    ||asked_for_rec.PRICING_ATTRIBUTE15,1,'Y');
2329               END IF;
2330 
2331               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2332               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2333               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2334               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2335               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2336                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2337               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2338                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2339               ELSE
2340                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2341               END IF;
2342               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2343               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE15';
2344               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2345               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2346               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2347               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2348               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2349               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE15;
2350               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2351               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2352               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2353               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2354               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2355               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2356               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2357               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2358               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2359               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2360               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2361               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2362               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2363               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2364               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2365               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2366               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2367 		    l_counter := l_counter + 1;
2368 
2369         end if;
2370         if asked_for_rec.PRICING_ATTRIBUTE16 is not null then
2371               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2372                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE16:'
2373                                    ||asked_for_rec.PRICING_ATTRIBUTE16,1,'Y');
2374               END IF;
2375 
2376               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2377               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2378               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2379               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2380               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2381                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2382               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2383                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2384               ELSE
2385                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2386               END IF;
2387               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2388               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE16';
2389               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2390               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2391               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2392               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2393               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2394               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE16;
2395               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2396               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2397               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2398               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2399               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2400               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2401               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2402               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2403               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2404               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2405               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2406               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2407               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2408               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2409               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2410               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2411               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2412 		    l_counter := l_counter + 1;
2413 
2414         end if;
2415         if asked_for_rec.PRICING_ATTRIBUTE17 is not null then
2416               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2417                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE17:'
2418                                    ||asked_for_rec.PRICING_ATTRIBUTE17,1,'Y');
2419               END IF;
2420 
2421               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2422               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2423               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2424               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2425               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2426                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2427               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2428                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2429               ELSE
2430                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2431               END IF;
2432               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2433               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE17';
2434               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2435               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2436               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2437               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2438               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2439               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE17;
2440               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2441               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2442               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2443               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2444               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2445               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2446               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2447               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2448               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2449               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2450               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2451               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2452               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2453               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2454               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2455               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2456               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2457 		    l_counter := l_counter + 1;
2458 
2459         end if;
2460         if asked_for_rec.PRICING_ATTRIBUTE18 is not null then
2461               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2462                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE18:'
2463                                    ||asked_for_rec.PRICING_ATTRIBUTE18,1,'Y');
2464               END IF;
2465 
2466               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2467               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2468               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2469               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2470               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2471                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2472               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2473                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2474               ELSE
2475                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2476               END IF;
2477               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2478               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE18';
2479               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2480               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2481               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2482               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2483               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2484               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE18;
2485               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2486               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2487               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2488               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2489               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2490               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2491               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2492               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2493               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2494               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2495               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2496               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2497               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2498               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2499               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2500               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2501               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2502 		    l_counter := l_counter + 1;
2503 
2504         end if;
2505         if asked_for_rec.PRICING_ATTRIBUTE19 is not null then
2506               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2507                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE19:'
2508                                    ||asked_for_rec.PRICING_ATTRIBUTE19,1,'Y');
2509               END IF;
2510 
2511               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2512               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2513               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2514               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2515               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2516                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2517               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2518                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2519               ELSE
2520                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2521               END IF;
2522               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2523               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE19';
2524               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2525               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2526               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2527               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2528               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2529               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE19;
2530               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2531               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2532               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2533               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2534               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2535               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2536               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2537               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2538               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2539               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2540               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2541               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2542               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2543               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2544               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2545               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2546               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2547 		    l_counter := l_counter + 1;
2548 
2549         end if;
2550         if asked_for_rec.PRICING_ATTRIBUTE20 is not null then
2551               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2552                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE20:'
2553                                    ||asked_for_rec.PRICING_ATTRIBUTE20,1,'Y');
2554               END IF;
2555 
2556               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2557               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2558               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2559               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2560               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2561                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2562               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2563                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2564               ELSE
2565                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2566               END IF;
2567               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2568               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE20';
2569               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2570               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2571               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2572               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2573               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2574               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE20;
2575               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2576               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2577               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2578               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2579               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2580               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2581               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2582               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2583               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2584               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2585               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2586               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2587               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2588               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2589               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2590               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2591               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2592 		    l_counter := l_counter + 1;
2593 
2594         end if;
2595         if asked_for_rec.PRICING_ATTRIBUTE21 is not null then
2596               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2597                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE21:'
2598                                    ||asked_for_rec.PRICING_ATTRIBUTE20,1,'Y');
2599               END IF;
2600 
2601               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2602               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2603               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2604               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2605               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2606                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2607               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2608                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2609               ELSE
2610                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2611               END IF;
2612               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2613               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE21';
2614               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2615               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2616               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2617               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2618               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2619               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE21;
2620               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2621               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2622               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2623               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2624               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2625               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2626               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2627               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2628               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2629               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2630               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2631               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2632               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2633               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2634               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2635               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2636               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2637 		    l_counter := l_counter + 1;
2638 
2639         end if;
2640         if asked_for_rec.PRICING_ATTRIBUTE22 is not null then
2641               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2642                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE22:'
2643                                    ||asked_for_rec.PRICING_ATTRIBUTE22,1,'Y');
2644               END IF;
2645 
2646               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2647               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2648               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2649               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2650               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2651                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2652               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2653                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2654               ELSE
2655                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2656               END IF;
2657               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2658               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE22';
2659               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2660               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2661               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2662               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2663               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2664               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE22;
2665               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2666               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2667               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2668               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2669               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2670               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2671               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2672               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2673               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2674               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2675               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2676               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2677               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2678               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2679               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2680               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2681               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2682 		    l_counter := l_counter + 1;
2683 
2684         end if;
2685         if asked_for_rec.PRICING_ATTRIBUTE23 is not null then
2686               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2687                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE23:'
2688                                    ||asked_for_rec.PRICING_ATTRIBUTE23,1,'Y');
2689               END IF;
2690 
2691               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2692               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2693               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2694               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2695               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2696                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2697               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2698                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2699               ELSE
2700                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2701               END IF;
2702               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2703               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE23';
2704               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2705               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2706               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2707               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2708               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2709               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE23;
2710               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2711               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2712               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2713               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2714               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2715               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2716               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2717               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2718               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2719               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2720               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2721               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2722               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2723               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2724               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2725               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2726               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2727 		    l_counter := l_counter + 1;
2728 
2729         end if;
2730         if asked_for_rec.PRICING_ATTRIBUTE24 is not null then
2731               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2732                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE24:'
2733                                    ||asked_for_rec.PRICING_ATTRIBUTE24,1,'Y');
2734               END IF;
2735 
2736               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2737               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2738               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2739               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2740               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2741                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2742               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2743                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2744               ELSE
2745                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2746               END IF;
2747               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2748               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE24';
2749               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2750               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2751               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2752               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2753               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2754               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE24;
2755               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2756               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2757               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2758               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2759               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2760               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2761               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2762               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2763               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2764               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2765               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2766               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2767               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2768               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2769               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2770               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2771               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2772 		    l_counter := l_counter + 1;
2773 
2774         end if;
2775         if asked_for_rec.PRICING_ATTRIBUTE25 is not null then
2776               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2777                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE25:'
2778                                    ||asked_for_rec.PRICING_ATTRIBUTE25,1,'Y');
2779               END IF;
2780 
2781               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2782               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2783               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2784               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2785               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2786                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2787               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2788                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2789               ELSE
2790                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2791               END IF;
2792               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2793               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE25';
2794               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2795               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2796               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2797               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2798               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2799               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE25;
2800               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2801               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2802               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2803               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2804               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2805               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2806               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2807               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2808               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2809               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2810               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2811               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2812               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2813               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2814               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2815               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2816               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2817 		    l_counter := l_counter + 1;
2818 
2819         end if;
2820         if asked_for_rec.PRICING_ATTRIBUTE26 is not null then
2821               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2822                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE26:'
2823                                    ||asked_for_rec.PRICING_ATTRIBUTE26,1,'Y');
2824               END IF;
2825 
2826               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2827               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2828               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2829               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2830               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2831                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2832               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2833                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2834               ELSE
2835                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2836               END IF;
2837               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2838               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE26';
2839               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2840               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2841               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2842               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2843               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2844               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE26;
2845               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2846               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2847               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2848               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2849               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2850               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2851               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2852               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2853               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2854               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2855               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2856               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2857               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2858               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2859               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2860               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2861               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2862 		    l_counter := l_counter + 1;
2863 
2864         end if;
2865         if asked_for_rec.PRICING_ATTRIBUTE27 is not null then
2866               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2867                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE27:'
2868                                    ||asked_for_rec.PRICING_ATTRIBUTE27,1,'Y');
2869               END IF;
2870 
2871               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2872               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2873               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2874               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2875               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2876                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2877               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2878                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2879               ELSE
2880                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2881               END IF;
2882               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2883               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE27';
2884               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2885               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2886               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2887               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2888               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2889               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE27;
2890               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2891               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2892               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2893               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2894               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2895               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2896               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2897               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2898               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2899               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2900               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2901               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2902               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2903               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2904               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2905               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2906               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2907 		    l_counter := l_counter + 1;
2908 
2909         end if;
2910         if asked_for_rec.PRICING_ATTRIBUTE28 is not null then
2911               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2912                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE28:'
2913                                    ||asked_for_rec.PRICING_ATTRIBUTE28,1,'Y');
2914               END IF;
2915 
2916               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2917               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2918               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2919               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2920               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2921                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2922               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2923                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2924               ELSE
2925                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2926               END IF;
2927               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2928               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE28';
2929               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2930               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2931               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2932               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2933               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2934               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE28;
2935               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2936               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2937               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2938               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2939               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2940               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2941               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2942               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2943               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2944               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2945               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2946               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2947               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2948               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2949               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2950               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2951               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2952 		    l_counter := l_counter + 1;
2953 
2954         end if;
2955         if asked_for_rec.PRICING_ATTRIBUTE29 is not null then
2956               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2957                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE29:'
2958                                    ||asked_for_rec.PRICING_ATTRIBUTE29,1,'Y');
2959               END IF;
2960 
2961               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2962               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2963               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2964               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2965               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2966                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2967               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2968                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2969               ELSE
2970                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2971               END IF;
2972               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2973               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE29';
2974               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2975               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2976               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2977               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2978               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2979               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE29;
2980               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2981               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2982               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2983               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2984               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2985               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2986               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2987               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2988               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2989               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2990               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2991               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2992               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2993               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2994               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2995               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2996               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2997 		    l_counter := l_counter + 1;
2998 
2999         end if;
3000         if asked_for_rec.PRICING_ATTRIBUTE30 is not null then
3001               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3002                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE30:'
3003                                    ||asked_for_rec.PRICING_ATTRIBUTE30,1,'Y');
3004               END IF;
3005 
3006               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3007               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3008               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3009               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3010               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3011                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3012               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3013                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3014               ELSE
3015                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3016               END IF;
3017               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3018               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE30';
3019               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3020               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3021               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3022               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3023               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3024               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE30;
3025               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3026               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3027               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3028               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3029               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3030               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3031               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3032               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3033               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3034               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3035               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3036               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3037               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3038               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3039               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3040               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3041               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3042 		    l_counter := l_counter + 1;
3043 
3044         end if;
3045         if asked_for_rec.PRICING_ATTRIBUTE31 is not null then
3046               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3047                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE31:'
3048                                    ||asked_for_rec.PRICING_ATTRIBUTE31,1,'Y');
3049               END IF;
3050 
3051               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3052               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3053               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3054               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3055               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3056                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3057               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3058                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3059               ELSE
3060                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3061               END IF;
3062               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3063               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE31';
3064               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3065               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3066               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3067               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3068               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3069               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE31;
3070               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3071               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3072               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3073               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3074               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3075               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3076               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3077               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3078               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3079               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3080               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3081               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3082               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3083               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3084               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3085               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3086               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3087 		    l_counter := l_counter + 1;
3088 
3089         end if;
3090         if asked_for_rec.PRICING_ATTRIBUTE32 is not null then
3091               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3092                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE32:'
3093                                    ||asked_for_rec.PRICING_ATTRIBUTE32,1,'Y');
3094               END IF;
3095 
3096               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3097               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3098               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3099               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3100               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3101                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3102               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3103                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3104               ELSE
3105                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3106               END IF;
3107               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3108               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE32';
3109               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3110               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3111               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3112               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3113               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3114               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE32;
3115               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3116               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3117               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3118               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3119               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3120               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3121               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3122               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3123               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3124               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3125               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3126               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3127               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3128               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3129               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3130               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3131               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3132 		    l_counter := l_counter + 1;
3133 
3134         end if;
3135         if asked_for_rec.PRICING_ATTRIBUTE33 is not null then
3136               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3137                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE33:'
3138                                    ||asked_for_rec.PRICING_ATTRIBUTE33,1,'Y');
3139               END IF;
3140 
3141               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3142               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3143               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3144               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3145               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3146                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3147               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3148                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3149               ELSE
3150                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3151               END IF;
3152               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3153               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE33';
3154               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3155               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3156               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3157               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3158               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3159               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE33;
3160               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3161               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3162               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3163               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3164               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3165               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3166               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3167               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3168               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3169               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3170               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3171               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3172               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3173               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3174               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3175               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3176               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3177 		    l_counter := l_counter + 1;
3178 
3179         end if;
3180         if asked_for_rec.PRICING_ATTRIBUTE34 is not null then
3181               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3182                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE34:'
3183                                    ||asked_for_rec.PRICING_ATTRIBUTE34,1,'Y');
3184               END IF;
3185 
3186               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3187               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3188               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3189               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3190               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3191                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3192               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3193                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3194               ELSE
3195                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3196               END IF;
3197               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3198               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE34';
3199               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3200               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3201               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3202               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3203               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3204               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE34;
3205               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3206               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3207               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3208               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3209               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3210               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3211               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3212               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3213               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3214               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3215               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3216               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3217               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3218               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3219               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3220               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3221               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3222 		    l_counter := l_counter + 1;
3223 
3224         end if;
3225         if asked_for_rec.PRICING_ATTRIBUTE35 is not null then
3226               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3227                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE35:'
3228                                    ||asked_for_rec.PRICING_ATTRIBUTE35,1,'Y');
3229               END IF;
3230 
3231               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3232               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3233               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3234               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3235               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3236                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3237               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3238                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3239               ELSE
3240                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3241               END IF;
3242               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3243               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE35';
3244               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3245               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3246               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3247               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3248               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3249               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE35;
3250               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3251               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3252               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3253               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3254               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3255               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3256               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3257               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3258               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3259               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3260               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3261               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3262               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3263               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3264               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3265               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3266               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3267               l_counter := l_counter + 1;
3268 
3269         end if;
3270         if asked_for_rec.PRICING_ATTRIBUTE36 is not null then
3271               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3272                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE36:'
3273                                    ||asked_for_rec.PRICING_ATTRIBUTE36,1,'Y');
3274               END IF;
3275 
3276               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3277               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3278               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3279               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3280               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3281                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3282               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3283                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3284               ELSE
3285                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3286               END IF;
3287               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3288               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE36';
3289               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3290               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3291               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3292               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3293               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3294               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE36;
3295               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3296               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3297               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3298               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3299               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3300               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3301               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3302               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3303               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3304               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3305               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3306               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3307               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3308               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3309               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3310               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3311               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3312 		    l_counter := l_counter + 1;
3313 
3314         end if;
3315         if asked_for_rec.PRICING_ATTRIBUTE37 is not null then
3316               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3317                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE37:'
3318                                    ||asked_for_rec.PRICING_ATTRIBUTE37,1,'Y');
3319               END IF;
3320 
3321               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3322               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3323               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3324               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3325               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3326                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3327               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3328                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3329               ELSE
3330                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3331               END IF;
3332               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3333               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE37';
3334               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3335               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3336               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3337               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3338               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3339               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE37;
3340               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3341               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3342               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3343               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3344               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3345               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3346               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3347               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3348               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3349               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3350               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3351               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3352               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3353               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3354               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3355               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3356               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3357 		    l_counter := l_counter + 1;
3358 
3359         end if;
3360         if asked_for_rec.PRICING_ATTRIBUTE38 is not null then
3361               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3362                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE38:'
3363                                    ||asked_for_rec.PRICING_ATTRIBUTE38,1,'Y');
3364               END IF;
3365 
3366               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3367               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3368               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3369               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3370               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3371                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3372               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3373                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3374               ELSE
3375                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3376               END IF;
3377               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3378               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE38';
3379               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3380               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3381               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3382               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3383               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3384               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE38;
3385               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3386               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3387               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3388               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3389               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3390               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3391               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3392               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3393               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3394               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3395               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3396               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3397               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3398               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3399               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3400               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3401               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3402 		    l_counter := l_counter + 1;
3403 
3404         end if;
3405         if asked_for_rec.PRICING_ATTRIBUTE39 is not null then
3406               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3407                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE39:'
3408                                    ||asked_for_rec.PRICING_ATTRIBUTE39,1,'Y');
3409               END IF;
3410 
3411               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3412               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3413               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3414               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3415               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3416                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3417               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3418                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3419               ELSE
3420                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3421               END IF;
3422               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3423               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE39';
3424               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3425               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3426               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3427               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3428               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3429               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE39;
3430               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3431               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3432               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3433               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3434               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3435               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3436               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3437               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3438               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3439               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3440               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3441               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3442               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3443               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3444               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3445               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3446               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3447 		    l_counter := l_counter + 1;
3448 
3449         end if;
3450         if asked_for_rec.PRICING_ATTRIBUTE40 is not null then
3451               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3452                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE40:'
3453                                    ||asked_for_rec.PRICING_ATTRIBUTE40,1,'Y');
3454               END IF;
3455 
3456               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3457               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3458               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3459               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3460               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3461                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3462               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3463                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3464               ELSE
3465                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3466               END IF;
3467               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3468               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE40';
3469               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3470               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3471               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3472               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3473               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3474               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE40;
3475               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3476               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3477               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3478               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3479               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3480               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3481               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3482               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3483               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3484               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3485               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3486               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3487               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3488               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3489               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3490               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3491               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3492 		    l_counter := l_counter + 1;
3493 
3494         end if;
3495         if asked_for_rec.PRICING_ATTRIBUTE41 is not null then
3496               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3497                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE41:'
3498                                    ||asked_for_rec.PRICING_ATTRIBUTE41,1,'Y');
3499               END IF;
3500 
3501               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3502               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3503               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3504               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3505               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3506                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3507               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3508                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3509               ELSE
3510                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3511               END IF;
3512               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3513               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE41';
3514               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3515               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3516               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3517               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3518               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3519               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE41;
3520               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3521               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3522               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3523               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3524               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3525               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3526               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3527               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3528               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3529               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3530               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3531               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3532               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3533               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3534               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3535               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3536               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3537 		    l_counter := l_counter + 1;
3538 
3539         end if;
3540         if asked_for_rec.PRICING_ATTRIBUTE42 is not null then
3541               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3542                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE42:'
3543                                    ||asked_for_rec.PRICING_ATTRIBUTE42,1,'Y');
3544               END IF;
3545 
3546               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3547               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3548               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3549               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3550               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3551                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3552               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3553                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3554               ELSE
3555                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3556               END IF;
3557               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3558               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE42';
3559               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3560               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3561               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3562               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3563               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3564               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE42;
3565               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3566               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3567               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3568               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3569               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3570               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3571               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3572               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3573               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3574               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3575               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3576               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3577               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3578               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3579               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3580               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3581               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3582 		    l_counter := l_counter + 1;
3583 
3584         end if;
3585         if asked_for_rec.PRICING_ATTRIBUTE43 is not null then
3586               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3587                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE43:'
3588                                    ||asked_for_rec.PRICING_ATTRIBUTE43,1,'Y');
3589               END IF;
3590 
3591               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3592               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3593               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3594               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3595               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3596                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3597               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3598                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3599               ELSE
3600                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3601               END IF;
3602               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3603               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE43';
3604               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3605               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3606               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3607               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3608               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3609               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE43;
3610               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3611               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3612               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3613               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3614               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3615               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3616               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3617               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3618               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3619               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3620               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3621               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3622               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3623               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3624               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3625               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3626               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3627 		    l_counter := l_counter + 1;
3628 
3629         end if;
3630         if asked_for_rec.PRICING_ATTRIBUTE44 is not null then
3631               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3632                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE44:'
3633                                    ||asked_for_rec.PRICING_ATTRIBUTE44,1,'Y');
3634               END IF;
3635 
3636               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3637               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3638               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3639               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3640               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3641                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3642               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3643                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3644               ELSE
3645                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3646               END IF;
3647               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3648               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE44';
3649               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3650               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3651               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3652               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3653               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3654               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE44;
3655               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3656               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3657               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3658               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3659               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3660               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3661               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3662               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3663               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3664               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3665               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3666               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3667               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3668               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3669               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3670               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3671               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3672 		    l_counter := l_counter + 1;
3673 
3674         end if;
3675         if asked_for_rec.PRICING_ATTRIBUTE45 is not null then
3676               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3677                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE45:'
3678                                    ||asked_for_rec.PRICING_ATTRIBUTE45,1,'Y');
3679               END IF;
3680 
3681               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3682               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3683               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3684               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3685               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3686                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3687               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3688                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3689               ELSE
3690                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3691               END IF;
3692               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3693               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE45';
3694               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3695               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3696               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3697               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3698               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3699               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE45;
3700               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3701               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3702               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3703               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3704               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3705               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3706               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3707               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3708               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3709               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3710               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3711               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3712               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3713               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3714               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3715               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3716               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3717 		    l_counter := l_counter + 1;
3718 
3719         end if;
3720         if asked_for_rec.PRICING_ATTRIBUTE46 is not null then
3721               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3722                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE46:'
3723                                    ||asked_for_rec.PRICING_ATTRIBUTE46,1,'Y');
3724               END IF;
3725 
3726               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3727               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3728               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3729               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3730               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3731                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3732               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3733                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3734               ELSE
3735                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3736               END IF;
3737               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3738               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE46';
3739               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3740               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3741               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3742               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3743               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3744               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE46;
3745               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3746               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3747               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3748               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3749               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3750               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3751               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3752               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3753               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3754               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3755               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3756               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3757               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3758               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3759               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3760               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3761               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3762 		    l_counter := l_counter + 1;
3763 
3764         end if;
3765         if asked_for_rec.PRICING_ATTRIBUTE47 is not null then
3766               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3767                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE47:'
3768                                    ||asked_for_rec.PRICING_ATTRIBUTE47,1,'Y');
3769               END IF;
3770 
3771               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3772               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3773               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3774               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3775               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3776                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3777               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3778                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3779               ELSE
3780                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3781               END IF;
3782               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3783               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE47';
3784               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3785               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3786               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3787               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3788               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3789               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE47;
3790               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3791               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3792               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3793               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3794               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3795               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3796               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3797               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3798               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3799               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3800               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3801               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3802               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3803               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3804               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3805               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3806               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3807 		    l_counter := l_counter + 1;
3808 
3809         end if;
3810         if asked_for_rec.PRICING_ATTRIBUTE48 is not null then
3811               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3812                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE48:'
3813                                    ||asked_for_rec.PRICING_ATTRIBUTE48,1,'Y');
3814               END IF;
3815 
3816               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3817               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3818               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3819               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3820               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3821                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3822               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3823                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3824               ELSE
3825                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3826               END IF;
3827               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3828               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE48';
3829               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3830               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3831               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3832               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3833               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3834               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE48;
3835               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3836               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3837               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3838               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3839               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3840               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3841               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3842               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3843               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3844               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3845               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3846               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3847               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3848               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3849               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3850               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3851               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3852 		    l_counter := l_counter + 1;
3853 
3854         end if;
3855         if asked_for_rec.PRICING_ATTRIBUTE49 is not null then
3856               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3857                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE49:'
3858                                    ||asked_for_rec.PRICING_ATTRIBUTE49,1,'Y');
3859               END IF;
3860 
3861               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3862               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3863               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3864               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3865               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3866                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3867               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3868                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3869               ELSE
3870                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3871               END IF;
3872               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3873               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE49';
3874               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3875               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3876               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3877               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3878               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3879               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE49;
3880               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3881               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3882               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3883               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3884               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3885               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3886               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3887               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3888               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3889               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3890               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3891               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3892               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3893               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3894               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3895               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3896               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3897 		    l_counter := l_counter + 1;
3898 
3899         end if;
3900         if asked_for_rec.PRICING_ATTRIBUTE50 is not null then
3901               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3902                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE50:'
3903                                    ||asked_for_rec.PRICING_ATTRIBUTE50,1,'Y');
3904               END IF;
3905 
3906               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3907               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3908               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3909               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3910               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3911                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3912               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3913                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3914               ELSE
3915                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3916               END IF;
3917               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3918               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE50';
3919               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3920               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3921               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3922               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3923               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3924               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE50;
3925               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3926               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3927               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3928               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3929               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3930               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3931               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3932               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3933               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3934               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3935               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3936               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3937               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3938               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3939               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3940               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3941               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3942 		    l_counter := l_counter + 1;
3943 
3944         end if;
3945         if asked_for_rec.PRICING_ATTRIBUTE51 is not null then
3946               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3947                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE51:'
3948                                    ||asked_for_rec.PRICING_ATTRIBUTE51,1,'Y');
3949               END IF;
3950 
3951               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3952               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3953               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3954               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3955               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3956                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3957               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3958                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3959               ELSE
3960                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3961               END IF;
3962               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3963               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE51';
3964               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3965               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3966               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3967               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3968               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3969               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE51;
3970               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3971               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3972               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3973               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3974               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3975               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3976               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3977               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3978               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3979               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3980               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3981               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3982               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3983               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3984               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3985               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3986               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3987 		    l_counter := l_counter + 1;
3988 
3989         end if;
3990         if asked_for_rec.PRICING_ATTRIBUTE52 is not null then
3991               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3992                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE52:'
3993                                    ||asked_for_rec.PRICING_ATTRIBUTE52,1,'Y');
3994               END IF;
3995 
3996               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3997               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3998               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3999               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4000               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4001                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4002               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4003                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4004               ELSE
4005                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4006               END IF;
4007               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4008               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE52';
4009               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4010               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4011               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4012               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4013               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4014               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE52;
4015               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4016               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4017               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4018               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4019               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4020               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4021               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4022               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4023               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4024               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4025               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4026               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4027               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4028               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4029               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4030               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4031               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4032 		    l_counter := l_counter + 1;
4033 
4034         end if;
4035         if asked_for_rec.PRICING_ATTRIBUTE53 is not null then
4036               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4037                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE53:'
4038                                    ||asked_for_rec.PRICING_ATTRIBUTE53,1,'Y');
4039               END IF;
4040 
4041               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4042               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4043               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4044               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4045               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4046                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4047               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4048                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4049               ELSE
4050                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4051               END IF;
4052               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4053               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE53';
4054               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4055               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4056               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4057               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4058               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4059               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE53;
4060               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4061               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4062               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4063               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4064               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4065               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4066               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4067               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4068               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4069               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4070               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4071               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4072               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4073               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4074               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4075               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4076               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4077 		    l_counter := l_counter + 1;
4078 
4079         end if;
4080         if asked_for_rec.PRICING_ATTRIBUTE54 is not null then
4081               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4082                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE54:'
4083                                    ||asked_for_rec.PRICING_ATTRIBUTE54,1,'Y');
4084               END IF;
4085 
4086               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4087               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4088               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4089               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4090               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4091                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4092               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4093                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4094               ELSE
4095                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4096               END IF;
4097               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4098               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE54';
4099               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4100               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4101               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4102               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4103               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4104               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE54;
4105               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4106               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4107               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4108               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4109               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4110               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4111               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4112               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4113               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4114               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4115               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4116               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4117               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4118               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4119               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4120               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4121               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4122 		    l_counter := l_counter + 1;
4123 
4124         end if;
4125         if asked_for_rec.PRICING_ATTRIBUTE55 is not null then
4126               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4127                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE55:'
4128                                    ||asked_for_rec.PRICING_ATTRIBUTE55,1,'Y');
4129               END IF;
4130 
4131               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4132               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4133               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4134               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4135               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4136                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4137               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4138                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4139               ELSE
4140                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4141               END IF;
4142               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4143               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE55';
4144               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4145               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4146               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4147               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4148               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4149               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE55;
4150               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4151               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4152               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4153               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4154               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4155               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4156               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4157               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4158               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4159               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4160               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4161               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4162               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4163               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4164               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4165               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4166               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4167 		    l_counter := l_counter + 1;
4168 
4169         end if;
4170         if asked_for_rec.PRICING_ATTRIBUTE56 is not null then
4171               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4172                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE56:'
4173                                    ||asked_for_rec.PRICING_ATTRIBUTE56,1,'Y');
4174               END IF;
4175 
4176               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4177               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4178               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4179               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4180               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4181                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4182               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4183                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4184               ELSE
4185                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4186               END IF;
4187               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4188               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE56';
4189               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4190               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4191               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4192               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4193               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4194               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE56;
4195               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4196               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4197               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4198               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4199               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4200               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4201               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4202               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4203               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4204               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4205               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4206               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4207               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4208               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4209               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4210               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4211               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4212 		    l_counter := l_counter + 1;
4213 
4214         end if;
4215         if asked_for_rec.PRICING_ATTRIBUTE57 is not null then
4216               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4217                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE57:'
4218                                    ||asked_for_rec.PRICING_ATTRIBUTE57,1,'Y');
4219               END IF;
4220 
4221               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4222               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4223               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4224               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4225               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4226                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4227               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4228                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4229               ELSE
4230                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4231               END IF;
4232               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4233               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE57';
4234               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4235               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4236               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4237               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4238               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4239               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE57;
4240               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4241               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4242               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4243               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4244               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4245               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4246               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4247               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4248               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4249               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4250               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4251               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4252               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4253               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4254               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4255               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4256               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4257 		    l_counter := l_counter + 1;
4258 
4259         end if;
4260         if asked_for_rec.PRICING_ATTRIBUTE58 is not null then
4261               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4262                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE58:'
4263                                    ||asked_for_rec.PRICING_ATTRIBUTE58,1,'Y');
4264               END IF;
4265 
4266               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4267               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4268               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4269               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4270               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4271                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4272               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4273                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4274               ELSE
4275                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4276               END IF;
4277               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4278               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE58';
4279               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4280               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4281               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4282               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4283               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4284               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE58;
4285               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4286               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4287               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4288               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4289               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4290               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4291               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4292               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4293               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4294               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4295               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4296               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4297               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4298               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4299               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4300               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4301               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4302 		    l_counter := l_counter + 1;
4303 
4304         end if;
4305         if asked_for_rec.PRICING_ATTRIBUTE59 is not null then
4306               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4307                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE59:'
4308                                    ||asked_for_rec.PRICING_ATTRIBUTE59,1,'Y');
4309               END IF;
4310 
4311               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index ;
4312               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4313               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4314               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4315               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4316                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4317               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4318                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4319               ELSE
4320                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4321               END IF;
4322               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4323               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE59';
4324               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4325               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4326               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4327               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4328               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4329               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE59;
4330               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4331               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4332               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4333               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4334               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4335               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4336               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4337               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4338               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4339               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4340               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4341               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4342               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4343               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4344               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4345               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4346               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4347 		    l_counter := l_counter + 1;
4348 
4349         end if;
4350 
4351         if asked_for_rec.PRICING_ATTRIBUTE60 is not null then
4352               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4353                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE60:'
4354                                    ||asked_for_rec.PRICING_ATTRIBUTE60,1,'Y');
4355               END IF;
4356 
4357               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4358               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4359               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4360               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4361               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4362                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4363               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4364                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4365               ELSE
4366                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4367               END IF;
4368               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4369               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE60';
4370               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4371               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4372               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4373               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4374               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4375               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE60;
4376               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4377               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4378               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4379               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4380               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4381               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4382               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4383               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4384               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4385               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4386               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4387               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4388               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4389               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4390               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4391               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4392               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4393 		    l_counter := l_counter + 1;
4394 
4395         end if;
4396         if asked_for_rec.PRICING_ATTRIBUTE61 is not null then
4397               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4398                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE61:'
4399                                    ||asked_for_rec.PRICING_ATTRIBUTE61,1,'Y');
4400               END IF;
4401 
4402               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4403               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4404               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4405               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4406               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4407                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4408               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4409                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4410               ELSE
4411                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4412               END IF;
4413               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4414               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE61';
4415               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4416               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4417               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4418               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4419               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4420               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE61;
4421               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4422               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4423               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4424               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4425               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4426               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4427               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4428               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4429               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4430               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4431               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4432               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4433               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4434               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4435               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4436               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4437               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4438 		    l_counter := l_counter + 1;
4439 
4440         end if;
4441         if asked_for_rec.PRICING_ATTRIBUTE62 is not null then
4442               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4443                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE62:'
4444                                    ||asked_for_rec.PRICING_ATTRIBUTE62,1,'Y');
4445               END IF;
4446 
4447               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4448               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4449               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4450               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4451               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4452                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4453               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4454                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4455               ELSE
4456                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4457               END IF;
4458               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4459               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE62';
4460               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4461               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4462               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4463               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4464               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4465               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE62;
4466               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4467               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4468               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4469               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4470               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4471               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4472               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4473               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4474               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4475               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4476               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4477               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4478               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4479               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4480               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4481               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4482               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4483 		    l_counter := l_counter + 1;
4484 
4485         end if;
4486         if asked_for_rec.PRICING_ATTRIBUTE63 is not null then
4487               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4488                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE63:'
4489                                    ||asked_for_rec.PRICING_ATTRIBUTE63,1,'Y');
4490               END IF;
4491 
4492               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4493               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4494               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4495               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4496               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4497                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4498               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4499                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4500               ELSE
4501                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4502               END IF;
4503               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4504               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE63';
4505               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4506               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4507               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4508               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4509               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4510               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE63;
4511               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4512               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4513               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4514               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4515               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4516               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4517               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4518               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4519               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4520               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4521               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4522               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4523               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4524               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4525               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4526               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4527               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4528 		    l_counter := l_counter + 1;
4529 
4530         end if;
4531         if asked_for_rec.PRICING_ATTRIBUTE64 is not null then
4532               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4533                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE64:'
4534                                    ||asked_for_rec.PRICING_ATTRIBUTE64,1,'Y');
4535               END IF;
4536 
4537               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4538               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4539               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4540               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4541               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4542                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4543               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4544                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4545               ELSE
4546                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4547               END IF;
4548               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4549               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE64';
4550               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4551               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4552               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4553               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4554               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4555               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE64;
4556               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4557               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4558               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4559               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4560               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4561               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4562               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4563               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4564               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4565               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4566               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4567               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4568               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4569               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4570               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4571               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4572               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4573 		    l_counter := l_counter + 1;
4574 
4575         end if;
4576         if asked_for_rec.PRICING_ATTRIBUTE65 is not null then
4577               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4578                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE65:'
4579                                    ||asked_for_rec.PRICING_ATTRIBUTE65,1,'Y');
4580               END IF;
4581 
4582               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4583               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4584               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4585               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4586               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4587                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4588               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4589                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4590               ELSE
4591                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4592               END IF;
4593               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4594               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE65';
4595               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4596               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4597               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4598               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4599               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4600               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE65;
4601               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4602               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4603               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4604               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4605               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4606               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4607               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4608               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4609               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4610               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4611               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4612               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4613               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4614               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4615               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4616               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4617               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4618 		    l_counter := l_counter + 1;
4619 
4620         end if;
4621         if asked_for_rec.PRICING_ATTRIBUTE66 is not null then
4622               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4623                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE66:'
4624                                    ||asked_for_rec.PRICING_ATTRIBUTE66,1,'Y');
4625               END IF;
4626 
4627               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4628               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4629               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4630               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4631               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4632                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4633               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4634                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4635               ELSE
4636                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4637               END IF;
4638               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4639               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE66';
4640               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4641               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4642               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4643               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4644               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4645               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE66;
4646               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4647               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4648               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4649               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4650               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4651               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4652               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4653               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4654               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4655               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4656               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4657               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4658               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4659               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4660               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4661               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4662               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4663 		    l_counter := l_counter + 1;
4664 
4665         end if;
4666         if asked_for_rec.PRICING_ATTRIBUTE67 is not null then
4667               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4668                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE67:'
4669                                    ||asked_for_rec.PRICING_ATTRIBUTE67,1,'Y');
4670               END IF;
4671 
4672               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4673               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4674               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4675               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4676               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4677                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4678               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4679                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4680               ELSE
4681                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4682               END IF;
4683               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4684               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE67';
4685               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4686               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4687               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4688               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4689               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4690               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE67;
4691               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4692               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4693               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4694               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4695               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4696               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4697               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4698               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4699               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4700               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4701               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4702               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4703               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4704               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4705               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4706               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4707               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4708 		    l_counter := l_counter + 1;
4709 
4710         end if;
4711         if asked_for_rec.PRICING_ATTRIBUTE68 is not null then
4712               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4713                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE68:'
4714                                    ||asked_for_rec.PRICING_ATTRIBUTE68,1,'Y');
4715               END IF;
4716 
4717               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4718               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4719               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4720               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4721               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4722                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4723               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4724                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4725               ELSE
4726                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4727               END IF;
4728               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4729               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE68';
4730               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4731               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4732               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4733               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4734               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4735               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE68;
4736               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4737               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4738               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4739               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4740               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4741               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4742               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4743               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4744               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4745               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4746               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4747               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4748               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4749               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4750               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4751               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4752               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4753 		    l_counter := l_counter + 1;
4754 
4755         end if;
4756         if asked_for_rec.PRICING_ATTRIBUTE69 is not null then
4757               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4758                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE69:'
4759                                    ||asked_for_rec.PRICING_ATTRIBUTE69,1,'Y');
4760               END IF;
4761 
4762               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4763               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4764               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4765               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4766               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4767                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4768               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4769                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4770               ELSE
4771                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4772               END IF;
4773               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4774               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE69';
4775               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4776               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4777               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4778               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4779               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4780               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE69;
4781               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4782               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4783               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4784               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4785               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4786               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4787               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4788               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4789               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4790               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4791               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4792               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4793               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4794               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4795               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4796               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4797               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4798 		    l_counter := l_counter + 1;
4799 
4800         end if;
4801         if asked_for_rec.PRICING_ATTRIBUTE70 is not null then
4802               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4803                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE70:'
4804                                    ||asked_for_rec.PRICING_ATTRIBUTE70,1,'Y');
4805               END IF;
4806 
4807               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4808               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4809               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4810               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4811               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4812                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4813               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4814                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4815               ELSE
4816                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4817               END IF;
4818               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4819               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE70';
4820               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4821               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4822               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4823               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4824               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4825               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE70;
4826               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4827               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4828               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4829               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4830               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4831               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4832               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4833               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4834               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4835               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4836               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4837               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4838               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4839               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4840               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4841               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4842               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4843 		    l_counter := l_counter + 1;
4844 
4845         end if;
4846         if asked_for_rec.PRICING_ATTRIBUTE71 is not null then
4847               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4848                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE71:'
4849                                    ||asked_for_rec.PRICING_ATTRIBUTE71,1,'Y');
4850               END IF;
4851 
4852               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4853               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4854               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4855               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4856               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4857                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4858               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4859                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4860               ELSE
4861                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4862               END IF;
4863               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4864               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE71';
4865               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4866               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4867               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4868               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4869               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4870               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE71;
4871               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4872               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4873               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4874               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4875               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4876               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4877               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4878               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4879               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4880               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4881               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4882               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4883               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4884               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4885               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4886               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4887               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4888 		    l_counter := l_counter + 1;
4889 
4890         end if;
4891         if asked_for_rec.PRICING_ATTRIBUTE72 is not null then
4892               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4893                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE72:'
4894                                    ||asked_for_rec.PRICING_ATTRIBUTE72,1,'Y');
4895               END IF;
4896 
4897               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4898               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4899               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4900               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4901               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4902                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4903               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4904                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4905               ELSE
4906                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4907               END IF;
4908               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4909               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE72';
4910               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4911               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4912               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4913               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4914               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4915               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE72;
4916               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4917               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4918               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4919               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4920               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4921               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4922               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4923               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4924               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4925               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4926               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4927               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4928               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4929               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4930               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4931               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4932               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4933 		    l_counter := l_counter + 1;
4934 
4935         end if;
4936         if asked_for_rec.PRICING_ATTRIBUTE73 is not null then
4937               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4938                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE73:'
4939                                    ||asked_for_rec.PRICING_ATTRIBUTE73,1,'Y');
4940               END IF;
4941 
4942               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4943               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4944               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4945               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4946               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4947                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4948               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4949                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4950               ELSE
4951                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4952               END IF;
4953               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4954               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE73';
4955               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4956               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4957               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4958               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4959               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4960               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE73;
4961               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4962               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4963               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4964               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4965               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4966               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4967               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4968               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4969               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4970               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4971               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4972               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4973               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4974               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4975               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4976               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4977               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4978 		    l_counter := l_counter + 1;
4979 
4980         end if;
4981         if asked_for_rec.PRICING_ATTRIBUTE74 is not null then
4982               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4983                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE74:'
4984                                    ||asked_for_rec.PRICING_ATTRIBUTE74,1,'Y');
4985               END IF;
4986 
4987               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4988               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4989               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4990               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4991               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4992                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4993               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4994                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4995               ELSE
4996                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4997               END IF;
4998               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4999               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE74';
5000               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5001               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5002               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5003               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5004               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5005               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE74;
5006               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5007               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5008               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5009               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5010               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5011               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5012               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5013               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5014               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5015               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5016               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5017               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5018               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5019               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5020               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5021               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5022               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5023 		    l_counter := l_counter + 1;
5024 
5025         end if;
5026         if asked_for_rec.PRICING_ATTRIBUTE75 is not null then
5027               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5028                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE75:'
5029                                    ||asked_for_rec.PRICING_ATTRIBUTE75,1,'Y');
5030               END IF;
5031 
5032               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5033               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5034               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5035               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5036               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5037                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5038               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5039                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5040               ELSE
5041                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5042               END IF;
5043               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5044               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE75';
5045               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5046               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5047               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5048               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5049               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5050               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE75;
5051               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5052               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5053               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5054               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5055               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5056               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5057               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5058               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5059               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5060               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5061               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5062               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5063               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5064               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5065               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5066               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5067               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5068 		    l_counter := l_counter + 1;
5069 
5070         end if;
5071         if asked_for_rec.PRICING_ATTRIBUTE76 is not null then
5072               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5073                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE76:'
5074                                    ||asked_for_rec.PRICING_ATTRIBUTE76,1,'Y');
5075               END IF;
5076 
5077               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5078               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5079               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5080               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5081               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5082                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5083               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5084                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5085               ELSE
5086                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5087               END IF;
5088               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5089               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE76';
5090               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5091               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5092               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5093               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5094               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5095               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE76;
5096               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5097               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5098               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5099               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5100               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5101               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5102               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5103               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5104               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5105               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5106               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5107               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5108               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5109               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5110               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5111               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5112               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5113 		    l_counter := l_counter + 1;
5114 
5115         end if;
5116         if asked_for_rec.PRICING_ATTRIBUTE77 is not null then
5117               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5118                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE77:'
5119                                    ||asked_for_rec.PRICING_ATTRIBUTE77,1,'Y');
5120               END IF;
5121 
5122               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5123               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5124               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5125               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5126               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5127                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5128               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5129                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5130               ELSE
5131                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5132               END IF;
5133               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5134               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE77';
5135               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5136               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5137               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5138               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5139               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5140               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE77;
5141               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5142               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5143               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5144               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5145               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5146               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5147               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5148               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5149               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5150               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5151               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5152               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5153               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5154               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5155               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5156               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5157               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5158 		    l_counter := l_counter + 1;
5159 
5160         end if;
5161         if asked_for_rec.PRICING_ATTRIBUTE78 is not null then
5162               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5163                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE78:'
5164                                    ||asked_for_rec.PRICING_ATTRIBUTE78,1,'Y');
5165               END IF;
5166 
5167               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5168               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5169               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5170               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5171               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5172                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5173               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5174                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5175               ELSE
5176                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5177               END IF;
5178               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5179               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE78';
5180               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5181               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5182               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5183               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5184               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5185               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE78;
5186               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5187               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5188               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5189               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5190               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5191               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5192               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5193               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5194               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5195               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5196               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5197               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5198               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5199               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5200               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5201               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5202               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5203 		    l_counter := l_counter + 1;
5204 
5205         end if;
5206         if asked_for_rec.PRICING_ATTRIBUTE79 is not null then
5207               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5208                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE79:'
5209                                    ||asked_for_rec.PRICING_ATTRIBUTE79,1,'Y');
5210               END IF;
5211 
5212               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5213               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5214               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5215               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5216               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5217                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5218               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5219                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5220               ELSE
5221                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5222               END IF;
5223               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5224               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE79';
5225               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5226               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5227               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5228               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5229               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5230               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE79;
5231               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5232               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5233               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5234               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5235               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5236               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5237               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5238               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5239               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5240               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5241               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5242               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5243               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5244               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5245               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5246               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5247               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5248 		    l_counter := l_counter + 1;
5249 
5250         end if;
5251         if asked_for_rec.PRICING_ATTRIBUTE80 is not null then
5252               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5253                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE80:'
5254                                    ||asked_for_rec.PRICING_ATTRIBUTE80,1,'Y');
5255               END IF;
5256 
5257               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5258               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5259               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5260               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5261               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5262                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5263               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5264                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5265               ELSE
5266                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5267               END IF;
5268               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5269               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE80';
5270               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5271               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5272               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5273               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5274               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5275               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE80;
5276               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5277               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5278               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5279               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5280               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5281               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5282               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5283               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5284               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5285               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5286               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5287               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5288               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5289               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5290               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5291               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5292               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5293 		    l_counter := l_counter + 1;
5294 
5295         end if;
5296         if asked_for_rec.PRICING_ATTRIBUTE81 is not null then
5297               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5298                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE81:'
5299                                    ||asked_for_rec.PRICING_ATTRIBUTE81,1,'Y');
5300               END IF;
5301 
5302               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5303               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5304               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5305               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5306               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5307                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5308               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5309                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5310               ELSE
5311                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5312               END IF;
5313               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5314               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE81';
5315               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5316               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5317               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5318               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5319               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5320               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE81;
5321               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5322               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5323               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5324               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5325               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5326               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5327               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5328               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5329               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5330               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5331               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5332               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5333               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5334               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5335               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5336               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5337               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5338 		    l_counter := l_counter + 1;
5339 
5340         end if;
5341         if asked_for_rec.PRICING_ATTRIBUTE82 is not null then
5342               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5343                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE82:'
5344                                    ||asked_for_rec.PRICING_ATTRIBUTE82,1,'Y');
5345               END IF;
5346 
5347               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5348               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5349               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5350               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5351               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5352                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5353               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5354                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5355               ELSE
5356                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5357               END IF;
5358               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5359               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE82';
5360               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5361               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5362               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5363               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5364               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5365               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE82;
5366               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5367               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5368               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5369               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5370               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5371               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5372               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5373               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5374               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5375               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5376               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5377               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5378               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5379               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5380               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5381               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5382               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5383 		    l_counter := l_counter + 1;
5384 
5385         end if;
5386         if asked_for_rec.PRICING_ATTRIBUTE83 is not null then
5387               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5388                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE83:'
5389                                    ||asked_for_rec.PRICING_ATTRIBUTE83,1,'Y');
5390               END IF;
5391 
5392               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5393               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5394               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5395               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5396               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5397                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5398               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5399                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5400               ELSE
5401                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5402               END IF;
5403               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5404               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE83';
5405               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5406               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5407               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5408               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5409               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5410               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE83;
5411               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5412               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5413               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5414               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5415               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5416               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5417               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5418               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5419               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5420               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5421               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5422               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5423               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5424               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5425               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5426               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5427               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5428 		    l_counter := l_counter + 1;
5429 
5430         end if;
5431         if asked_for_rec.PRICING_ATTRIBUTE84 is not null then
5432               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5433                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE84:'
5434                                    ||asked_for_rec.PRICING_ATTRIBUTE84,1,'Y');
5435               END IF;
5436 
5437               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5438               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5439               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5440               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5441               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5442                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5443               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5444                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5445               ELSE
5446                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5447               END IF;
5448               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5449               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE84';
5450               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5451               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5452               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5453               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5454               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5455               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE84;
5456               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5457               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5458               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5459               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5460               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5461               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5462               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5463               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5464               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5465               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5466               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5467               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5468               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5469               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5470               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5471               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5472               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5473 		    l_counter := l_counter + 1;
5474 
5475         end if;
5476         if asked_for_rec.PRICING_ATTRIBUTE85 is not null then
5477               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5478                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE85:'
5479                                    ||asked_for_rec.PRICING_ATTRIBUTE85,1,'Y');
5480               END IF;
5481 
5482               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5483               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5484               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5485               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5486               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5487                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5488               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5489                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5490               ELSE
5491                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5492               END IF;
5493               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5494               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE85';
5495               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5496               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5497               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5498               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5499               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5500               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE85;
5501               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5502               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5503               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5504               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5505               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5506               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5507               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5508               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5509               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5510               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5511               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5512               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5513               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5514               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5515               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5516               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5517               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5518 		    l_counter := l_counter + 1;
5519 
5520         end if;
5521         if asked_for_rec.PRICING_ATTRIBUTE86 is not null then
5522               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5523                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE86:'
5524                                    ||asked_for_rec.PRICING_ATTRIBUTE86,1,'Y');
5525               END IF;
5526 
5527               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5528               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5529               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5530               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5531               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5532                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5533               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5534                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5535               ELSE
5536                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5537               END IF;
5538               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5539               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE86';
5540               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5541               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5542               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5543               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5544               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5545               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE86;
5546               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5547               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5548               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5549               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5550               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5551               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5552               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5553               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5554               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5555               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5556               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5557               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5558               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5559               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5560               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5561               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5562               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5563 		    l_counter := l_counter + 1;
5564 
5565         end if;
5566         if asked_for_rec.PRICING_ATTRIBUTE87 is not null then
5567               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5568                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE87:'
5569                                    ||asked_for_rec.PRICING_ATTRIBUTE87,1,'Y');
5570               END IF;
5571 
5572               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5573               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5574               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5575               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5576               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5577                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5578               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5579                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5580               ELSE
5581                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5582               END IF;
5583               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5584               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE87';
5585               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5586               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5587               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5588               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5589               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5590               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE87;
5591               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5592               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5593               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5594               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5595               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5596               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5597               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5598               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5599               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5600               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5601               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5602               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5603               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5604               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5605               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5606               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5607               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5608 		    l_counter := l_counter + 1;
5609 
5610         end if;
5611         if asked_for_rec.PRICING_ATTRIBUTE88 is not null then
5612               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5613                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE88:'
5614                                    ||asked_for_rec.PRICING_ATTRIBUTE88,1,'Y');
5615               END IF;
5616 
5617               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5618               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5619               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5620               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5621               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5622                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5623               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5624                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5625               ELSE
5626                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5627               END IF;
5628               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5629               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE88';
5630               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5631               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5632               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5633               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5634               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5635               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE88;
5636               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5637               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5638               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5639               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5640               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5641               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5642               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5643               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5644               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5645               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5646               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5647               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5648               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5649               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5650               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5651               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5652               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5653 		    l_counter := l_counter + 1;
5654 
5655         end if;
5656         if asked_for_rec.PRICING_ATTRIBUTE89 is not null then
5657               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5658                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE89:'
5659                                    ||asked_for_rec.PRICING_ATTRIBUTE89,1,'Y');
5660               END IF;
5661 
5662               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5663               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5664               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5665               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5666               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5667                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5668               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5669                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5670               ELSE
5671                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5672               END IF;
5673               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5674               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE89';
5675               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5676               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5677               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5678               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5679               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5680               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE89;
5681               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5682               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5683               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5684               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5685               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5686               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5687               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5688               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5689               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5690               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5691               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5692               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5693               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5694               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5695               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5696               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5697               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5698 		    l_counter := l_counter + 1;
5699 
5700         end if;
5701         if asked_for_rec.PRICING_ATTRIBUTE90 is not null then
5702               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5703                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE90:'
5704                                    ||asked_for_rec.PRICING_ATTRIBUTE90,1,'Y');
5705               END IF;
5706 
5707               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5708               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5709               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5710               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5711               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5712                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5713               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5714                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5715               ELSE
5716                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5717               END IF;
5718               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5719               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE90';
5720               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5721               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5722               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5723               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5724               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5725               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE90;
5726               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5727               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5728               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5729               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5730               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5731               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5732               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5733               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5734               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5735               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5736               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5737               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5738               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5739               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5740               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5741               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5742               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5743 		    l_counter := l_counter + 1;
5744 
5745         end if;
5746         if asked_for_rec.PRICING_ATTRIBUTE91 is not null then
5747               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5748                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE91:'
5749                                    ||asked_for_rec.PRICING_ATTRIBUTE91,1,'Y');
5750               END IF;
5751 
5752               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5753               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5754               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5755               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5756               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5757                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5758               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5759                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5760               ELSE
5761                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5762               END IF;
5763               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5764               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE91';
5765               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5766               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5767               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5768               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5769               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5770               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE91;
5771               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5772               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5773               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5774               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5775               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5776               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5777               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5778               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5779               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5780               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5781               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5782               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5783               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5784               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5785               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5786               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5787               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5788 		    l_counter := l_counter + 1;
5789 
5790         end if;
5791         if asked_for_rec.PRICING_ATTRIBUTE92 is not null then
5792               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5793                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE92:'
5794                                    ||asked_for_rec.PRICING_ATTRIBUTE92,1,'Y');
5795               END IF;
5796 
5797               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5798               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5799               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5800               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5801               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5802                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5803               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5804                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5805               ELSE
5806                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5807               END IF;
5808               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5809               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE92';
5810               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5811               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5812               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5813               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5814               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5815               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE92;
5816               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5817               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5818               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5819               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5820               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5821               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5822               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5823               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5824               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5825               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5826               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5827               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5828               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5829               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5830               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5831               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5832               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5833 		    l_counter := l_counter + 1;
5834 
5835         end if;
5836         if asked_for_rec.PRICING_ATTRIBUTE93 is not null then
5837               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5838                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE93:'
5839                                    ||asked_for_rec.PRICING_ATTRIBUTE93,1,'Y');
5840               END IF;
5841 
5842               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5843               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5844               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5845               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5846               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5847                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5848               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5849                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5850               ELSE
5851                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5852               END IF;
5853               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5854               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE93';
5855               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5856               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5857               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5858               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5859               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5860               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE93;
5861               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5862               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5863               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5864               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5865               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5866               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5867               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5868               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5869               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5870               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5871               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5872               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5873               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5874               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5875               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5876               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5877               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5878 		    l_counter := l_counter + 1;
5879 
5880         end if;
5881         if asked_for_rec.PRICING_ATTRIBUTE94 is not null then
5882               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5883                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE94:'
5884                                    ||asked_for_rec.PRICING_ATTRIBUTE94,1,'Y');
5885               END IF;
5886 
5887               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5888               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5889               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5890               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5891               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5892                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5893               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5894                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5895               ELSE
5896                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5897               END IF;
5898               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5899               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE94';
5900               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5901               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5902               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5903               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5904               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5905               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE94;
5906               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5907               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5908               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5909               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5910               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5911               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5912               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5913               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5914               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5915               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5916               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5917               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5918               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5919               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5920               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5921               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5922               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5923 		    l_counter := l_counter + 1;
5924 
5925         end if;
5926         if asked_for_rec.PRICING_ATTRIBUTE95 is not null then
5927               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5928                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE95:'
5929                                    ||asked_for_rec.PRICING_ATTRIBUTE95,1,'Y');
5930               END IF;
5931 
5932               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5933               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5934               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5935               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5936               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5937                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5938               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5939                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5940               ELSE
5941                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5942               END IF;
5943               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5944               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE95';
5945               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5946               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5947               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5948               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5949               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5950               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE95;
5951               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5952               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5953               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5954               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5955               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5956               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5957               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5958               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5959               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5960               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5961               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5962               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5963               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5964               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5965               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5966               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5967               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5968 		    l_counter := l_counter + 1;
5969 
5970         end if;
5971         if asked_for_rec.PRICING_ATTRIBUTE96 is not null then
5972               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5973                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE96:'
5974                                    ||asked_for_rec.PRICING_ATTRIBUTE96,1,'Y');
5975               END IF;
5976 
5977               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5978               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5979               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5980               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5981               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5982                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5983               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5984                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5985               ELSE
5986                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5987               END IF;
5988               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5989               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE96';
5990               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5991               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5992               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5993               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5994               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5995               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE96;
5996               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5997               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5998               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5999               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6000               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6001               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6002               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6003               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6004               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6005               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6006               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6007               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6008               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6009               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6010               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6011               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6012               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6013 		    l_counter := l_counter + 1;
6014 
6015         end if;
6016         if asked_for_rec.PRICING_ATTRIBUTE97 is not null then
6017               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6018                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE97:'
6019                                    ||asked_for_rec.PRICING_ATTRIBUTE97,1,'Y');
6020               END IF;
6021 
6022               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6023               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6024               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6025               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6026               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6027                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6028               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6029                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6030               ELSE
6031                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6032               END IF;
6033               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6034               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE97';
6035               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6036               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6037               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6038               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6039               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6040               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE97;
6041               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6042               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6043               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6044               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6045               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6046               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6047               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6048               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6049               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6050               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6051               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6052               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6053               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6054               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6055               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6056               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6057               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6058 		    l_counter := l_counter + 1;
6059 
6060         end if;
6061         if asked_for_rec.PRICING_ATTRIBUTE98 is not null then
6062               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6063                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE98:'
6064                                    ||asked_for_rec.PRICING_ATTRIBUTE98,1,'Y');
6065               END IF;
6066 
6067               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6068               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6069               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6070               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6071               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6072                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6073               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6074                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6075               ELSE
6076                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6077               END IF;
6078               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6079               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE98';
6080               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6081               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6082               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6083               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6084               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6085               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE98;
6086               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6087               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6088               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6089               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6090               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6091               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6092               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6093               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6094               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6095               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6096               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6097               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6098               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6099               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6100               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6101               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6102               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6103 		    l_counter := l_counter + 1;
6104 
6105         end if;
6106         if asked_for_rec.PRICING_ATTRIBUTE99 is not null then
6107               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6108                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE99:'
6109                                    ||asked_for_rec.PRICING_ATTRIBUTE99,1,'Y');
6110               END IF;
6111 
6112               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6113               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6114               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6115               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6116               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6117                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6118               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6119                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6120               ELSE
6121                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6122               END IF;
6123               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6124               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE99';
6125               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6126               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6127               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6128               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6129               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6130               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE99;
6131               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6132               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6133               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6134               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6135               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6136               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6137               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6138               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6139               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6140               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6141               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6142               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6143               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6144               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6145               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6146               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6147               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6148 		    l_counter := l_counter + 1;
6149 
6150         end if;
6151         if asked_for_rec.PRICING_ATTRIBUTE100 is not null then
6152               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6153                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE100:'
6154                                    ||asked_for_rec.PRICING_ATTRIBUTE100,1,'Y');
6155               END IF;
6156 
6157               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6158               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6159               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6160               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6161               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6162                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6163               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6164                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6165               ELSE
6166                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6167               END IF;
6168               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6169               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE100';
6170               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6171               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6172               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6173               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6174               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6175               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE100;
6176               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6177               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6178               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6179               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6180               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6181               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6182               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6183               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6184               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6185               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6186               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6187               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6188               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6189               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6190               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6191               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6192               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6193 		    l_counter := l_counter + 1;
6194 
6195         end if;
6196 
6197       else -- Copy the Qualifiers
6198 	 if p_pricing_event = 'BATCH' then
6199 	   --added the and condition to accomodate the change made in the forms UI to pass pricing_attribute1 only when pricing_attribute2 is null
6200         if asked_for_rec.PRICING_ATTRIBUTE1 is not null and asked_for_rec.PRICING_ATTRIBUTE2 is null then -- Promotion
6201               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6202                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE1:'
6203                                    ||asked_for_rec.PRICING_ATTRIBUTE1,1,'Y');
6204               END IF;
6205 
6206               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6207               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6208               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6209               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6210                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6211               ELSE
6212                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6213               END IF;
6214               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6215                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6216               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6217                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6218               ELSE
6219                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6220               END IF;
6221               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6222               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE1';
6223               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6224               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6225               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6226               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6227               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6228               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE1;
6229               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6230               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6231               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6232               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6233               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6234               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6235               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6236               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6237               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6238               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6239               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6240               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6241               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6242               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6243               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6244               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6245               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6246 		    l_counter := l_counter + 1;
6247 
6248         end if;
6249         if asked_for_rec.PRICING_ATTRIBUTE2 is not null then --Deal Component
6250               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6251                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE2:'
6252                                    ||asked_for_rec.PRICING_ATTRIBUTE2,1,'Y');
6253               END IF;
6254 
6255               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6256               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6257               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6258               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6259                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6260               ELSE
6261                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6262               END IF;
6263               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6264                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6265               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6266                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6267               ELSE
6268                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6269               END IF;
6270               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6271               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE2';
6272               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6273               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6274               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6275               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6276               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6277               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE2;
6278               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6279               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6280               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6281               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6282               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6283               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6284               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6285               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6286               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6287               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6288               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6289               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6290               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6291               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6292               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6293               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6294               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6295 		    l_counter := l_counter + 1;
6296 
6297         end if;
6298         if asked_for_rec.PRICING_ATTRIBUTE3 is not null then -- Coupons
6299               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6300                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE3:'
6301                                    ||asked_for_rec.PRICING_ATTRIBUTE3,1,'Y');
6302               END IF;
6303 
6304               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6305               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6306               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6307               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6308                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6309               ELSE
6310                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6311               END IF;
6312               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6313                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6314               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6315                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6316               ELSE
6317                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6318               END IF;
6319               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6320               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE3';
6321               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6322               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6323               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6324               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6325               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6326               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE3;
6327               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6328               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6329               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6330               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6331               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6332               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6333               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6334               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6335               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6336               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6337               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6338               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6339               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6340               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6341               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6342               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6343               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6344 	      l_counter := l_counter + 1;
6345 
6346         end if;
6347 	end if;-- p_pricing_event = 'BATCH'
6348   end if;--asked_for_rec.flex_title = 'QP_ATTR_DEFNS_PRICING'
6349 end loop;
6350     px_index_counter := l_counter;
6351     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6352       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_counter:'||l_counter,1,'Y');
6353       aso_debug_pub.add('ASO_PRICING_CORE_PVT:End of Direct Insert Append_asked_for',1,'Y');
6354     END IF;
6355 
6356 end Append_asked_for;
6357 
6358 /*New copy_Header_to_request to use direct insert*/
6359 PROCEDURE Copy_Header_To_Request(
6360     p_Request_Type                   VARCHAR2,
6361     p_price_line_index               NUMBER,
6362     px_index_counter                 NUMBER)
6363 IS
6364 BEGIN
6365    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6366      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the direct insert Copy_Header_To_Request',1,'Y');
6367      aso_debug_pub.add('ASO_PRICING_CORE_PVT: px_index_counter:'||px_index_counter,1,'Y');
6368      aso_debug_pub.add('ASO_PRICING_CORE_PVT: ASO_PRICING_INT.G_HEADER_REC.quote_header_id:'||ASO_PRICING_INT.G_HEADER_REC.quote_header_id,1,'Y');
6369    END IF;
6370    G_LINE_INDEX_TBL(px_index_counter)              := p_price_line_index;
6371    G_LINE_TYPE_CODE_TBL(px_index_counter)          := 'ORDER';
6372    /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
6373    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6374      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Copy_Header_To_Req: ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE:'
6375                                ||ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,1,'Y');
6376    END IF;
6377    if NVL(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
6378           G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(sysdate);
6379    else
6380           G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE);
6381    end if;
6382    G_ACTIVE_DATE_FIRST_TBL(px_index_counter)       := TRUNC(sysdate);
6383    G_ACTIVE_DATE_FIRST_TYPE_TBL(px_index_counter)  := 'NO TYPE';
6384    G_ACTIVE_DATE_SECOND_TBL(px_index_counter)      := TRUNC(sysdate);
6385    G_ACTIVE_DATE_SECOND_TYPE_TBL(px_index_counter) := 'NO TYPE';
6386    G_LINE_QUANTITY_TBL(px_index_counter)           := null;
6387    G_LINE_UOM_CODE_TBL(px_index_counter)           := null;
6388    G_REQUEST_TYPE_CODE_TBL(px_index_counter)       := p_request_type;
6389    G_PRICED_QUANTITY_TBL(px_index_counter)         := null;
6390    G_UOM_QUANTITY_TBL(px_index_counter)            := null;
6391    G_PRICED_UOM_CODE_TBL(px_index_counter)         := null;
6392    G_CURRENCY_CODE_TBL(px_index_counter)           := ASO_PRICING_INT.G_HEADER_REC.currency_code;
6393    G_UNIT_PRICE_TBL(px_index_counter)              := null;
6394    G_PERCENT_PRICE_TBL(px_index_counter)           := null;
6395    G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)     := null;
6396    G_PROCESSED_FLAG_TBL(px_index_counter)          := null;
6397    G_PRICE_FLAG_TBL(px_index_counter)              := 'Y';
6398    G_LINE_ID_TBL(px_index_counter)                 := ASO_PRICING_INT.G_HEADER_REC.quote_header_id;
6399    G_ROUNDING_FLAG_TBL(px_index_counter)           := null;
6400    G_ROUNDING_FACTOR_TBL(px_index_counter)         := null;
6401    G_PROCESSING_ORDER_TBL(px_index_counter)        := NULL;
6402    G_PRICING_STATUS_CODE_tbl(px_index_counter)     := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6403    G_PRICING_STATUS_TEXT_tbl(px_index_counter)     := NULL;
6404    G_QUALIFIERS_EXIST_FLAG_TBL(px_index_counter)   := 'N';
6405    G_PRICING_ATTRS_EXIST_FLAG_TBL(px_index_counter):= 'N';
6406    G_PRICE_LIST_ID_TBL(px_index_counter)           := NULL;
6407    G_PL_VALIDATED_FLAG_TBL(px_index_counter)       := 'N';
6408    G_PRICE_REQUEST_CODE_TBL(px_index_counter)      := NULL;
6409    G_USAGE_PRICING_TYPE_TBL(px_index_counter)      := 'REGULAR';
6410    G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := NULL;
6411    G_LINE_CATEGORY_TBL(px_index_counter):= NULL;
6412    G_CHRG_PERIODICITY_CODE_TBL(px_index_counter)    := NULL;
6413    /* Changes Made for OKS uptake bug 4900084  */
6414    G_CONTRACT_START_DATE_TBL(px_index_counter)      := NULL;
6415    G_CONTRACT_END_DATE_TBL(px_index_counter)        := NULL;
6416 
6417    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6418      aso_debug_pub.add('ASO_PRICING_CORE_PVT: End of the direct insert Copy_Header_To_Request',1,'Y');
6419    END IF;
6420 
6421 end copy_Header_to_request;
6422 
6423 /*New copy_Line_to_request to use direct insert*/
6424 PROCEDURE Copy_Line_To_Request(
6425     p_Request_Type                      VARCHAR2,
6426     p_price_line_index                  NUMBER,
6427     px_index_counter                    NUMBER)
6428 is
6429     l_uom_rate        NUMBER;
6430 begin
6431    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6432      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start of Direct Insert of Copy_Line_To_Request',1,'Y');
6433      aso_debug_pub.add('ASO_PRICING_CORE_PVT:px_index_counter:'||px_index_counter,1,'Y');
6434    END IF;
6435    G_LINE_INDEX_TBL(px_index_counter)               := p_price_line_index;
6436    G_LINE_TYPE_CODE_TBL(px_index_counter)           :=  'LINE';
6437 
6438    /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
6439    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6440      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Copy_Line_To_Request: G_HEADER_REC.PRICE_FROZEN_DATE:'
6441                                ||ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,1,'Y');
6442    END IF;
6443    if NVL(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
6444       G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(sysdate);
6445    else
6446       G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE);
6447    end if;
6448    G_ACTIVE_DATE_FIRST_TBL(px_index_counter)        := TRUNC(sysdate);
6449    G_ACTIVE_DATE_FIRST_TYPE_TBL(px_index_counter)   := 'NO TYPE';
6450    G_ACTIVE_DATE_SECOND_TBL(px_index_counter)       := TRUNC(sysdate);
6451    G_ACTIVE_DATE_SECOND_TYPE_TBL(px_index_counter)  := 'NO TYPE';
6452    G_LINE_QUANTITY_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.quantity;
6453    G_LINE_UOM_CODE_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.uom_code;
6454    G_REQUEST_TYPE_CODE_TBL(px_index_counter)        := p_Request_Type;
6455    -- Added for Service Item after pathcset E
6456    If ASO_PRICING_INT.G_LINE_REC.service_period is not null
6457       AND ASO_PRICING_INT.G_LINE_REC.service_period <> fnd_api.g_miss_char then
6458       If (ASO_PRICING_INT.G_LINE_REC.service_period = ASO_PRICING_INT.G_LINE_REC.uom_code) Then
6459           G_UOM_QUANTITY_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.service_duration;
6460           G_CONTRACT_START_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.start_date_active;
6461           G_CONTRACT_END_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.end_date_active;
6462 
6463        Else
6464           /* Changes Made for OKS uptake bug 4900084
6465 
6466           INV_CONVERT.INV_UM_CONVERSION(
6467                    From_Unit  => ASO_PRICING_INT.G_LINE_REC.service_period
6468                    ,To_Unit   => ASO_PRICING_INT.G_LINE_REC.uom_code
6469                    ,Item_ID   => ASO_PRICING_INT.G_LINE_REC.Inventory_item_id
6470                    ,Uom_Rate  => l_Uom_rate);
6471           G_UOM_QUANTITY_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.service_duration * l_uom_rate; */
6472 
6473           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6474               aso_debug_pub.add('ASO_PRICING_CORE_PVT: before call to OKS_OMINT_PUB.GET_TARGET_DURATION',1,'Y');
6475           END IF;
6476 
6477 
6478           G_UOM_QUANTITY_TBL(px_index_counter) :=		OKS_OMINT_PUB.GET_TARGET_DURATION
6479 	                                         ( p_start_date => ASO_PRICING_INT.G_LINE_REC.start_date_active,
6480 	                                           p_end_date   => ASO_PRICING_INT.G_LINE_REC.end_date_active,
6481 									   p_source_uom => ASO_PRICING_INT.G_LINE_REC.service_period,
6482 									   p_source_duration => ASO_PRICING_INT.G_LINE_REC.service_duration,
6483 									   p_target_uom => ASO_PRICING_INT.G_LINE_REC.uom_code,
6484 									   p_org_id     => ASO_PRICING_INT.G_LINE_REC.org_id);
6485 
6486            G_CONTRACT_START_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.start_date_active;
6487 		 G_CONTRACT_END_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.end_date_active;
6488 
6489           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6490 		              aso_debug_pub.add('ASO_PRICING_CORE_PVT: after  call to OKS_OMINT_PUB.GET_TARGET_DURATION',1,'Y');
6491 		END IF;
6492 
6493       End If;
6494    Else
6495 	 G_UOM_QUANTITY_TBL(px_index_counter) := null;
6496 	 G_CONTRACT_START_DATE_TBL(px_index_counter) := null;
6497 	 G_CONTRACT_END_DATE_TBL(px_index_counter) := null;
6498    End If;
6499    G_PRICED_QUANTITY_TBL(px_index_counter)          := ASO_PRICING_INT.G_LINE_REC.pricing_quantity;
6500    G_PRICED_UOM_CODE_TBL(px_index_counter)          := ASO_PRICING_INT.G_LINE_REC.pricing_quantity_uom;
6501    G_CURRENCY_CODE_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.currency_code;
6502    If ASO_PRICING_INT.G_LINE_REC.line_list_price <> FND_API.G_MISS_NUM Then
6503       G_UNIT_PRICE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.line_list_price;
6504    Else
6505       G_UNIT_PRICE_TBL(px_index_counter) := NULL;
6506    End If;
6507    G_PERCENT_PRICE_TBL(px_index_counter)            := null;
6508    If NVL(ASO_PRICING_INT.G_LINE_REC.line_list_price,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM then
6509       G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)      := ASO_PRICING_INT.G_LINE_REC.line_list_price;
6510    else
6511 	 G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)      := null;
6512    end if;
6513    G_PROCESSED_FLAG_TBL(px_index_counter)           := QP_PREQ_GRP.G_NOT_PROCESSED;
6514 
6515    -- Bug 2430534.Should set this flag only for child service line, normal line to 'Y'
6516    -- If the line is from order or customer product set it to 'N'.
6517    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6518      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req p_Line_rec.LINE_CATEGORY_CODE  :'
6519                          ||ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE,1,'Y');
6520    END IF;
6521    /*For PRG Line need to setup the free lines with price_flag to 'P'*/
6522    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6523      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req p_Line_rec.PRICING_LINE_TYPE_INDICATOR  :'
6524                          ||ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR,1,'Y');
6525    END IF;
6526 
6527    IF ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR = 'F' THEN
6528     	     G_PRICE_FLAG_TBL(px_index_counter) := 'P';
6529    ELSE
6530      IF ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE
6531       IN ('SERVICE_REF_ORDER_LINE','SERVICE_REF_CUSTOMER_LINE') THEN
6532     	        G_PRICE_FLAG_TBL(px_index_counter) := 'N';
6533      ELSE
6534    	      G_PRICE_FLAG_TBL(px_index_counter) := 'Y';
6535      END IF;
6536    END IF;
6537 
6538     -- for rel 12.0 Deal Integeration
6539    IF ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR = 'D' THEN
6540     	     G_PRICE_FLAG_TBL(px_index_counter) := 'P';
6541    end if;
6542 
6543    G_LINE_ID_TBL(px_index_counter)                  := ASO_PRICING_INT.G_LINE_REC.quote_line_id;
6544    G_ROUNDING_FLAG_TBL(px_index_counter)            := null;
6545    G_ROUNDING_FACTOR_TBL(px_index_counter)          := null;
6546    G_PROCESSING_ORDER_TBL(px_index_counter)         := NULL;
6547    G_PRICING_STATUS_CODE_tbl(px_index_counter)      := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6548    G_PRICING_STATUS_TEXT_tbl(px_index_counter)      := NULL;
6549    G_QUALIFIERS_EXIST_FLAG_TBL(px_index_counter)    :='N';
6550    G_PRICING_ATTRS_EXIST_FLAG_TBL(px_index_counter) :='N';
6551    G_PRICE_LIST_ID_TBL(px_index_counter)            := -9999;
6552    G_PL_VALIDATED_FLAG_TBL(px_index_counter)        := 'N';
6553    G_PRICE_REQUEST_CODE_TBL(px_index_counter)       := NULL;
6554    G_USAGE_PRICING_TYPE_TBL(px_index_counter)       :='REGULAR';
6555    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6556      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req SELLING_PRICE_CHANGE: '
6557                         ||ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE,1,'Y');
6558    END IF;
6559    If ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE = 'Y' then
6560       G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.line_quote_price;
6561    else
6562 	 G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := NULL;
6563    End If;
6564 
6565    G_LINE_CATEGORY_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.line_category_code;
6566    G_CHRG_PERIODICITY_CODE_TBL(px_index_counter)    := ASO_PRICING_INT.G_LINE_REC.charge_periodicity_code;
6567 
6568    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6569      aso_debug_pub.add('ASO_PRICING_CORE_PVT:End of Direct Insert of Copy_Line_To_Request',1,'Y');
6570    END IF;
6571 
6572 end Copy_Line_To_Request;
6573 
6574 /*Query both automatic and manual(applied) header and line adjs*/
6575 PROCEDURE Query_Price_Adj_All
6576 (p_quote_header_id    IN  NUMBER,
6577  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
6578 IS
6579  l_adj_counter   NUMBER;
6580  l_rel_counter   NUMBER;
6581  l_adj_id_tbl    JTF_NUMBER_TABLE;
6582 
6583 BEGIN
6584  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6585    aso_debug_pub.add('ASO_PRICING_CORE_PVT: Inside of the Query_Price_Adj_All',1,'Y');
6586  END IF;
6587 
6588  UPDATE ASO_PRICE_ADJUSTMENTS apa
6589  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
6590                                   'LUMPSUM',operand,
6591                                   'AMT',(operand*l.quantity)/l.PRICING_QUANTITY,
6592                                   'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
6593                           FROM  ASO_QUOTE_LINES_ALL l
6594                           WHERE l.quote_header_id = apa.quote_header_id
6595 					 AND l.quote_line_id = apa.quote_line_id
6596                           )
6597  WHERE apa.quote_header_id = p_quote_header_id
6598  AND apa.quote_line_id is not null
6599  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
6600  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6601      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
6602  END IF;
6603 
6604  --Only support % at the header level
6605  UPDATE ASO_PRICE_ADJUSTMENTS
6606  SET OPERAND_PER_PQTY = operand
6607  WHERE quote_header_id = p_quote_header_id
6608  AND quote_line_id is null
6609  AND (applied_flag = 'Y' OR updated_flag = 'Y');
6610 
6611  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6612      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
6613  END IF;
6614 
6615        SELECT
6616 		 PRICE_ADJUSTMENT_ID,
6617            PRICE_ADJUSTMENT_ID,
6618 		 PRICE_ADJUSTMENT_ID,
6619            'NULL', --line_detail_type_code
6620            PRICE_BREAK_TYPE_CODE,
6621            NULL,
6622 		 decode(quote_line_id,NULL,1,quote_line_id),
6623            MODIFIER_HEADER_ID,
6624            MODIFIER_LINE_ID,
6625            MODIFIER_LINE_TYPE_CODE,
6626            NULL,--List type code that we do not store currently
6627            NULL,--Created from SQL
6628            PRICING_GROUP_SEQUENCE,
6629            PRICING_PHASE_ID,
6630            ARITHMETIC_OPERATOR,
6631            nvl(OPERAND_PER_PQTY,OPERAND),
6632            NULL,--substitution_attribute
6633            MODIFIED_FROM,
6634            MODIFIED_TO,
6635            NULL,--ask_for_flag that we do not store currently
6636            NULL,--formula_id
6637            'X',--pricing_status_code
6638            NULL,--pricing_status_text
6639            NULL,--product_precedence
6640            NULL,--incompatibility_group
6641            'N',--processed_flag
6642            APPLIED_FLAG,
6643            AUTOMATIC_FLAG,
6644            UPDATE_ALLOWABLE_FLAG,
6645            NULL,--primary_uom_flag
6646            ON_INVOICE_FLAG,
6647            MODIFIER_LEVEL_CODE,
6648            BENEFIT_QTY,
6649            BENEFIT_UOM_CODE,
6650            LIST_LINE_NO,
6651            ACCRUAL_FLAG,
6652            ACCRUAL_CONVERSION_RATE,
6653            NULL,--estim_accrual_rate
6654            'N',--recurring_flag
6655            NULL,--selected_vol_attr
6656            NULL,--rounding_factor
6657            NULL,--hdr_limit_exist
6658            NULL,--Line_limit_exist
6659            CHARGE_TYPE_CODE,
6660            CHARGE_SUBTYPE_CODE,
6661            NULL,--currency_detail_id
6662            NULL,--currency_hdr_id
6663            NULL,--selling_round
6664            NULL,--order_currency
6665            NULL,--pricing_effect_date
6666            NULL,--base_currency
6667            RANGE_BREAK_QUANTITY,
6668            UPDATED_FLAG,
6669            MODIFIER_MECHANISM_TYPE_CODE,
6670            CHANGE_REASON_CODE,
6671            CHANGE_REASON_TEXT
6672 	 BULK COLLECT INTO
6673 		   l_adj_id_tbl,
6674              G_LDET_LINE_DTL_INDEX_TBL,
6675 		   G_LDET_PRICE_ADJ_ID_TBL,
6676              G_LDET_LINE_DTL_TYPE_TBL,
6677              G_LDET_PRICE_BREAK_TYPE_TBL,
6678              G_LDET_LIST_PRICE_TBL,
6679              G_LDET_LINE_INDEX_TBL,
6680              G_LDET_LIST_HEADER_ID_TBL,
6681              G_LDET_LIST_LINE_ID_TBL,
6682              G_LDET_LIST_LINE_TYPE_TBL,
6683              G_LDET_LIST_TYPE_CODE_TBL,
6684              G_LDET_CREATED_FROM_SQL_TBL,
6685              G_LDET_PRICING_GRP_SEQ_TBL,
6686              G_LDET_PRICING_PHASE_ID_TBL,
6687              G_LDET_OPERAND_CALC_CODE_TBL,
6688              G_LDET_OPERAND_VALUE_TBL,
6689              G_LDET_SUBSTN_TYPE_TBL,
6690              G_LDET_SUBSTN_VALUE_FROM_TBL,
6691              G_LDET_SUBSTN_VALUE_TO_TBL,
6692              G_LDET_ASK_FOR_FLAG_TBL,
6693              G_LDET_PRICE_FORMULA_ID_TBL,
6694              G_LDET_PRICING_STATUS_CODE_TBL,
6695              G_LDET_PRICING_STATUS_TXT_TBL,
6696              G_LDET_PRODUCT_PRECEDENCE_TBL,
6697              G_LDET_INCOMPAT_GRP_CODE_TBL,
6698              G_LDET_PROCESSED_FLAG_TBL,
6699              G_LDET_APPLIED_FLAG_TBL,
6700              G_LDET_AUTOMATIC_FLAG_TBL,
6701              G_LDET_OVERRIDE_FLAG_TBL,
6702              G_LDET_PRIMARY_UOM_FLAG_TBL,
6703              G_LDET_PRINT_ON_INV_FLAG_TBL,
6704              G_LDET_MODIFIER_LEVEL_TBL,
6705              G_LDET_BENEFIT_QTY_TBL,
6706              G_LDET_BENEFIT_UOM_CODE_TBL,
6707              G_LDET_LIST_LINE_NO_TBL,
6708              G_LDET_ACCRUAL_FLAG_TBL,
6709              G_LDET_ACCR_CONV_RATE_TBL,
6710              G_LDET_ESTIM_ACCR_RATE_TBL,
6711              G_LDET_RECURRING_FLAG_TBL,
6712              G_LDET_SELECTED_VOL_ATTR_TBL,
6713              G_LDET_ROUNDING_FACTOR_TBL,
6714              G_LDET_HDR_LIMIT_EXISTS_TBL,
6715              G_LDET_LINE_LIMIT_EXISTS_TBL,
6716              G_LDET_CHARGE_TYPE_TBL,
6717              G_LDET_CHARGE_SUBTYPE_TBL,
6718              G_LDET_CURRENCY_DTL_ID_TBL,
6719              G_LDET_CURRENCY_HDR_ID_TBL,
6720              G_LDET_SELLING_ROUND_TBL,
6721              G_LDET_ORDER_CURRENCY_TBL,
6722              G_LDET_PRICING_EFF_DATE_TBL,
6723              G_LDET_BASE_CURRENCY_TBL,
6724              G_LDET_LINE_QUANTITY_TBL,
6725              G_LDET_UPDATED_FLAG_TBL,
6726              G_LDET_CALC_CODE_TBL,
6727              G_LDET_CHG_REASON_CODE_TBL,
6728              G_LDET_CHG_REASON_TEXT_TBL
6729       FROM ASO_PRICE_ADJUSTMENTS adj
6730       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
6731 	 AND   (NVL(adj.updated_flag,'N') = 'Y' OR  nvl(adj.automatic_flag,'N') = 'Y');
6732 
6733    x_adj_id_tbl := l_adj_id_tbl;
6734 
6735    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6736      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
6737    END IF;
6738 
6739 END Query_price_Adj_All;
6740 
6741 /*Query only Header Adjs*/
6742 PROCEDURE Query_Price_Adj_Header
6743 (p_quote_header_id    IN NUMBER)
6744 IS
6745 BEGIN
6746 
6747  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6748     aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Price_Adj_Header',1,'Y');
6749  END IF;
6750 
6751  --Only support % at the header level
6752  UPDATE ASO_PRICE_ADJUSTMENTS
6753  SET OPERAND_PER_PQTY = operand
6754  WHERE quote_header_id = p_quote_header_id
6755  AND quote_line_id is null
6756  AND (applied_flag = 'Y' OR updated_flag = 'Y');
6757 
6758  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6759      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
6760  END IF;
6761 
6762        SELECT
6763            PRICE_ADJUSTMENT_ID,
6764 		 PRICE_ADJUSTMENT_ID,
6765            'NULL', --line_detail_type_code
6766            PRICE_BREAK_TYPE_CODE,
6767            NULL,
6768            1,
6769            MODIFIER_HEADER_ID,
6770            MODIFIER_LINE_ID,
6771            MODIFIER_LINE_TYPE_CODE,
6772            NULL,--List type code that we do not store currently
6773            NULL,--Created from SQL
6774            PRICING_GROUP_SEQUENCE,
6775            PRICING_PHASE_ID,
6776            ARITHMETIC_OPERATOR,
6777            nvl(OPERAND_PER_PQTY,OPERAND),
6778            NULL,--substitution_attribute
6779            MODIFIED_FROM,
6780            MODIFIED_TO,
6781            NULL,--ask_for_flag that we do not store currently
6782            NULL,--formula_id
6783            'X',--pricing_status_code
6784            NULL,--pricing_status_text
6785            NULL,--product_precedence
6786            NULL,--incompatibility_group
6787            'N',--processed_flag
6788            APPLIED_FLAG,
6789            AUTOMATIC_FLAG,
6790            UPDATE_ALLOWABLE_FLAG,
6791            NULL,--primary_uom_flag
6792            ON_INVOICE_FLAG,
6793            MODIFIER_LEVEL_CODE,
6794            BENEFIT_QTY,
6795            BENEFIT_UOM_CODE,
6796            LIST_LINE_NO,
6797            ACCRUAL_FLAG,
6798            ACCRUAL_CONVERSION_RATE,
6799            NULL,--estim_accrual_rate
6800            'N',--recurring_flag
6801            NULL,--selected_vol_attr
6802            NULL,--rounding_factor
6803            NULL,--hdr_limit_exist
6804            NULL,--Line_limit_exist
6805            CHARGE_TYPE_CODE,
6806            CHARGE_SUBTYPE_CODE,
6807            NULL,--currency_detail_id
6808            NULL,--currency_hdr_id
6809            NULL,--selling_round
6810            NULL,--order_currency
6811            NULL,--pricing_effect_date
6812            NULL,--base_currency
6813            RANGE_BREAK_QUANTITY,
6814            UPDATED_FLAG,
6815            MODIFIER_MECHANISM_TYPE_CODE,
6816            CHANGE_REASON_CODE,
6817            CHANGE_REASON_TEXT
6818 	 BULK COLLECT INTO
6819              G_LDET_LINE_DTL_INDEX_TBL,
6820 		   G_LDET_PRICE_ADJ_ID_TBL,
6821              G_LDET_LINE_DTL_TYPE_TBL,
6822              G_LDET_PRICE_BREAK_TYPE_TBL,
6823              G_LDET_LIST_PRICE_TBL,
6824              G_LDET_LINE_INDEX_TBL,
6825              G_LDET_LIST_HEADER_ID_TBL,
6826              G_LDET_LIST_LINE_ID_TBL,
6827              G_LDET_LIST_LINE_TYPE_TBL,
6828              G_LDET_LIST_TYPE_CODE_TBL,
6829              G_LDET_CREATED_FROM_SQL_TBL,
6830              G_LDET_PRICING_GRP_SEQ_TBL,
6831              G_LDET_PRICING_PHASE_ID_TBL,
6832              G_LDET_OPERAND_CALC_CODE_TBL,
6833              G_LDET_OPERAND_VALUE_TBL,
6834              G_LDET_SUBSTN_TYPE_TBL,
6835              G_LDET_SUBSTN_VALUE_FROM_TBL,
6836              G_LDET_SUBSTN_VALUE_TO_TBL,
6837              G_LDET_ASK_FOR_FLAG_TBL,
6838              G_LDET_PRICE_FORMULA_ID_TBL,
6839              G_LDET_PRICING_STATUS_CODE_TBL,
6840              G_LDET_PRICING_STATUS_TXT_TBL,
6841              G_LDET_PRODUCT_PRECEDENCE_TBL,
6842              G_LDET_INCOMPAT_GRP_CODE_TBL,
6843              G_LDET_PROCESSED_FLAG_TBL,
6844              G_LDET_APPLIED_FLAG_TBL,
6845              G_LDET_AUTOMATIC_FLAG_TBL,
6846              G_LDET_OVERRIDE_FLAG_TBL,
6847              G_LDET_PRIMARY_UOM_FLAG_TBL,
6848              G_LDET_PRINT_ON_INV_FLAG_TBL,
6849              G_LDET_MODIFIER_LEVEL_TBL,
6850              G_LDET_BENEFIT_QTY_TBL,
6851              G_LDET_BENEFIT_UOM_CODE_TBL,
6852              G_LDET_LIST_LINE_NO_TBL,
6853              G_LDET_ACCRUAL_FLAG_TBL,
6854              G_LDET_ACCR_CONV_RATE_TBL,
6855              G_LDET_ESTIM_ACCR_RATE_TBL,
6856              G_LDET_RECURRING_FLAG_TBL,
6857              G_LDET_SELECTED_VOL_ATTR_TBL,
6858              G_LDET_ROUNDING_FACTOR_TBL,
6859              G_LDET_HDR_LIMIT_EXISTS_TBL,
6860              G_LDET_LINE_LIMIT_EXISTS_TBL,
6861              G_LDET_CHARGE_TYPE_TBL,
6862              G_LDET_CHARGE_SUBTYPE_TBL,
6863              G_LDET_CURRENCY_DTL_ID_TBL,
6864              G_LDET_CURRENCY_HDR_ID_TBL,
6865              G_LDET_SELLING_ROUND_TBL,
6866              G_LDET_ORDER_CURRENCY_TBL,
6867              G_LDET_PRICING_EFF_DATE_TBL,
6868              G_LDET_BASE_CURRENCY_TBL,
6869              G_LDET_LINE_QUANTITY_TBL,
6870              G_LDET_UPDATED_FLAG_TBL,
6871              G_LDET_CALC_CODE_TBL,
6872              G_LDET_CHG_REASON_CODE_TBL,
6873              G_LDET_CHG_REASON_TEXT_TBL
6874       FROM ASO_PRICE_ADJUSTMENTS adj
6875       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
6876       AND   adj.QUOTE_LINE_ID IS NULL
6877 	 AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N'
6878       AND   NVL(updated_flag,'N') = 'Y';
6879 
6880 END Query_price_Adj_header;
6881 
6882 /*Query line adjs only*/
6883 /*only for the free lines before the second implicit call*/
6884 PROCEDURE Query_Price_Adj_Line
6885 (p_quote_header_id    IN  NUMBER,
6886  p_qte_line_id_tbl    IN  JTF_NUMBER_TABLE,
6887  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
6888 IS
6889  l_adj_counter   NUMBER;
6890  l_rel_counter   NUMBER;
6891  l_adj_id_tbl    JTF_NUMBER_TABLE;
6892 
6893 BEGIN
6894    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6895      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the Query_Price_Adj_line',1,'Y');
6896    END IF;
6897 
6898  UPDATE ASO_PRICE_ADJUSTMENTS apa
6899  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
6900                                   'LUMPSUM',operand,
6901                                   'AMT',(operand*l.quantity)/l.PRICING_QUANTITY,
6902                                   'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
6903                           FROM  ASO_QUOTE_LINES_ALL l
6904                           WHERE l.quote_header_id = apa.quote_header_id
6905 					 AND l.quote_line_id = apa.quote_line_id
6906                           )
6907  WHERE apa.quote_header_id = p_quote_header_id
6908  AND apa.quote_line_id is not null
6909  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
6910  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6911      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
6912  END IF;
6913 
6914  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6915 	If p_qte_line_id_tbl.count is not null then
6916 	   For i in 1..p_qte_line_id_tbl.count loop
6917 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:Querying for the following quote line ids:',1,'Y');
6918 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_line_id_tbl(i):'||p_qte_line_id_tbl(i),1,'Y');
6919 	   End Loop;
6920 	End If;
6921    END IF;
6922 
6923        SELECT
6924 		 PRICE_ADJUSTMENT_ID,
6925            PRICE_ADJUSTMENT_ID,
6926 		 PRICE_ADJUSTMENT_ID,
6927            'NULL', --line_detail_type_code
6928            PRICE_BREAK_TYPE_CODE,
6929            NULL,
6930            quote_line_id,
6931            MODIFIER_HEADER_ID,
6932            MODIFIER_LINE_ID,
6933            MODIFIER_LINE_TYPE_CODE,
6934            NULL,--List type code that we do not store currently
6935            NULL,--Created from SQL
6936            PRICING_GROUP_SEQUENCE,
6937            PRICING_PHASE_ID,
6938            ARITHMETIC_OPERATOR,
6939            nvl(OPERAND_PER_PQTY,OPERAND),
6940            NULL,--substitution_attribute
6941            MODIFIED_FROM,
6942            MODIFIED_TO,
6943            NULL,--ask_for_flag that we do not store currently
6944            NULL,--formula_id
6945            'X',--pricing_status_code
6946            NULL,--pricing_status_text
6947            NULL,--product_precedence
6948            NULL,--incompatibility_group
6949            'N',--processed_flag
6950            APPLIED_FLAG,
6951            AUTOMATIC_FLAG,
6952            UPDATE_ALLOWABLE_FLAG,
6953            NULL,--primary_uom_flag
6954            ON_INVOICE_FLAG,
6955            MODIFIER_LEVEL_CODE,
6956            BENEFIT_QTY,
6957            BENEFIT_UOM_CODE,
6958            LIST_LINE_NO,
6959            ACCRUAL_FLAG,
6960            ACCRUAL_CONVERSION_RATE,
6961            NULL,--estim_accrual_rate
6962            'N',--recurring_flag
6963            NULL,--selected_vol_attr
6964            NULL,--rounding_factor
6965            NULL,--hdr_limit_exist
6966            NULL,--Line_limit_exist
6967            CHARGE_TYPE_CODE,
6968            CHARGE_SUBTYPE_CODE,
6969            NULL,--currency_detail_id
6970            NULL,--currency_hdr_id
6971            NULL,--selling_round
6972            NULL,--order_currency
6973            NULL,--pricing_effect_date
6974            NULL,--base_currency
6975            RANGE_BREAK_QUANTITY,
6976            UPDATED_FLAG,
6977            MODIFIER_MECHANISM_TYPE_CODE,
6978            CHANGE_REASON_CODE,
6979            CHANGE_REASON_TEXT
6980 	 BULK COLLECT INTO
6981 		   l_adj_id_tbl,
6982              G_LDET_LINE_DTL_INDEX_TBL,
6983 		   G_LDET_PRICE_ADJ_ID_TBL,
6984              G_LDET_LINE_DTL_TYPE_TBL,
6985              G_LDET_PRICE_BREAK_TYPE_TBL,
6986              G_LDET_LIST_PRICE_TBL,
6987              G_LDET_LINE_INDEX_TBL,
6988              G_LDET_LIST_HEADER_ID_TBL,
6989              G_LDET_LIST_LINE_ID_TBL,
6990              G_LDET_LIST_LINE_TYPE_TBL,
6991              G_LDET_LIST_TYPE_CODE_TBL,
6992              G_LDET_CREATED_FROM_SQL_TBL,
6993              G_LDET_PRICING_GRP_SEQ_TBL,
6994              G_LDET_PRICING_PHASE_ID_TBL,
6995              G_LDET_OPERAND_CALC_CODE_TBL,
6996              G_LDET_OPERAND_VALUE_TBL,
6997              G_LDET_SUBSTN_TYPE_TBL,
6998              G_LDET_SUBSTN_VALUE_FROM_TBL,
6999              G_LDET_SUBSTN_VALUE_TO_TBL,
7000              G_LDET_ASK_FOR_FLAG_TBL,
7001              G_LDET_PRICE_FORMULA_ID_TBL,
7002              G_LDET_PRICING_STATUS_CODE_TBL,
7003              G_LDET_PRICING_STATUS_TXT_TBL,
7004              G_LDET_PRODUCT_PRECEDENCE_TBL,
7005              G_LDET_INCOMPAT_GRP_CODE_TBL,
7006              G_LDET_PROCESSED_FLAG_TBL,
7007              G_LDET_APPLIED_FLAG_TBL,
7008              G_LDET_AUTOMATIC_FLAG_TBL,
7009              G_LDET_OVERRIDE_FLAG_TBL,
7010              G_LDET_PRIMARY_UOM_FLAG_TBL,
7011              G_LDET_PRINT_ON_INV_FLAG_TBL,
7012              G_LDET_MODIFIER_LEVEL_TBL,
7013              G_LDET_BENEFIT_QTY_TBL,
7014              G_LDET_BENEFIT_UOM_CODE_TBL,
7015              G_LDET_LIST_LINE_NO_TBL,
7016              G_LDET_ACCRUAL_FLAG_TBL,
7017              G_LDET_ACCR_CONV_RATE_TBL,
7018              G_LDET_ESTIM_ACCR_RATE_TBL,
7019              G_LDET_RECURRING_FLAG_TBL,
7020              G_LDET_SELECTED_VOL_ATTR_TBL,
7021              G_LDET_ROUNDING_FACTOR_TBL,
7022              G_LDET_HDR_LIMIT_EXISTS_TBL,
7023              G_LDET_LINE_LIMIT_EXISTS_TBL,
7024              G_LDET_CHARGE_TYPE_TBL,
7025              G_LDET_CHARGE_SUBTYPE_TBL,
7026              G_LDET_CURRENCY_DTL_ID_TBL,
7027              G_LDET_CURRENCY_HDR_ID_TBL,
7028              G_LDET_SELLING_ROUND_TBL,
7029              G_LDET_ORDER_CURRENCY_TBL,
7030              G_LDET_PRICING_EFF_DATE_TBL,
7031              G_LDET_BASE_CURRENCY_TBL,
7032              G_LDET_LINE_QUANTITY_TBL,
7033              G_LDET_UPDATED_FLAG_TBL,
7034              G_LDET_CALC_CODE_TBL,
7035              G_LDET_CHG_REASON_CODE_TBL,
7036              G_LDET_CHG_REASON_TEXT_TBL
7037       FROM ASO_PRICE_ADJUSTMENTS adj,
7038            TABLE (CAST(P_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) Lines
7039       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7040       AND   adj.QUOTE_LINE_ID = Lines.column_value
7041 	 AND   adj.QUOTE_LINE_ID IS NOT NULL
7042 	 AND   adj.modifier_line_type_code = 'DIS';
7043 
7044 	--We won't need this since in the second implicit call the only Adj record for free line
7045 	--is the PRG related DIS record.
7046 	 /*AND EXISTS ( SELECT null
7047 			      FROM ASO_PRICE_ADJUSTMENTS adj2,
7048                           ASO_PRICE_ADJ_RELATIONSHIPS rlt
7049                      WHERE rlt.rltd_price_adj_id = adj.price_adjustment_id
7050                      AND   adj2.modifier_line_type_code = 'PRG'
7051                      AND   adj2.quote_header_id = adj.quote_header_id
7052                      AND   adj2.price_adjustment_id = rlt.price_adjustment_id));*/
7053 
7054    x_adj_id_tbl := l_adj_id_tbl;
7055    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7056      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
7057    END IF;
7058 
7059 END Query_price_Adj_line;
7060 
7061 /*Query both header and line adjs*/
7062 PROCEDURE Query_Price_Adjustments
7063 (p_quote_header_id    IN  NUMBER,
7064  p_qte_line_id_tbl    IN  JTF_NUMBER_TABLE,
7065  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
7066 IS
7067  l_adj_counter   NUMBER;
7068  l_rel_counter   NUMBER;
7069  l_adj_id_tbl    JTF_NUMBER_TABLE;
7070 
7071 BEGIN
7072    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7073      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the Query_Price_Adjustments',1,'Y');
7074    END IF;
7075 
7076  UPDATE ASO_PRICE_ADJUSTMENTS apa
7077  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
7078                                   'LUMPSUM',operand,
7079                                   'AMT',(operand*l.quantity)/l.PRICING_QUANTITY,
7080                                   'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
7081                           FROM  ASO_QUOTE_LINES_ALL l
7082                           WHERE l.quote_header_id = apa.quote_header_id
7083 					 AND l.quote_line_id = apa.quote_line_id
7084                           )
7085  WHERE apa.quote_header_id = p_quote_header_id
7086  AND apa.quote_line_id is not null
7087  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
7088  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7089      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
7090  END IF;
7091 
7092  --Only support % at the header level
7093  UPDATE ASO_PRICE_ADJUSTMENTS
7094  SET OPERAND_PER_PQTY = operand
7095  WHERE quote_header_id = p_quote_header_id
7096  AND quote_line_id is null
7097  AND (applied_flag = 'Y' OR updated_flag = 'Y');
7098 
7099  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7100      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
7101 	If p_qte_line_id_tbl.count is not null then
7102 	   For i in 1..p_qte_line_id_tbl.count loop
7103 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:Querying for the following quote line ids:',1,'Y');
7104 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_line_id_tbl(i):'||p_qte_line_id_tbl(i),1,'Y');
7105 	   End Loop;
7106 	End If;
7107    END IF;
7108 
7109        SELECT
7110 		 PRICE_ADJUSTMENT_ID,
7111            PRICE_ADJUSTMENT_ID,
7112 		 PRICE_ADJUSTMENT_ID,
7113            'NULL', --line_detail_type_code
7114            PRICE_BREAK_TYPE_CODE,
7115            NULL,
7116 		 1,
7117            MODIFIER_HEADER_ID,
7118            MODIFIER_LINE_ID,
7119            MODIFIER_LINE_TYPE_CODE,
7120            NULL,--List type code that we do not store currently
7121            NULL,--Created from SQL
7122            PRICING_GROUP_SEQUENCE,
7123            PRICING_PHASE_ID,
7124            ARITHMETIC_OPERATOR,
7125 		 nvl(OPERAND_PER_PQTY,OPERAND),
7126            NULL,--substitution_attribute
7127            MODIFIED_FROM,
7128            MODIFIED_TO,
7129            NULL,--ask_for_flag that we do not store currently
7130            NULL,--formula_id
7131            'X',--pricing_status_code
7132            NULL,--pricing_status_text
7133            NULL,--product_precedence
7134            NULL,--incompatibility_group
7135            'N',--processed_flag
7136            APPLIED_FLAG,
7137            AUTOMATIC_FLAG,
7138            UPDATE_ALLOWABLE_FLAG,
7139            NULL,--primary_uom_flag
7140            ON_INVOICE_FLAG,
7141            MODIFIER_LEVEL_CODE,
7142            BENEFIT_QTY,
7143            BENEFIT_UOM_CODE,
7144            LIST_LINE_NO,
7145            ACCRUAL_FLAG,
7146            ACCRUAL_CONVERSION_RATE,
7147            NULL,--estim_accrual_rate
7148            'N',--recurring_flag
7149            NULL,--selected_vol_attr
7150            NULL,--rounding_factor
7151            NULL,--hdr_limit_exist
7152            NULL,--Line_limit_exist
7153            CHARGE_TYPE_CODE,
7154            CHARGE_SUBTYPE_CODE,
7155            NULL,--currency_detail_id
7156            NULL,--currency_hdr_id
7157            NULL,--selling_round
7158            NULL,--order_currency
7159            NULL,--pricing_effect_date
7160            NULL,--base_currency
7161            RANGE_BREAK_QUANTITY,
7162            UPDATED_FLAG,
7163            MODIFIER_MECHANISM_TYPE_CODE,
7164            CHANGE_REASON_CODE,
7165            CHANGE_REASON_TEXT
7166 	 BULK COLLECT INTO
7167 		   l_adj_id_tbl,
7168              G_LDET_LINE_DTL_INDEX_TBL,
7169 		   G_LDET_PRICE_ADJ_ID_TBL,
7170              G_LDET_LINE_DTL_TYPE_TBL,
7171              G_LDET_PRICE_BREAK_TYPE_TBL,
7172              G_LDET_LIST_PRICE_TBL,
7173              G_LDET_LINE_INDEX_TBL,
7174              G_LDET_LIST_HEADER_ID_TBL,
7175              G_LDET_LIST_LINE_ID_TBL,
7176              G_LDET_LIST_LINE_TYPE_TBL,
7177              G_LDET_LIST_TYPE_CODE_TBL,
7178              G_LDET_CREATED_FROM_SQL_TBL,
7179              G_LDET_PRICING_GRP_SEQ_TBL,
7180              G_LDET_PRICING_PHASE_ID_TBL,
7181              G_LDET_OPERAND_CALC_CODE_TBL,
7182              G_LDET_OPERAND_VALUE_TBL,
7183              G_LDET_SUBSTN_TYPE_TBL,
7184              G_LDET_SUBSTN_VALUE_FROM_TBL,
7185              G_LDET_SUBSTN_VALUE_TO_TBL,
7186              G_LDET_ASK_FOR_FLAG_TBL,
7187              G_LDET_PRICE_FORMULA_ID_TBL,
7188              G_LDET_PRICING_STATUS_CODE_TBL,
7189              G_LDET_PRICING_STATUS_TXT_TBL,
7190              G_LDET_PRODUCT_PRECEDENCE_TBL,
7191              G_LDET_INCOMPAT_GRP_CODE_TBL,
7192              G_LDET_PROCESSED_FLAG_TBL,
7193              G_LDET_APPLIED_FLAG_TBL,
7194              G_LDET_AUTOMATIC_FLAG_TBL,
7195              G_LDET_OVERRIDE_FLAG_TBL,
7196              G_LDET_PRIMARY_UOM_FLAG_TBL,
7197              G_LDET_PRINT_ON_INV_FLAG_TBL,
7198              G_LDET_MODIFIER_LEVEL_TBL,
7199              G_LDET_BENEFIT_QTY_TBL,
7200              G_LDET_BENEFIT_UOM_CODE_TBL,
7201              G_LDET_LIST_LINE_NO_TBL,
7202              G_LDET_ACCRUAL_FLAG_TBL,
7203              G_LDET_ACCR_CONV_RATE_TBL,
7204              G_LDET_ESTIM_ACCR_RATE_TBL,
7205              G_LDET_RECURRING_FLAG_TBL,
7206              G_LDET_SELECTED_VOL_ATTR_TBL,
7207              G_LDET_ROUNDING_FACTOR_TBL,
7208              G_LDET_HDR_LIMIT_EXISTS_TBL,
7209              G_LDET_LINE_LIMIT_EXISTS_TBL,
7210              G_LDET_CHARGE_TYPE_TBL,
7211              G_LDET_CHARGE_SUBTYPE_TBL,
7212              G_LDET_CURRENCY_DTL_ID_TBL,
7213              G_LDET_CURRENCY_HDR_ID_TBL,
7214              G_LDET_SELLING_ROUND_TBL,
7215              G_LDET_ORDER_CURRENCY_TBL,
7216              G_LDET_PRICING_EFF_DATE_TBL,
7217              G_LDET_BASE_CURRENCY_TBL,
7218              G_LDET_LINE_QUANTITY_TBL,
7219              G_LDET_UPDATED_FLAG_TBL,
7220              G_LDET_CALC_CODE_TBL,
7221              G_LDET_CHG_REASON_CODE_TBL,
7222              G_LDET_CHG_REASON_TEXT_TBL
7223       FROM ASO_PRICE_ADJUSTMENTS adj
7224       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7225       AND   NVL(adj.updated_flag,'N') = 'Y'
7226       AND   adj.QUOTE_LINE_ID IS NULL
7227 	 AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N'
7228    UNION ALL
7229       SELECT
7230 		 PRICE_ADJUSTMENT_ID,
7231            PRICE_ADJUSTMENT_ID,
7232 		 PRICE_ADJUSTMENT_ID,
7233            'NULL', --line_detail_type_code
7234            PRICE_BREAK_TYPE_CODE,
7235            NULL,
7236            quote_line_id,
7237            MODIFIER_HEADER_ID,
7238            MODIFIER_LINE_ID,
7239            MODIFIER_LINE_TYPE_CODE,
7240            NULL,--List type code that we do not store currently
7241            NULL,--Created from SQL
7242            PRICING_GROUP_SEQUENCE,
7243            PRICING_PHASE_ID,
7244            ARITHMETIC_OPERATOR,
7245 		 nvl(OPERAND_PER_PQTY,OPERAND),
7246            NULL,--substitution_attribute
7247            MODIFIED_FROM,
7248            MODIFIED_TO,
7249            NULL,--ask_for_flag that we do not store currently
7250            NULL,--formula_id
7251            'X',--pricing_status_code
7252            NULL,--pricing_status_text
7253            NULL,--product_precedence
7254            NULL,--incompatibility_group
7255            'N',--processed_flag
7256            APPLIED_FLAG,
7257            AUTOMATIC_FLAG,
7258            UPDATE_ALLOWABLE_FLAG,
7259            NULL,--primary_uom_flag
7260            ON_INVOICE_FLAG,
7261            MODIFIER_LEVEL_CODE,
7262            BENEFIT_QTY,
7263            BENEFIT_UOM_CODE,
7264            LIST_LINE_NO,
7265            ACCRUAL_FLAG,
7266            ACCRUAL_CONVERSION_RATE,
7267            NULL,--estim_accrual_rate
7268            'N',--recurring_flag
7269            NULL,--selected_vol_attr
7270            NULL,--rounding_factor
7271            NULL,--hdr_limit_exist
7272            NULL,--Line_limit_exist
7273            CHARGE_TYPE_CODE,
7274            CHARGE_SUBTYPE_CODE,
7275            NULL,--currency_detail_id
7276            NULL,--currency_hdr_id
7277            NULL,--selling_round
7278            NULL,--order_currency
7279            NULL,--pricing_effect_date
7280            NULL,--base_currency
7281            RANGE_BREAK_QUANTITY,
7282            UPDATED_FLAG,
7283            MODIFIER_MECHANISM_TYPE_CODE,
7284            CHANGE_REASON_CODE,
7285            CHANGE_REASON_TEXT
7286       FROM ASO_PRICE_ADJUSTMENTS adj,
7287            TABLE (CAST(P_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) Lines
7288       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7289       AND   adj.QUOTE_LINE_ID = Lines.column_value
7290 	 AND   adj.QUOTE_LINE_ID IS NOT NULL
7291       AND   (( NVL(adj.updated_flag,'N') = 'Y'
7292               AND   EXISTS ( SELECT null from ASO_QUOTE_LINES_ALL lines2
7293                    WHERE  lines2.quote_line_id = adj.quote_line_id
7294                    AND    nvl(lines2.RECALCULATE_FLAG,'N') = 'N' )
7295               AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N')
7296 		    OR ( adj.modifier_line_type_code = 'PRG'
7297                  OR
7298                  ( adj.modifier_line_type_code = 'DIS' and exists ( select null from aso_price_adjustments adj2,
7299                                                                                    aso_price_adj_relationships rlt
7300                                                             where rlt.rltd_price_adj_id = adj.price_adjustment_id
7301                                                             and   adj2.modifier_line_type_code = 'PRG'
7302                                                             and   adj2.quote_header_id = adj.quote_header_id
7303                                                             and   adj2.price_adjustment_id = rlt.price_adjustment_id))));
7304 
7305    x_adj_id_tbl := l_adj_id_tbl;
7306    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7307      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
7308    END IF;
7309 
7310 END Query_price_Adjustments;
7311 
7312 PROCEDURE Query_Relationships(p_qte_adj_id_tbl IN JTF_NUMBER_TABLE,
7313                               p_service_qte_line_id_tbl IN JTF_NUMBER_TABLE)
7314 IS
7315 BEGIN
7316 
7317 
7318 IF  p_service_qte_line_id_tbl.exists(1) AND p_qte_adj_id_tbl.exists(1) THEN
7319 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7320   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get both price adj rltship and service rltship',1,'Y');
7321 END IF;
7322 SELECT
7323      adj_rel.quote_line_id,
7324      adj_rel.price_adjustment_id,
7325      decode(dbadj.modifier_line_type_code,QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PBH_LINE,QP_PREQ_GRP.G_GENERATED_LINE),
7326      adj_rel.rltd_price_adj_id,
7327      dbadjrel.quote_line_id,
7328 	dbadj.modifier_line_id,
7329 	dbadjrel.modifier_line_id
7330 BULK COLLECT INTO
7331      G_RLTD_LINE_INDEX_TBL,
7332      G_RLTD_LINE_DTL_INDEX_TBL,
7333      G_RLTD_RELATION_TYPE_CODE_TBL,
7334      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7335      G_RLTD_RELATED_LINE_IND_TBL,
7336 	G_RLTD_LST_LN_ID_DEF_TBL,
7337 	G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7338 FROM  ASO_PRICE_ADJ_RELATIONSHIPS adj_rel,
7339       ASO_PRICE_ADJUSTMENTS dbadj,
7340 	 ASO_PRICE_ADJUSTMENTS dbadjrel,
7341       TABLE (CAST(p_qte_adj_id_tbl AS JTF_NUMBER_TABLE)) adj
7342 WHERE  dbadj.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7343 AND    dbadjrel.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7344 AND    adj_rel.price_adjustment_id = adj.column_value
7345 AND    dbadj.price_adjustment_id = adj_rel.price_adjustment_id
7346 AND    dbadjrel.price_adjustment_id = adj_rel.rltd_price_adj_id
7347 AND    dbadj.modifier_line_type_code IN (QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PROMO_GOODS_DISCOUNT)
7348 UNION ALL
7349 SELECT
7350      ldets.service_ref_line_id quote_line_id,
7351      0,
7352      QP_PREQ_GRP.G_SERVICE_LINE,
7353      0,
7354      ldets.quote_line_id related_quote_line_id,
7355 	to_number(NULL),
7356      to_number(NULL)
7357 FROM ASO_QUOTE_LINE_DETAILS ldets,
7358      TABLE (CAST(P_service_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) serviceLines,
7359      ASO_QUOTE_LINES_ALL lines
7360 WHERE ldets.quote_line_id = serviceLines.column_value
7361 AND   lines.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7362 AND   lines.quote_line_id = ldets.quote_line_id
7363 AND   ldets.service_ref_line_id IS NOT NULL;
7364 
7365 ELSIF  p_service_qte_line_id_tbl is not null and  p_service_qte_line_id_tbl.exists(1) then
7366   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7367      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get only service rltship',1,'Y');
7368   END IF;
7369 
7370   SELECT
7371      ldets.service_ref_line_id quote_line_id,
7372      0,
7373      QP_PREQ_GRP.G_SERVICE_LINE,
7374      0,
7375      ldets.quote_line_id related_quote_line_id,
7376      to_number(NULL),
7377      to_number(NULL)
7378   BULK COLLECT INTO
7379      G_RLTD_LINE_INDEX_TBL,
7380      G_RLTD_LINE_DTL_INDEX_TBL,
7381      G_RLTD_RELATION_TYPE_CODE_TBL,
7382      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7383      G_RLTD_RELATED_LINE_IND_TBL,
7384      G_RLTD_LST_LN_ID_DEF_TBL,
7385      G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7386   FROM ASO_QUOTE_LINE_DETAILS ldets,
7387      TABLE (CAST(P_service_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) serviceLines,
7388      ASO_QUOTE_LINES_ALL lines
7389   WHERE ldets.quote_line_id = serviceLines.column_value
7390   AND   lines.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7391   AND   lines.quote_line_id = ldets.quote_line_id
7392   AND   ldets.service_ref_line_id IS NOT NULL;
7393 
7394 ELSIF  p_qte_adj_id_tbl is not null and p_qte_adj_id_tbl.exists(1) THEN
7395 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7396   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get only price adj rltship',1,'Y');
7397 END IF;
7398 SELECT
7399      adj_rel.quote_line_id,
7400      adj_rel.price_adjustment_id,
7401      decode(dbadj.modifier_line_type_code,QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PBH_LINE,QP_PREQ_GRP.G_GENERATED_LINE),
7402      adj_rel.rltd_price_adj_id,
7403      dbadjrel.quote_line_id,
7404 	dbadj.modifier_line_id,
7405 	dbadjrel.modifier_line_id
7406 BULK COLLECT INTO
7407      G_RLTD_LINE_INDEX_TBL,
7408      G_RLTD_LINE_DTL_INDEX_TBL,
7409      G_RLTD_RELATION_TYPE_CODE_TBL,
7410      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7411      G_RLTD_RELATED_LINE_IND_TBL,
7412 	G_RLTD_LST_LN_ID_DEF_TBL,
7413 	G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7414 FROM  ASO_PRICE_ADJ_RELATIONSHIPS adj_rel,
7415       ASO_PRICE_ADJUSTMENTS dbadj,
7416 	 ASO_PRICE_ADJUSTMENTS dbadjrel,
7417       TABLE (CAST(p_qte_adj_id_tbl AS JTF_NUMBER_TABLE)) adj
7418 WHERE  dbadj.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7419 AND    dbadjrel.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7420 AND    adj_rel.price_adjustment_id = adj.column_value
7421 AND    dbadj.price_adjustment_id = adj_rel.price_adjustment_id
7422 AND    dbadjrel.price_adjustment_id = adj_rel.rltd_price_adj_id
7423 AND    dbadj.modifier_line_type_code IN (QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PROMO_GOODS_DISCOUNT);
7424 
7425 END IF;
7426 
7427 END Query_relationships;
7428 
7429 PROCEDURE Print_Global_Data_Lines
7430 IS
7431 
7432 BEGIN
7433 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7434   aso_debug_pub.add('===================GLOBAL LINES==============================================',1,'Y');
7435   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_INDEX_TBL.count:'
7436                      ||nvl(G_LINE_INDEX_TBL.count,0),1,'Y');
7437 END IF;
7438 If nvl(G_LINE_INDEX_TBL.count,0) > 0 then
7439 For i in 1..G_LINE_INDEX_TBL.count loop
7440 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7441   aso_debug_pub.add('G_LINE_INDEX_TBL('||i||'):'||G_LINE_INDEX_TBL(i),1,'Y');
7442 END IF;
7443 end loop;
7444 end if;
7445 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7446   aso_debug_pub.add('  ',1,'Y');
7447   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_TYPE_CODE_TBL.count:'
7448                      ||nvl(G_LINE_TYPE_CODE_TBL.count,0),1,'Y');
7449 END IF;
7450 
7451 If nvl(G_LINE_INDEX_TBL.count,0) > 0 then
7452 For i in 1..G_LINE_TYPE_CODE_TBL.count loop
7453 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7454   aso_debug_pub.add('G_LINE_TYPE_CODE_TBL('||i||'):'||G_LINE_TYPE_CODE_TBL(i),1,'Y');
7455 END IF;
7456 end loop;
7457 end if;
7458 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7459   aso_debug_pub.add('  ',1,'Y');
7460   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_EFFECTIVE_DATE_TBL.count:'
7461                      ||nvl(G_PRICING_EFFECTIVE_DATE_TBL.count,0),1,'Y');
7462 END IF;
7463 
7464 If nvl(G_PRICING_EFFECTIVE_DATE_TBL.count,0) > 0 then
7465 For i in 1..G_PRICING_EFFECTIVE_DATE_TBL.count loop
7466 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7467   aso_debug_pub.add('G_PRICING_EFFECTIVE_DATE_TBL('||i||'):'||G_PRICING_EFFECTIVE_DATE_TBL(i),1,'Y');
7468 END IF;
7469 end loop;
7470 end if;
7471 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7472   aso_debug_pub.add('  ',1,'Y');
7473   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_FIRST_TBL.count:'
7474                      ||nvl(G_ACTIVE_DATE_FIRST_TBL.count,0),1,'Y');
7475 END IF;
7476 
7477 If nvl(G_ACTIVE_DATE_FIRST_TBL.count,0) > 0 then
7478 For i in 1..G_ACTIVE_DATE_FIRST_TBL.count loop
7479 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7480   aso_debug_pub.add('G_ACTIVE_DATE_FIRST_TBL('||i||'):'||G_ACTIVE_DATE_FIRST_TBL(i),1,'Y');
7481 END IF;
7482 end loop;
7483 end if;
7484 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7485   aso_debug_pub.add('  ',1,'Y');
7486   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_FIRST_TYPE_TBL.count:'
7487                      ||nvl(G_ACTIVE_DATE_FIRST_TYPE_TBL.count,0),1,'Y');
7488 END IF;
7489 
7490 If nvl(G_ACTIVE_DATE_FIRST_TYPE_TBL.count,0) > 0 then
7491 For i in 1..G_ACTIVE_DATE_FIRST_TYPE_TBL.count loop
7492 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7493   aso_debug_pub.add('G_ACTIVE_DATE_FIRST_TYPE_TBL('||i||'):'||G_ACTIVE_DATE_FIRST_TYPE_TBL(i),1,'Y');
7494 END IF;
7495 end loop;
7496 end if;
7497 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7498   aso_debug_pub.add('  ',1,'Y');
7499   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_SECOND_TBL.count:'
7500                      ||nvl(G_ACTIVE_DATE_SECOND_TBL.count,0),1,'Y');
7501 END IF;
7502 
7503 If nvl(G_ACTIVE_DATE_SECOND_TBL.count,0) > 0 then
7504 For i in 1..G_ACTIVE_DATE_SECOND_TBL.count loop
7505 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7506   aso_debug_pub.add('G_ACTIVE_DATE_SECOND_TBL('||i||'):'||G_ACTIVE_DATE_SECOND_TBL(i),1,'Y');
7507 END IF;
7508 end loop;
7509 end if;
7510 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7511   aso_debug_pub.add('  ',1,'Y');
7512   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_SECOND_TYPE_TBL.count:'
7513                      ||nvl(G_ACTIVE_DATE_SECOND_TYPE_TBL.count,0),1,'Y');
7514 END IF;
7515 
7516 If nvl(G_ACTIVE_DATE_SECOND_TYPE_TBL.count,0) > 0 then
7517 For i in 1..G_ACTIVE_DATE_SECOND_TYPE_TBL.count loop
7518 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7519   aso_debug_pub.add('G_ACTIVE_DATE_SECOND_TYPE_TBL('||i||'):'||G_ACTIVE_DATE_SECOND_TYPE_TBL(i),1,'Y');
7520 END IF;
7521 end loop;
7522 end if;
7523 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7524   aso_debug_pub.add('  ',1,'Y');
7525   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_QUANTITY_TBL.count:'
7526                      ||nvl(G_LINE_QUANTITY_TBL.count,0),1,'Y');
7527 END IF;
7528 
7529 If nvl(G_LINE_QUANTITY_TBL.count,0) > 0 then
7530 For i in 1..G_LINE_QUANTITY_TBL.count loop
7531 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7532   aso_debug_pub.add('G_LINE_QUANTITY_TBL('||i||'):'||G_LINE_QUANTITY_TBL(i),1,'Y');
7533 END IF;
7534 end loop;
7535 end if;
7536 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7537   aso_debug_pub.add('  ',1,'Y');
7538   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_UOM_CODE_TBL.count:'
7539                      ||nvl(G_LINE_UOM_CODE_TBL.count,0),1,'Y');
7540 END IF;
7541 
7542 If nvl(G_LINE_UOM_CODE_TBL.count,0) > 0 then
7543 For i in 1..G_LINE_UOM_CODE_TBL.count loop
7544 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7545   aso_debug_pub.add('G_LINE_UOM_CODE_TBL('||i||'):'||G_LINE_UOM_CODE_TBL(i),1,'Y');
7546 END IF;
7547 end loop;
7548 end if;
7549 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7550   aso_debug_pub.add('  ',1,'Y');
7551   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_REQUEST_TYPE_CODE_TBL.count:'
7552                      ||nvl(G_REQUEST_TYPE_CODE_TBL.count,0),1,'Y');
7553 END IF;
7554 
7555 If nvl(G_REQUEST_TYPE_CODE_TBL.count,0) > 0 then
7556 For i in 1..G_REQUEST_TYPE_CODE_TBL.count loop
7557 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7558   aso_debug_pub.add('G_REQUEST_TYPE_CODE_TBL('||i||'):'||G_REQUEST_TYPE_CODE_TBL(i),1,'Y');
7559 END IF;
7560 end loop;
7561 end if;
7562 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7563   aso_debug_pub.add('  ',1,'Y');
7564   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICED_QUANTITY_TBL.count:'
7565                      ||nvl(G_PRICED_QUANTITY_TBL.count,0),1,'Y');
7566 END IF;
7567 
7568 If nvl(G_PRICED_QUANTITY_TBL.count,0) > 0 then
7569 For i in 1..G_PRICED_QUANTITY_TBL.count loop
7570 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7571   aso_debug_pub.add('G_PRICED_QUANTITY_TBL('||i||'):'||G_PRICED_QUANTITY_TBL(i),1,'Y');
7572 END IF;
7573 end loop;
7574 end if;
7575 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7576   aso_debug_pub.add('  ',1,'Y');
7577   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICED_UOM_CODE_TBL.count:'
7578                      ||nvl(G_PRICED_UOM_CODE_TBL.count,0),1,'Y');
7579 END IF;
7580 
7581 If nvl(G_PRICED_UOM_CODE_TBL.count,0) > 0 then
7582 For i in 1..G_PRICED_UOM_CODE_TBL.count loop
7583 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7584   aso_debug_pub.add('G_PRICED_UOM_CODE_TBL('||i||'):'||G_PRICED_UOM_CODE_TBL(i),1,'Y');
7585 END IF;
7586 end loop;
7587 end if;
7588 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7589   aso_debug_pub.add('  ',1,'Y');
7590   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CURRENCY_CODE_TBL.count:'
7591                      ||nvl(G_CURRENCY_CODE_TBL.count,0),1,'Y');
7592 END IF;
7593 
7594 If nvl(G_CURRENCY_CODE_TBL.count,0) > 0 then
7595 For i in 1..G_CURRENCY_CODE_TBL.count loop
7596 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7597   aso_debug_pub.add('G_CURRENCY_CODE_TBL('||i||'):'||G_CURRENCY_CODE_TBL(i),1,'Y');
7598 END IF;
7599 end loop;
7600 end if;
7601 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7602   aso_debug_pub.add('  ',1,'Y');
7603   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UNIT_PRICE_TBL.count:'
7604                      ||nvl(G_UNIT_PRICE_TBL.count,0),1,'Y');
7605 END IF;
7606 
7607 If nvl(G_UNIT_PRICE_TBL.count,0) > 0 then
7608 For i in 1..G_UNIT_PRICE_TBL.count loop
7609 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7610   aso_debug_pub.add('G_UNIT_PRICE_TBL('||i||'):'||G_UNIT_PRICE_TBL(i),1,'Y');
7611 END IF;
7612 end loop;
7613 end if;
7614 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7615   aso_debug_pub.add('  ',1,'Y');
7616   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PERCENT_PRICE_TBL.count:'
7617                      ||nvl(G_PERCENT_PRICE_TBL.count,0),1,'Y');
7618 END IF;
7619 
7620 If nvl(G_PERCENT_PRICE_TBL.count,0) > 0 then
7621 For i in 1..G_PERCENT_PRICE_TBL.count loop
7622 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7623   aso_debug_pub.add('G_PERCENT_PRICE_TBL('||i||'):'||G_PERCENT_PRICE_TBL(i),1,'Y');
7624 END IF;
7625 end loop;
7626 end if;
7627 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7628   aso_debug_pub.add('  ',1,'Y');
7629   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UOM_QUANTITY_TBL.count:'
7630                      ||nvl(G_UOM_QUANTITY_TBL.count,0),1,'Y');
7631 END IF;
7632 
7633 If nvl(G_UOM_QUANTITY_TBL.count,0) > 0 then
7634 For i in 1..G_UOM_QUANTITY_TBL.count loop
7635 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7636   aso_debug_pub.add('G_UOM_QUANTITY_TBL('||i||'):'||G_UOM_QUANTITY_TBL(i),1,'Y');
7637 END IF;
7638 end loop;
7639 end if;
7640 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7641   aso_debug_pub.add('  ',1,'Y');
7642   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ADJUSTED_UNIT_PRICE_TBL.count:'
7643                      ||nvl(G_ADJUSTED_UNIT_PRICE_TBL.count,0),1,'Y');
7644 END IF;
7645 
7646 If nvl(G_ADJUSTED_UNIT_PRICE_TBL.count,0) > 0 then
7647 For i in 1..G_ADJUSTED_UNIT_PRICE_TBL.count loop
7648 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7649   aso_debug_pub.add('G_ADJUSTED_UNIT_PRICE_TBL('||i||'):'||G_ADJUSTED_UNIT_PRICE_TBL(i),1,'Y');
7650 END IF;
7651 end loop;
7652 end if;
7653 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7654   aso_debug_pub.add('  ',1,'Y');
7655   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UPD_ADJUSTED_UNIT_PRICE_TBL.count:'
7656                      ||nvl(G_UPD_ADJUSTED_UNIT_PRICE_TBL.count,0),1,'Y');
7657 END IF;
7658 
7659 If nvl(G_UPD_ADJUSTED_UNIT_PRICE_TBL.count,0) > 0 then
7660 For i in 1..G_UPD_ADJUSTED_UNIT_PRICE_TBL.count loop
7661 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7662   aso_debug_pub.add('G_UPD_ADJUSTED_UNIT_PRICE_TBL('||i||'):'||G_UPD_ADJUSTED_UNIT_PRICE_TBL(i),1,'Y');
7663 END IF;
7664 end loop;
7665 end if;
7666 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7667   aso_debug_pub.add('  ',1,'Y');
7668   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PROCESSED_FLAG_TBL.count:'
7669                      ||nvl(G_PROCESSED_FLAG_TBL.count,0),1,'Y');
7670 END IF;
7671 
7672 If nvl(G_PROCESSED_FLAG_TBL.count,0) > 0 then
7673 For i in 1..G_PROCESSED_FLAG_TBL.count loop
7674 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7675   aso_debug_pub.add('G_PROCESSED_FLAG_TBL('||i||'):'||G_PROCESSED_FLAG_TBL(i),1,'Y');
7676 END IF;
7677 end loop;
7678 end if;
7679 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7680   aso_debug_pub.add('  ',1,'Y');
7681   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_FLAG_TBL.count:'
7682                      ||nvl(G_PRICE_FLAG_TBL.count,0),1,'Y');
7683 END IF;
7684 
7685 If nvl(G_PRICE_FLAG_TBL.count,0) > 0 then
7686 For i in 1..G_PRICE_FLAG_TBL.count loop
7687 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7688   aso_debug_pub.add('G_PRICE_FLAG_TBL('||i||'):'||G_PRICE_FLAG_TBL(i),1,'Y');
7689 END IF;
7690 end loop;
7691 end if;
7692 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7693   aso_debug_pub.add('  ',1,'Y');
7694   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_ID_TBL.count:'
7695                      ||nvl(G_LINE_ID_TBL.count,0),1,'Y');
7696 END IF;
7697 
7698 If nvl(G_LINE_ID_TBL.count,0) > 0 then
7699 For i in 1..G_LINE_ID_TBL.count loop
7700 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7701   aso_debug_pub.add('G_LINE_ID_TBL('||i||'):'||G_LINE_ID_TBL(i),1,'Y');
7702 END IF;
7703 end loop;
7704 end if;
7705 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7706   aso_debug_pub.add('  ',1,'Y');
7707   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PROCESSING_ORDER_TBL.count:'
7708                      ||nvl(G_PROCESSING_ORDER_TBL.count,0),1,'Y');
7709 END IF;
7710 
7711 If nvl(G_PROCESSING_ORDER_TBL.count,0) > 0 then
7712 For i in 1..G_PROCESSING_ORDER_TBL.count loop
7713 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7714   aso_debug_pub.add('G_PROCESSING_ORDER_TBL('||i||'):'||G_PROCESSING_ORDER_TBL(i),1,'Y');
7715 END IF;
7716 end loop;
7717 end if;
7718 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7719   aso_debug_pub.add('  ',1,'Y');
7720   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_STATUS_CODE_tbl.count:'
7721                      ||nvl(G_PRICING_STATUS_CODE_tbl.count,0),1,'Y');
7722 END IF;
7723 
7724 If nvl(G_PRICING_STATUS_CODE_tbl.count,0) > 0 then
7725 For i in 1..G_PRICING_STATUS_CODE_tbl.count loop
7726 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7727   aso_debug_pub.add('G_PRICING_STATUS_CODE_tbl('||i||'):'||G_PRICING_STATUS_CODE_tbl(i),1,'Y');
7728 END IF;
7729 end loop;
7730 end if;
7731 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7732   aso_debug_pub.add('  ',1,'Y');
7733   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_STATUS_TEXT_tbl.count:'
7734                      ||nvl(G_PRICING_STATUS_TEXT_tbl.count,0),1,'Y');
7735 END IF;
7736 
7737 If nvl(G_PRICING_STATUS_TEXT_tbl.count,0) > 0 then
7738 For i in 1..G_PRICING_STATUS_TEXT_tbl.count loop
7739 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7740   aso_debug_pub.add('G_PRICING_STATUS_TEXT_tbl('||i||'):'||G_PRICING_STATUS_TEXT_tbl(i),1,'Y');
7741 END IF;
7742 end loop;
7743 end if;
7744 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7745   aso_debug_pub.add('  ',1,'Y');
7746   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ROUNDING_FLAG_TBL.count:'
7747                      ||nvl(G_ROUNDING_FLAG_TBL.count,0),1,'Y');
7748 END IF;
7749 
7750 If nvl(G_ROUNDING_FLAG_TBL.count,0) > 0 then
7751 For i in 1..G_ROUNDING_FLAG_TBL.count loop
7752 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7753   aso_debug_pub.add('G_ROUNDING_FLAG_TBL('||i||'):'||G_ROUNDING_FLAG_TBL(i),1,'Y');
7754 END IF;
7755 end loop;
7756 end if;
7757 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7758   aso_debug_pub.add('  ',1,'Y');
7759   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ROUNDING_FACTOR_TBL.count:'
7760                      ||nvl(G_ROUNDING_FACTOR_TBL.count,0),1,'Y');
7761 END IF;
7762 
7763 If nvl(G_ROUNDING_FACTOR_TBL.count,0) > 0 then
7764 For i in 1..G_ROUNDING_FACTOR_TBL.count loop
7765 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7766   aso_debug_pub.add('G_ROUNDING_FACTOR_TBL('||i||'):'||G_ROUNDING_FACTOR_TBL(i),1,'Y');
7767 END IF;
7768 end loop;
7769 end if;
7770 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7771   aso_debug_pub.add('  ',1,'Y');
7772   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_QUALIFIERS_EXIST_FLAG_TBL.count:'
7773                      ||nvl(G_QUALIFIERS_EXIST_FLAG_TBL.count,0),1,'Y');
7774 END IF;
7775 
7776 If nvl(G_QUALIFIERS_EXIST_FLAG_TBL.count,0) > 0 then
7777 For i in 1..G_QUALIFIERS_EXIST_FLAG_TBL.count loop
7778 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7779   aso_debug_pub.add('G_QUALIFIERS_EXIST_FLAG_TBL('||i||'):'||G_QUALIFIERS_EXIST_FLAG_TBL(i),1,'Y');
7780 END IF;
7781 end loop;
7782 end if;
7783 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7784   aso_debug_pub.add('  ',1,'Y');
7785   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_ATTRS_EXIST_FLAG_TBL.count:'
7786                      ||nvl(G_PRICING_ATTRS_EXIST_FLAG_TBL.count,0),1,'Y');
7787 END IF;
7788 
7789 If nvl(G_PRICING_ATTRS_EXIST_FLAG_TBL.count,0) > 0 then
7790 For i in 1..G_PRICING_ATTRS_EXIST_FLAG_TBL.count loop
7791 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7792   aso_debug_pub.add('G_PRICING_ATTRS_EXIST_FLAG_TBL('||i||'):'||G_PRICING_ATTRS_EXIST_FLAG_TBL(i),1,'Y');
7793 END IF;
7794 end loop;
7795 end if;
7796 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7797   aso_debug_pub.add('  ',1,'Y');
7798   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_LIST_ID_TBL.count:'
7799                      ||nvl(G_PRICE_LIST_ID_TBL.count,0),1,'Y');
7800 END IF;
7801 
7802 If nvl(G_PRICE_LIST_ID_TBL.count,0) > 0 then
7803 For i in 1..G_PRICE_LIST_ID_TBL.count loop
7804 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7805   aso_debug_pub.add('G_PRICE_LIST_ID_TBL('||i||'):'||G_PRICE_LIST_ID_TBL(i),1,'Y');
7806 END IF;
7807 end loop;
7808 end if;
7809 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7810   aso_debug_pub.add('  ',1,'Y');
7811   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PL_VALIDATED_FLAG_TBL.count:'
7812                      ||nvl(G_PL_VALIDATED_FLAG_TBL.count,0),1,'Y');
7813 END IF;
7814 
7815 If nvl(G_PL_VALIDATED_FLAG_TBL.count,0) > 0 then
7816 For i in 1..G_PL_VALIDATED_FLAG_TBL.count loop
7817 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7818   aso_debug_pub.add('G_PL_VALIDATED_FLAG_TBL('||i||'):'||G_PL_VALIDATED_FLAG_TBL(i),1,'Y');
7819 END IF;
7820 end loop;
7821 end if;
7822 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7823   aso_debug_pub.add('  ',1,'Y');
7824   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_REQUEST_CODE_TBL.count:'
7825                      ||nvl(G_PRICE_REQUEST_CODE_TBL.count,0),1,'Y');
7826 END IF;
7827 
7828 If nvl(G_PRICE_REQUEST_CODE_TBL.count,0) > 0 then
7829 For i in 1..G_PRICE_REQUEST_CODE_TBL.count loop
7830 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7831   aso_debug_pub.add('G_PRICE_REQUEST_CODE_TBL('||i||'):'||G_PRICE_REQUEST_CODE_TBL(i),1,'Y');
7832 END IF;
7833 end loop;
7834 end if;
7835 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7836   aso_debug_pub.add('  ',1,'Y');
7837   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_USAGE_PRICING_TYPE_tbl.count:'
7838                      ||nvl(G_USAGE_PRICING_TYPE_tbl.count,0),1,'Y');
7839 END IF;
7840 
7841 If nvl(G_USAGE_PRICING_TYPE_tbl.count,0) > 0 then
7842 For i in 1..G_USAGE_PRICING_TYPE_tbl.count loop
7843 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7844   aso_debug_pub.add('G_USAGE_PRICING_TYPE_tbl('||i||'):'||G_USAGE_PRICING_TYPE_tbl(i),1,'Y');
7845 END IF;
7846 end loop;
7847 end if;
7848 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7849   aso_debug_pub.add('  ',1,'Y');
7850   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_CATEGORY_tbl.count:'
7851                      ||nvl(G_LINE_CATEGORY_tbl.count,0),1,'Y');
7852 END IF;
7853 
7854 If nvl(G_LINE_CATEGORY_tbl.count,0) > 0 then
7855 For i in 1..G_LINE_CATEGORY_tbl.count loop
7856 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7857   aso_debug_pub.add('G_LINE_CATEGORY_tbl('||i||'):'||G_LINE_CATEGORY_tbl(i),1,'Y');
7858 END IF;
7859 end loop;
7860 end if;
7861 
7862 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7863   aso_debug_pub.add('  ',1,'Y');
7864   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CHRG_PERIODICITY_CODE_TBL.count:'
7865                      ||nvl(G_CHRG_PERIODICITY_CODE_TBL.count,0),1,'Y');
7866 END IF;
7867 
7868 If nvl(G_CHRG_PERIODICITY_CODE_TBL.count,0) > 0 then
7869 For i in 1..G_CHRG_PERIODICITY_CODE_TBL.count loop
7870 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7871   aso_debug_pub.add('G_CHRG_PERIODICITY_CODE_TBL('||i||'):'||G_CHRG_PERIODICITY_CODE_TBL(i),1,'Y');
7872 END IF;
7873 end loop;
7874 end if;
7875 
7876 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7877   aso_debug_pub.add('  ',1,'Y');
7878   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CONTRACT_START_DATE_TBL.count:'
7879                      ||nvl(G_CONTRACT_START_DATE_TBL.count,0),1,'Y');
7880 END IF;
7881 
7882 If nvl(G_CONTRACT_START_DATE_TBL.count,0) > 0 then
7883 For i in 1..G_CONTRACT_START_DATE_TBL.count loop
7884 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7885   aso_debug_pub.add('G_CONTRACT_START_DATE_TBL('||i||'):'||G_CONTRACT_START_DATE_TBL(i),1,'Y');
7886 END IF;
7887 end loop;
7888 end if;
7889 
7890 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7891   aso_debug_pub.add('  ',1,'Y');
7892   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CONTRACT_END_DATE_TBL.count:'
7893                      ||nvl(G_CONTRACT_END_DATE_TBL.count,0),1,'Y');
7894 END IF;
7895 
7896 If nvl(G_CONTRACT_END_DATE_TBL.count,0) > 0 then
7897 For i in 1..G_CONTRACT_END_DATE_TBL.count loop
7898 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7899   aso_debug_pub.add('G_CONTRACT_END_DATE_TBL('||i||'):'||G_CONTRACT_END_DATE_TBL(i),1,'Y');
7900 END IF;
7901 end loop;
7902 end if;
7903 
7904 
7905 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7906   aso_debug_pub.add('  ',1,'Y');
7907 END IF;
7908 
7909 END Print_Global_Data_Lines;
7910 
7911 PROCEDURE Print_Global_Data_Adjustments
7912 IS
7913 BEGIN
7914 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7915    aso_debug_pub.add('-------------------GLOBAL ADJUSTMENTS---------------------------------------------',1,'Y');
7916   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_DTL_INDEX_TBL.count:'
7917                      ||nvl(G_LDET_LINE_DTL_INDEX_TBL.count,0),1,'Y');
7918 END IF;
7919 If nvl(G_LDET_LINE_DTL_INDEX_TBL.count,0) > 0 then
7920 For i in 1..G_LDET_LINE_DTL_INDEX_TBL.count loop
7921 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7922   aso_debug_pub.add('G_LDET_LINE_DTL_INDEX_TBL('||i||'):'||G_LDET_LINE_DTL_INDEX_TBL(i),1,'Y');
7923 END IF;
7924 end loop;
7925 end if;
7926 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7927   aso_debug_pub.add('  ',1,'Y');
7928   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_ADJ_ID_TBL.count:'
7929                      ||nvl(G_LDET_PRICE_ADJ_ID_TBL.count,0),1,'Y');
7930 END IF;
7931 
7932 If nvl(G_LDET_PRICE_ADJ_ID_TBL.count,0) > 0 then
7933 For i in 1..G_LDET_PRICE_ADJ_ID_TBL.count loop
7934 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7935   aso_debug_pub.add('G_LDET_PRICE_ADJ_ID_TBL('||i||'):'||G_LDET_PRICE_ADJ_ID_TBL(i),1,'Y');
7936 END IF;
7937 end loop;
7938 end if;
7939 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7940   aso_debug_pub.add('  ',1,'Y');
7941   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_DTL_TYPE_TBL.count:'
7942                      ||nvl(G_LDET_LINE_DTL_TYPE_TBL.count,0),1,'Y');
7943 END IF;
7944 
7945 If nvl(G_LDET_LINE_DTL_TYPE_TBL.count,0) > 0 then
7946 For i in 1..G_LDET_LINE_DTL_TYPE_TBL.count loop
7947 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7948   aso_debug_pub.add('G_LDET_LINE_DTL_TYPE_TBL('||i||'):'||G_LDET_LINE_DTL_TYPE_TBL(i),1,'Y');
7949 END IF;
7950 end loop;
7951 end if;
7952 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7953   aso_debug_pub.add('  ',1,'Y');
7954   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_BREAK_TYPE_TBL.count:'
7955                      ||nvl(G_LDET_PRICE_BREAK_TYPE_TBL.count,0),1,'Y');
7956 END IF;
7957 
7958 If nvl(G_LDET_PRICE_BREAK_TYPE_TBL.count,0) > 0 then
7959 For i in 1..G_LDET_PRICE_BREAK_TYPE_TBL.count loop
7960 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7961   aso_debug_pub.add('G_LDET_PRICE_BREAK_TYPE_TBL('||i||'):'||G_LDET_PRICE_BREAK_TYPE_TBL(i),1,'Y');
7962 END IF;
7963 end loop;
7964 end if;
7965 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7966   aso_debug_pub.add('  ',1,'Y');
7967   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_PRICE_TBL.count:'
7968                      ||nvl(G_LDET_LIST_PRICE_TBL.count,0),1,'Y');
7969 END IF;
7970 
7971 If nvl(G_LDET_LIST_PRICE_TBL.count,0) > 0 then
7972 For i in 1..G_LDET_LIST_PRICE_TBL.count loop
7973 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7974   aso_debug_pub.add('G_LDET_LIST_PRICE_TBL('||i||'):'||G_LDET_LIST_PRICE_TBL(i),1,'Y');
7975 END IF;
7976 end loop;
7977 end if;
7978 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7979   aso_debug_pub.add('  ',1,'Y');
7980   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_INDEX_TBL.count:'
7981                      ||nvl(G_LDET_LINE_INDEX_TBL.count,0),1,'Y');
7982 END IF;
7983 
7984 If nvl(G_LDET_LINE_INDEX_TBL.count,0) > 0 then
7985 For i in 1..G_LDET_LINE_INDEX_TBL.count loop
7986 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7987   aso_debug_pub.add('G_LDET_LINE_INDEX_TBL('||i||'):'||G_LDET_LINE_INDEX_TBL(i),1,'Y');
7988 END IF;
7989 end loop;
7990 end if;
7991 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7992   aso_debug_pub.add('  ',1,'Y');
7993   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_HEADER_ID_TBL.count:'
7994                      ||nvl(G_LDET_LIST_HEADER_ID_TBL.count,0),1,'Y');
7995 END IF;
7996 
7997 If nvl(G_LDET_LIST_HEADER_ID_TBL.count,0) > 0 then
7998 For i in 1..G_LDET_LIST_HEADER_ID_TBL.count loop
7999 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8000   aso_debug_pub.add('G_LDET_LIST_HEADER_ID_TBL('||i||'):'||G_LDET_LIST_HEADER_ID_TBL(i),1,'Y');
8001 END IF;
8002 end loop;
8003 end if;
8004 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8005   aso_debug_pub.add('  ',1,'Y');
8006   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_ID_TBL.count:'
8007                      ||nvl(G_LDET_LIST_LINE_ID_TBL.count,0),1,'Y');
8008 END IF;
8009 
8010 If nvl(G_LDET_LIST_LINE_ID_TBL.count,0) > 0 then
8011 For i in 1..G_LDET_LIST_LINE_ID_TBL.count loop
8012 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8013   aso_debug_pub.add('G_LDET_LIST_LINE_ID_TBL('||i||'):'||G_LDET_LIST_LINE_ID_TBL(i),1,'Y');
8014 END IF;
8015 end loop;
8016 end if;
8017 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8018   aso_debug_pub.add('  ',1,'Y');
8019   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_TYPE_TBL.count:'
8020                      ||nvl(G_LDET_LIST_LINE_TYPE_TBL.count,0),1,'Y');
8021 END IF;
8022 
8023 If nvl(G_LDET_LIST_LINE_TYPE_TBL.count,0) > 0 then
8024 For i in 1..G_LDET_LIST_LINE_TYPE_TBL.count loop
8025 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8026   aso_debug_pub.add('G_LDET_LIST_LINE_TYPE_TBL('||i||'):'||G_LDET_LIST_LINE_TYPE_TBL(i),1,'Y');
8027 END IF;
8028 end loop;
8029 end if;
8030 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8031   aso_debug_pub.add('  ',1,'Y');
8032   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_TYPE_CODE_TBL.count:'
8033                      ||nvl(G_LDET_LIST_TYPE_CODE_TBL.count,0),1,'Y');
8034 END IF;
8035 
8036 If nvl(G_LDET_LIST_TYPE_CODE_TBL.count,0) > 0 then
8037 For i in 1..G_LDET_LIST_TYPE_CODE_TBL.count loop
8038 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8039   aso_debug_pub.add('G_LDET_LIST_TYPE_CODE_TBL('||i||'):'||G_LDET_LIST_TYPE_CODE_TBL(i),1,'Y');
8040 END IF;
8041 end loop;
8042 end if;
8043 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8044   aso_debug_pub.add('  ',1,'Y');
8045   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CREATED_FROM_SQL_TBL.count:'
8046                      ||nvl(G_LDET_CREATED_FROM_SQL_TBL.count,0),1,'Y');
8047 END IF;
8048 
8049 If nvl(G_LDET_CREATED_FROM_SQL_TBL.count,0) > 0 then
8050 For i in 1..G_LDET_CREATED_FROM_SQL_TBL.count loop
8051 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8052   aso_debug_pub.add('G_LDET_CREATED_FROM_SQL_TBL('||i||'):'||G_LDET_CREATED_FROM_SQL_TBL(i),1,'Y');
8053 END IF;
8054 end loop;
8055 end if;
8056 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8057   aso_debug_pub.add('  ',1,'Y');
8058   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_GRP_SEQ_TBL.count:'
8059                      ||nvl(G_LDET_PRICING_GRP_SEQ_TBL.count,0),1,'Y');
8060 END IF;
8061 
8062 If nvl(G_LDET_PRICING_GRP_SEQ_TBL.count,0) > 0 then
8063 For i in 1..G_LDET_PRICING_GRP_SEQ_TBL.count loop
8064 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8065   aso_debug_pub.add('G_LDET_PRICING_GRP_SEQ_TBL('||i||'):'||G_LDET_PRICING_GRP_SEQ_TBL(i),1,'Y');
8066 END IF;
8067 end loop;
8068 end if;
8069 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8070   aso_debug_pub.add('  ',1,'Y');
8071   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_PHASE_ID_TBL.count:'
8072                      ||nvl(G_LDET_PRICING_PHASE_ID_TBL.count,0),1,'Y');
8073 END IF;
8074 
8075 If nvl(G_LDET_PRICING_PHASE_ID_TBL.count,0) > 0 then
8076 For i in 1..G_LDET_PRICING_PHASE_ID_TBL.count loop
8077 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8078   aso_debug_pub.add('G_LDET_PRICING_PHASE_ID_TBL('||i||'):'||G_LDET_PRICING_PHASE_ID_TBL(i),1,'Y');
8079 END IF;
8080 end loop;
8081 end if;
8082 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8083   aso_debug_pub.add('  ',1,'Y');
8084   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OPERAND_CALC_CODE_TBL.count:'
8085                      ||nvl(G_LDET_OPERAND_CALC_CODE_TBL.count,0),1,'Y');
8086 END IF;
8087 
8088 If nvl(G_LDET_OPERAND_CALC_CODE_TBL.count,0) > 0 then
8089 For i in 1..G_LDET_OPERAND_CALC_CODE_TBL.count loop
8090 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8091   aso_debug_pub.add('G_LDET_OPERAND_CALC_CODE_TBL('||i||'):'||G_LDET_OPERAND_CALC_CODE_TBL(i),1,'Y');
8092 END IF;
8093 end loop;
8094 end if;
8095 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8096   aso_debug_pub.add('  ',1,'Y');
8097   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OPERAND_VALUE_TBL.count:'
8098                      ||nvl(G_LDET_OPERAND_VALUE_TBL.count,0),1,'Y');
8099 END IF;
8100 
8101 If nvl(G_LDET_OPERAND_VALUE_TBL.count,0) > 0 then
8102 For i in 1..G_LDET_OPERAND_VALUE_TBL.count loop
8103 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8104   aso_debug_pub.add('G_LDET_OPERAND_VALUE_TBL('||i||'):'||G_LDET_OPERAND_VALUE_TBL(i),1,'Y');
8105 END IF;
8106 end loop;
8107 end if;
8108 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8109   aso_debug_pub.add('  ',1,'Y');
8110   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_TYPE_TBL.count:'
8111                      ||nvl(G_LDET_SUBSTN_TYPE_TBL.count,0),1,'Y');
8112 END IF;
8113 
8114 If nvl(G_LDET_SUBSTN_TYPE_TBL.count,0) > 0 then
8115 For i in 1..G_LDET_SUBSTN_TYPE_TBL.count loop
8116 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8117   aso_debug_pub.add('G_LDET_SUBSTN_TYPE_TBL('||i||'):'||G_LDET_SUBSTN_TYPE_TBL(i),1,'Y');
8118 END IF;
8119 end loop;
8120 end if;
8121 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8122   aso_debug_pub.add('  ',1,'Y');
8123   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_VALUE_FROM_TBL.count:'
8124                      ||nvl(G_LDET_SUBSTN_VALUE_FROM_TBL.count,0),1,'Y');
8125 END IF;
8126 
8127 If nvl(G_LDET_SUBSTN_VALUE_FROM_TBL.count,0) > 0 then
8128 For i in 1..G_LDET_SUBSTN_VALUE_FROM_TBL.count loop
8129 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8130   aso_debug_pub.add('G_LDET_SUBSTN_VALUE_FROM_TBL('||i||'):'||G_LDET_SUBSTN_VALUE_FROM_TBL(i),1,'Y');
8131 END IF;
8132 end loop;
8133 end if;
8134 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8135   aso_debug_pub.add('  ',1,'Y');
8136   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_VALUE_TO_TBL.count:'
8137                      ||nvl(G_LDET_SUBSTN_VALUE_TO_TBL.count,0),1,'Y');
8138 END IF;
8139 
8140 If nvl(G_LDET_SUBSTN_VALUE_TO_TBL.count,0) > 0 then
8141 For i in 1..G_LDET_SUBSTN_VALUE_TO_TBL.count loop
8142 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8143   aso_debug_pub.add('G_LDET_SUBSTN_VALUE_TO_TBL('||i||'):'||G_LDET_SUBSTN_VALUE_TO_TBL(i),1,'Y');
8144 END IF;
8145 end loop;
8146 end if;
8147 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8148   aso_debug_pub.add('  ',1,'Y');
8149   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ASK_FOR_FLAG_TBL.count:'
8150                      ||nvl(G_LDET_ASK_FOR_FLAG_TBL.count,0),1,'Y');
8151 END IF;
8152 
8153 If nvl(G_LDET_ASK_FOR_FLAG_TBL.count,0) > 0 then
8154 For i in 1..G_LDET_ASK_FOR_FLAG_TBL.count loop
8155 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8156   aso_debug_pub.add('G_LDET_ASK_FOR_FLAG_TBL('||i||'):'||G_LDET_ASK_FOR_FLAG_TBL(i),1,'Y');
8157 END IF;
8158 end loop;
8159 end if;
8160 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8161   aso_debug_pub.add('  ',1,'Y');
8162   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_FORMULA_ID_TBL.count:'
8163                      ||nvl(G_LDET_PRICE_FORMULA_ID_TBL.count,0),1,'Y');
8164 END IF;
8165 
8166 If nvl(G_LDET_PRICE_FORMULA_ID_TBL.count,0) > 0 then
8167 For i in 1..G_LDET_PRICE_FORMULA_ID_TBL.count loop
8168 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8169   aso_debug_pub.add('G_LDET_PRICE_FORMULA_ID_TBL('||i||'):'||G_LDET_PRICE_FORMULA_ID_TBL(i),1,'Y');
8170 END IF;
8171 end loop;
8172 end if;
8173 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8174   aso_debug_pub.add('  ',1,'Y');
8175   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_STATUS_CODE_TBL.count:'
8176                      ||nvl(G_LDET_PRICING_STATUS_CODE_TBL.count,0),1,'Y');
8177 END IF;
8178 
8179 If nvl(G_LDET_PRICING_STATUS_CODE_TBL.count,0) > 0 then
8180 For i in 1..G_LDET_PRICING_STATUS_CODE_TBL.count loop
8181 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8182   aso_debug_pub.add('G_LDET_PRICING_STATUS_CODE_TBL('||i||'):'||G_LDET_PRICING_STATUS_CODE_TBL(i),1,'Y');
8183 END IF;
8184 end loop;
8185 end if;
8186 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8187   aso_debug_pub.add('  ',1,'Y');
8188   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_STATUS_TXT_TBL.count:'
8189                      ||nvl(G_LDET_PRICING_STATUS_TXT_TBL.count,0),1,'Y');
8190 END IF;
8191 
8192 If nvl(G_LDET_PRICING_STATUS_TXT_TBL.count,0) > 0 then
8193 For i in 1..G_LDET_PRICING_STATUS_TXT_TBL.count loop
8194 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8195   aso_debug_pub.add('G_LDET_PRICING_STATUS_TXT_TBL('||i||'):'||G_LDET_PRICING_STATUS_TXT_TBL(i),1,'Y');
8196 END IF;
8197 end loop;
8198 end if;
8199 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8200   aso_debug_pub.add('  ',1,'Y');
8201   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRODUCT_PRECEDENCE_TBL.count:'
8202                      ||nvl(G_LDET_PRODUCT_PRECEDENCE_TBL.count,0),1,'Y');
8203 END IF;
8204 
8205 If nvl(G_LDET_PRODUCT_PRECEDENCE_TBL.count,0) > 0 then
8206 For i in 1..G_LDET_PRODUCT_PRECEDENCE_TBL.count loop
8207 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8208   aso_debug_pub.add('G_LDET_PRODUCT_PRECEDENCE_TBL('||i||'):'||G_LDET_PRODUCT_PRECEDENCE_TBL(i),1,'Y');
8209 END IF;
8210 end loop;
8211 end if;
8212 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8213   aso_debug_pub.add('  ',1,'Y');
8214   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_INCOMPAT_GRP_CODE_TBL.count:'
8215                      ||nvl(G_LDET_INCOMPAT_GRP_CODE_TBL.count,0),1,'Y');
8216 END IF;
8217 
8218 If nvl(G_LDET_INCOMPAT_GRP_CODE_TBL.count,0) > 0 then
8219 For i in 1..G_LDET_INCOMPAT_GRP_CODE_TBL.count loop
8220 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8221   aso_debug_pub.add('G_LDET_INCOMPAT_GRP_CODE_TBL('||i||'):'||G_LDET_INCOMPAT_GRP_CODE_TBL(i),1,'Y');
8222 END IF;
8223 end loop;
8224 end if;
8225 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8226   aso_debug_pub.add('  ',1,'Y');
8227   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PROCESSED_FLAG_TBL.count:'
8228                      ||nvl(G_LDET_PROCESSED_FLAG_TBL.count,0),1,'Y');
8229 END IF;
8230 
8231 If nvl(G_LDET_PROCESSED_FLAG_TBL.count,0) > 0 then
8232 For i in 1..G_LDET_PROCESSED_FLAG_TBL.count loop
8233 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8234   aso_debug_pub.add('G_LDET_PROCESSED_FLAG_TBL('||i||'):'||G_LDET_PROCESSED_FLAG_TBL(i),1,'Y');
8235 END IF;
8236 end loop;
8237 end if;
8238 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8239   aso_debug_pub.add('  ',1,'Y');
8240   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_APPLIED_FLAG_TBL.count:'
8241                      ||nvl(G_LDET_APPLIED_FLAG_TBL.count,0),1,'Y');
8242 END IF;
8243 
8244 If nvl(G_LDET_APPLIED_FLAG_TBL.count,0) > 0 then
8245 For i in 1..G_LDET_APPLIED_FLAG_TBL.count loop
8246 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8247   aso_debug_pub.add('G_LDET_APPLIED_FLAG_TBL('||i||'):'||G_LDET_APPLIED_FLAG_TBL(i),1,'Y');
8248 END IF;
8249 end loop;
8250 end if;
8251 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8252   aso_debug_pub.add('  ',1,'Y');
8253   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_AUTOMATIC_FLAG_TBL.count:'
8254                      ||nvl(G_LDET_AUTOMATIC_FLAG_TBL.count,0),1,'Y');
8255 END IF;
8256 
8257 If nvl(G_LDET_AUTOMATIC_FLAG_TBL.count,0) > 0 then
8258 For i in 1..G_LDET_AUTOMATIC_FLAG_TBL.count loop
8259 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8260   aso_debug_pub.add('G_LDET_AUTOMATIC_FLAG_TBL('||i||'):'||G_LDET_AUTOMATIC_FLAG_TBL(i),1,'Y');
8261 END IF;
8262 end loop;
8263 end if;
8264 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8265   aso_debug_pub.add('  ',1,'Y');
8266   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OVERRIDE_FLAG_TBL.count:'
8267                      ||nvl(G_LDET_OVERRIDE_FLAG_TBL.count,0),1,'Y');
8268 END IF;
8269 
8270 If nvl(G_LDET_OVERRIDE_FLAG_TBL.count,0) > 0 then
8271 For i in 1..G_LDET_OVERRIDE_FLAG_TBL.count loop
8272 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8273   aso_debug_pub.add('G_LDET_OVERRIDE_FLAG_TBL('||i||'):'||G_LDET_OVERRIDE_FLAG_TBL(i),1,'Y');
8274 END IF;
8275 end loop;
8276 end if;
8277 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8278   aso_debug_pub.add('  ',1,'Y');
8279   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRIMARY_UOM_FLAG_TBL.count:'
8280                      ||nvl(G_LDET_PRIMARY_UOM_FLAG_TBL.count,0),1,'Y');
8281 END IF;
8282 
8283 If nvl(G_LDET_PRIMARY_UOM_FLAG_TBL.count,0) > 0 then
8284 For i in 1..G_LDET_PRIMARY_UOM_FLAG_TBL.count loop
8285 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8286   aso_debug_pub.add('G_LDET_PRIMARY_UOM_FLAG_TBL('||i||'):'||G_LDET_PRIMARY_UOM_FLAG_TBL(i),1,'Y');
8287 END IF;
8288 end loop;
8289 end if;
8290 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8291   aso_debug_pub.add('  ',1,'Y');
8292   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRINT_ON_INV_FLAG_TBL.count:'
8293                      ||nvl(G_LDET_PRINT_ON_INV_FLAG_TBL.count,0),1,'Y');
8294 END IF;
8295 
8296 If nvl(G_LDET_PRINT_ON_INV_FLAG_TBL.count,0) > 0 then
8297 For i in 1..G_LDET_PRINT_ON_INV_FLAG_TBL.count loop
8298 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8299   aso_debug_pub.add('G_LDET_PRINT_ON_INV_FLAG_TBL('||i||'):'||G_LDET_PRINT_ON_INV_FLAG_TBL(i),1,'Y');
8300 END IF;
8301 end loop;
8302 end if;
8303 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8304   aso_debug_pub.add('  ',1,'Y');
8305   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_MODIFIER_LEVEL_TBL.count:'
8306                      ||nvl(G_LDET_MODIFIER_LEVEL_TBL.count,0),1,'Y');
8307 END IF;
8308 
8309 If nvl(G_LDET_MODIFIER_LEVEL_TBL.count,0) > 0 then
8310 For i in 1..G_LDET_MODIFIER_LEVEL_TBL.count loop
8311 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8312   aso_debug_pub.add('G_LDET_MODIFIER_LEVEL_TBL('||i||'):'||G_LDET_MODIFIER_LEVEL_TBL(i),1,'Y');
8313 END IF;
8314 end loop;
8315 end if;
8316 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8317   aso_debug_pub.add('  ',1,'Y');
8318   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BENEFIT_QTY_TBL.count:'
8319                      ||nvl(G_LDET_BENEFIT_QTY_TBL.count,0),1,'Y');
8320 END IF;
8321 
8322 If nvl(G_LDET_BENEFIT_QTY_TBL.count,0) > 0 then
8323 For i in 1..G_LDET_BENEFIT_QTY_TBL.count loop
8324 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8325   aso_debug_pub.add('G_LDET_BENEFIT_QTY_TBL('||i||'):'||G_LDET_BENEFIT_QTY_TBL(i),1,'Y');
8326 END IF;
8327 end loop;
8328 end if;
8329 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8330   aso_debug_pub.add('  ',1,'Y');
8331   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BENEFIT_UOM_CODE_TBL.count:'
8332                      ||nvl(G_LDET_BENEFIT_UOM_CODE_TBL.count,0),1,'Y');
8333 END IF;
8334 
8335 If nvl(G_LDET_BENEFIT_UOM_CODE_TBL.count,0) > 0 then
8336 For i in 1..G_LDET_BENEFIT_UOM_CODE_TBL.count loop
8337 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8338   aso_debug_pub.add('G_LDET_BENEFIT_UOM_CODE_TBL('||i||'):'||G_LDET_BENEFIT_UOM_CODE_TBL(i),1,'Y');
8339 END IF;
8340 end loop;
8341 end if;
8342 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8343   aso_debug_pub.add('  ',1,'Y');
8344   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_NO_TBL.count:'
8345                      ||nvl(G_LDET_LIST_LINE_NO_TBL.count,0),1,'Y');
8346 END IF;
8347 
8348 If nvl(G_LDET_LIST_LINE_NO_TBL.count,0) > 0 then
8349 For i in 1..G_LDET_LIST_LINE_NO_TBL.count loop
8350 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8351   aso_debug_pub.add('G_LDET_LIST_LINE_NO_TBL('||i||'):'||G_LDET_LIST_LINE_NO_TBL(i),1,'Y');
8352 END IF;
8353 end loop;
8354 end if;
8355 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8356   aso_debug_pub.add('  ',1,'Y');
8357   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ACCRUAL_FLAG_TBL.count:'
8358                      ||nvl(G_LDET_ACCRUAL_FLAG_TBL.count,0),1,'Y');
8359 END IF;
8360 
8361 If nvl(G_LDET_ACCRUAL_FLAG_TBL.count,0) > 0 then
8362 For i in 1..G_LDET_ACCRUAL_FLAG_TBL.count loop
8363 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8364   aso_debug_pub.add('G_LDET_ACCRUAL_FLAG_TBL('||i||'):'||G_LDET_ACCRUAL_FLAG_TBL(i),1,'Y');
8365 END IF;
8366 end loop;
8367 end if;
8368 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8369   aso_debug_pub.add('  ',1,'Y');
8370   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ACCR_CONV_RATE_TBL.count:'
8371                      ||nvl(G_LDET_ACCR_CONV_RATE_TBL.count,0),1,'Y');
8372 END IF;
8373 
8374 If nvl(G_LDET_ACCR_CONV_RATE_TBL.count,0) > 0 then
8375 For i in 1..G_LDET_ACCR_CONV_RATE_TBL.count loop
8376 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8377   aso_debug_pub.add('G_LDET_ACCR_CONV_RATE_TBL('||i||'):'||G_LDET_ACCR_CONV_RATE_TBL(i),1,'Y');
8378 END IF;
8379 end loop;
8380 end if;
8381 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8382   aso_debug_pub.add('  ',1,'Y');
8383   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ESTIM_ACCR_RATE_TBL.count:'
8384                      ||nvl(G_LDET_ESTIM_ACCR_RATE_TBL.count,0),1,'Y');
8385 END IF;
8386 
8387 If nvl(G_LDET_ESTIM_ACCR_RATE_TBL.count,0) > 0 then
8388 For i in 1..G_LDET_ESTIM_ACCR_RATE_TBL.count loop
8389 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8390   aso_debug_pub.add('G_LDET_ESTIM_ACCR_RATE_TBL('||i||'):'||G_LDET_ESTIM_ACCR_RATE_TBL(i),1,'Y');
8391 END IF;
8392 end loop;
8393 end if;
8394 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8395   aso_debug_pub.add('  ',1,'Y');
8396   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_RECURRING_FLAG_TBL.count:'
8397                      ||nvl(G_LDET_RECURRING_FLAG_TBL.count,0),1,'Y');
8398 END IF;
8399 
8400 If nvl(G_LDET_RECURRING_FLAG_TBL.count,0) > 0 then
8401 For i in 1..G_LDET_RECURRING_FLAG_TBL.count loop
8402 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8403   aso_debug_pub.add('G_LDET_RECURRING_FLAG_TBL('||i||'):'||G_LDET_RECURRING_FLAG_TBL(i),1,'Y');
8404 END IF;
8405 end loop;
8406 end if;
8407 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8408   aso_debug_pub.add('  ',1,'Y');
8409   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SELECTED_VOL_ATTR_TBL.count:'
8410                      ||nvl(G_LDET_SELECTED_VOL_ATTR_TBL.count,0),1,'Y');
8411 END IF;
8412 
8413 If nvl(G_LDET_SELECTED_VOL_ATTR_TBL.count,0) > 0 then
8414 For i in 1..G_LDET_SELECTED_VOL_ATTR_TBL.count loop
8415 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8416   aso_debug_pub.add('G_LDET_SELECTED_VOL_ATTR_TBL('||i||'):'||G_LDET_SELECTED_VOL_ATTR_TBL(i),1,'Y');
8417 END IF;
8418 end loop;
8419 end if;
8420 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8421   aso_debug_pub.add('  ',1,'Y');
8422   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ROUNDING_FACTOR_TBL.count:'
8423                      ||nvl(G_LDET_ROUNDING_FACTOR_TBL.count,0),1,'Y');
8424 END IF;
8425 
8426 If nvl(G_LDET_ROUNDING_FACTOR_TBL.count,0) > 0 then
8427 For i in 1..G_LDET_ROUNDING_FACTOR_TBL.count loop
8428 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8429   aso_debug_pub.add('G_LDET_ROUNDING_FACTOR_TBL('||i||'):'||G_LDET_ROUNDING_FACTOR_TBL(i),1,'Y');
8430 END IF;
8431 end loop;
8432 end if;
8433 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8434   aso_debug_pub.add('  ',1,'Y');
8435   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_HDR_LIMIT_EXISTS_TBL.count:'
8436                      ||nvl(G_LDET_HDR_LIMIT_EXISTS_TBL.count,0),1,'Y');
8437 END IF;
8438 
8439 If nvl(G_LDET_HDR_LIMIT_EXISTS_TBL.count,0) > 0 then
8440 For i in 1..G_LDET_HDR_LIMIT_EXISTS_TBL.count loop
8441 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8442   aso_debug_pub.add('G_LDET_HDR_LIMIT_EXISTS_TBL('||i||'):'||G_LDET_HDR_LIMIT_EXISTS_TBL(i),1,'Y');
8443 END IF;
8444 end loop;
8445 end if;
8446 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8447   aso_debug_pub.add('  ',1,'Y');
8448   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_LIMIT_EXISTS_TBL.count:'
8449                      ||nvl(G_LDET_LINE_LIMIT_EXISTS_TBL.count,0),1,'Y');
8450 END IF;
8451 
8452 If nvl(G_LDET_LINE_LIMIT_EXISTS_TBL.count,0) > 0 then
8453 For i in 1..G_LDET_LINE_LIMIT_EXISTS_TBL.count loop
8454 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8455   aso_debug_pub.add('G_LDET_LINE_LIMIT_EXISTS_TBL('||i||'):'||G_LDET_LINE_LIMIT_EXISTS_TBL(i),1,'Y');
8456 END IF;
8457 end loop;
8458 end if;
8459 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8460   aso_debug_pub.add('  ',1,'Y');
8461   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHARGE_TYPE_TBL.count:'
8462                      ||nvl(G_LDET_CHARGE_TYPE_TBL.count,0),1,'Y');
8463 END IF;
8464 
8465 If nvl(G_LDET_CHARGE_TYPE_TBL.count,0) > 0 then
8466 For i in 1..G_LDET_CHARGE_TYPE_TBL.count loop
8467 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8468   aso_debug_pub.add('G_LDET_CHARGE_TYPE_TBL('||i||'):'||G_LDET_CHARGE_TYPE_TBL(i),1,'Y');
8469 END IF;
8470 end loop;
8471 end if;
8472 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8473   aso_debug_pub.add('  ',1,'Y');
8474   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHARGE_SUBTYPE_TBL.count:'
8475                      ||nvl(G_LDET_CHARGE_SUBTYPE_TBL.count,0),1,'Y');
8476 END IF;
8477 
8478 If nvl(G_LDET_CHARGE_SUBTYPE_TBL.count,0) > 0 then
8479 For i in 1..G_LDET_CHARGE_SUBTYPE_TBL.count loop
8480 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8481   aso_debug_pub.add('G_LDET_CHARGE_SUBTYPE_TBL('||i||'):'||G_LDET_CHARGE_SUBTYPE_TBL(i),1,'Y');
8482 END IF;
8483 end loop;
8484 end if;
8485 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8486   aso_debug_pub.add('  ',1,'Y');
8487   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CURRENCY_DTL_ID_TBL.count:'
8488                      ||nvl(G_LDET_CURRENCY_DTL_ID_TBL.count,0),1,'Y');
8489 END IF;
8490 
8491 If nvl(G_LDET_CURRENCY_DTL_ID_TBL.count,0) > 0 then
8492 For i in 1..G_LDET_CURRENCY_DTL_ID_TBL.count loop
8493 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8494   aso_debug_pub.add('G_LDET_CURRENCY_DTL_ID_TBL('||i||'):'||G_LDET_CURRENCY_DTL_ID_TBL(i),1,'Y');
8495 END IF;
8496 end loop;
8497 end if;
8498 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8499   aso_debug_pub.add('  ',1,'Y');
8500   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CURRENCY_HDR_ID_TBL.count:'
8501                      ||nvl(G_LDET_CURRENCY_HDR_ID_TBL.count,0),1,'Y');
8502 END IF;
8503 
8504 If nvl(G_LDET_CURRENCY_HDR_ID_TBL.count,0) > 0 then
8505 For i in 1..G_LDET_CURRENCY_HDR_ID_TBL.count loop
8506 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8507   aso_debug_pub.add('G_LDET_CURRENCY_HDR_ID_TBL('||i||'):'||G_LDET_CURRENCY_HDR_ID_TBL(i),1,'Y');
8508 END IF;
8509 end loop;
8510 end if;
8511 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8512   aso_debug_pub.add('  ',1,'Y');
8513   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SELLING_ROUND_TBL.count:'
8514                      ||nvl(G_LDET_SELLING_ROUND_TBL.count,0),1,'Y');
8515 END IF;
8516 
8517 If nvl(G_LDET_SELLING_ROUND_TBL.count,0) > 0 then
8518 For i in 1..G_LDET_SELLING_ROUND_TBL.count loop
8519 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8520   aso_debug_pub.add('G_LDET_SELLING_ROUND_TBL('||i||'):'||G_LDET_SELLING_ROUND_TBL(i),1,'Y');
8521 END IF;
8522 end loop;
8523 end if;
8524 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8525   aso_debug_pub.add('  ',1,'Y');
8526   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ORDER_CURRENCY_TBL.count:'
8527                      ||nvl(G_LDET_ORDER_CURRENCY_TBL.count,0),1,'Y');
8528 END IF;
8529 
8530 If nvl(G_LDET_ORDER_CURRENCY_TBL.count,0) > 0 then
8531 For i in 1..G_LDET_ORDER_CURRENCY_TBL.count loop
8532 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8533   aso_debug_pub.add('G_LDET_ORDER_CURRENCY_TBL('||i||'):'||G_LDET_ORDER_CURRENCY_TBL(i),1,'Y');
8534 END IF;
8535 end loop;
8536 end if;
8537 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8538   aso_debug_pub.add('  ',1,'Y');
8539   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_EFF_DATE_TBL.count:'
8540                      ||nvl(G_LDET_PRICING_EFF_DATE_TBL.count,0),1,'Y');
8541 END IF;
8542 
8543 If nvl(G_LDET_PRICING_EFF_DATE_TBL.count,0) > 0 then
8544 For i in 1..G_LDET_PRICING_EFF_DATE_TBL.count loop
8545 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8546   aso_debug_pub.add('G_LDET_PRICING_EFF_DATE_TBL('||i||'):'||G_LDET_PRICING_EFF_DATE_TBL(i),1,'Y');
8547 END IF;
8548 end loop;
8549 end if;
8550 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8551   aso_debug_pub.add('  ',1,'Y');
8552   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BASE_CURRENCY_TBL.count:'
8553                      ||nvl(G_LDET_BASE_CURRENCY_TBL.count,0),1,'Y');
8554 END IF;
8555 
8556 If nvl(G_LDET_BASE_CURRENCY_TBL.count,0) > 0 then
8557 For i in 1..G_LDET_BASE_CURRENCY_TBL.count loop
8558 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8559   aso_debug_pub.add('G_LDET_BASE_CURRENCY_TBL('||i||'):'||G_LDET_BASE_CURRENCY_TBL(i),1,'Y');
8560 END IF;
8561 end loop;
8562 end if;
8563 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8564   aso_debug_pub.add('  ',1,'Y');
8565   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_QUANTITY_TBL.count:'
8566                      ||nvl(G_LDET_LINE_QUANTITY_TBL.count,0),1,'Y');
8567 END IF;
8568 
8569 If nvl(G_LDET_LINE_QUANTITY_TBL.count,0) > 0 then
8570 For i in 1..G_LDET_LINE_QUANTITY_TBL.count loop
8571 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8572   aso_debug_pub.add('G_LDET_LINE_QUANTITY_TBL('||i||'):'||G_LDET_LINE_QUANTITY_TBL(i),1,'Y');
8573 END IF;
8574 end loop;
8575 end if;
8576 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8577   aso_debug_pub.add('  ',1,'Y');
8578   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_UPDATED_FLAG_TBL.count:'
8579                      ||nvl(G_LDET_UPDATED_FLAG_TBL.count,0),1,'Y');
8580 END IF;
8581 
8582 If nvl(G_LDET_UPDATED_FLAG_TBL.count,0) > 0 then
8583 For i in 1..G_LDET_UPDATED_FLAG_TBL.count loop
8584 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8585   aso_debug_pub.add('G_LDET_UPDATED_FLAG_TBL('||i||'):'||G_LDET_UPDATED_FLAG_TBL(i),1,'Y');
8586 END IF;
8587 end loop;
8588 end if;
8589 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8590   aso_debug_pub.add('  ',1,'Y');
8591   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CALC_CODE_TBL.count:'
8592                      ||nvl(G_LDET_CALC_CODE_TBL.count,0),1,'Y');
8593 END IF;
8594 
8595 If nvl(G_LDET_CALC_CODE_TBL.count,0) > 0 then
8596 For i in 1..G_LDET_CALC_CODE_TBL.count loop
8597 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8598   aso_debug_pub.add('G_LDET_CALC_CODE_TBL('||i||'):'||G_LDET_CALC_CODE_TBL(i),1,'Y');
8599 END IF;
8600 end loop;
8601 end if;
8602 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8603   aso_debug_pub.add('  ',1,'Y');
8604   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHG_REASON_CODE_TBL.count:'
8605                      ||nvl(G_LDET_CHG_REASON_CODE_TBL.count,0),1,'Y');
8606 END IF;
8607 
8608 If nvl(G_LDET_CHG_REASON_CODE_TBL.count,0) > 0 then
8609 For i in 1..G_LDET_CHG_REASON_CODE_TBL.count loop
8610 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8611   aso_debug_pub.add('G_LDET_CHG_REASON_CODE_TBL('||i||'):'||G_LDET_CHG_REASON_CODE_TBL(i),1,'Y');
8612 END IF;
8613 end loop;
8614 end if;
8615 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8616   aso_debug_pub.add('  ',1,'Y');
8617   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHG_REASON_TEXT_TBL.count:'
8618                      ||nvl(G_LDET_CHG_REASON_TEXT_TBL.count,0),1,'Y');
8619 END IF;
8620 
8621 If nvl(G_LDET_CHG_REASON_TEXT_TBL.count,0) > 0 then
8622 For i in 1..G_LDET_CHG_REASON_TEXT_TBL.count loop
8623 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8624   aso_debug_pub.add('G_LDET_CHG_REASON_TEXT_TBL('||i||'):'||G_LDET_CHG_REASON_TEXT_TBL(i),1,'Y');
8625 END IF;
8626 end loop;
8627 end if;
8628 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8629   aso_debug_pub.add('  ',1,'Y');
8630 END IF;
8631 
8632 END Print_Global_Data_Adjustments;
8633 
8634 Procedure Print_Global_Data_Rltships
8635 IS
8636 BEGIN
8637 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8638   aso_debug_pub.add('**********Global Relationships*****************************************',1,'Y');
8639   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LINE_INDEX_TBL.count:'
8640                      ||nvl(G_RLTD_LINE_INDEX_TBL.count,0),1,'Y');
8641 END IF;
8642 If nvl(G_RLTD_LINE_INDEX_TBL.count,0) > 0 then
8643 For i in 1..G_RLTD_LINE_INDEX_TBL.count loop
8644 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8645   aso_debug_pub.add('G_RLTD_LINE_INDEX_TBL('||i||'):'||G_RLTD_LINE_INDEX_TBL(i),1,'Y');
8646 END IF;
8647 end loop;
8648 end if;
8649 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8650   aso_debug_pub.add('  ',1,'Y');
8651   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LINE_DTL_INDEX_TBL.count:'
8652                      ||nvl(G_RLTD_LINE_DTL_INDEX_TBL.count,0),1,'Y');
8653 END IF;
8654 
8655 If nvl(G_RLTD_LINE_DTL_INDEX_TBL.count,0) > 0 then
8656 For i in 1..G_RLTD_LINE_DTL_INDEX_TBL.count loop
8657 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8658   aso_debug_pub.add('G_RLTD_LINE_DTL_INDEX_TBL('||i||'):'||G_RLTD_LINE_DTL_INDEX_TBL(i),1,'Y');
8659 END IF;
8660 end loop;
8661 end if;
8662 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8663   aso_debug_pub.add('  ',1,'Y');
8664   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RELATION_TYPE_CODE_TBL.count:'
8665                      ||nvl(G_RLTD_RELATION_TYPE_CODE_TBL.count,0),1,'Y');
8666 END IF;
8667 
8668 
8669 If nvl(G_RLTD_RELATION_TYPE_CODE_TBL.count,0) > 0 then
8670 For i in 1..G_RLTD_RELATION_TYPE_CODE_TBL.count loop
8671 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8672   aso_debug_pub.add('G_RLTD_RELATION_TYPE_CODE_TBL('||i||'):'||G_RLTD_RELATION_TYPE_CODE_TBL(i),1,'Y');
8673 END IF;
8674 end loop;
8675 end if;
8676 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8677   aso_debug_pub.add('  ',1,'Y');
8678   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RELATED_LINE_IND_TBL.count:'
8679                      ||nvl(G_RLTD_RELATED_LINE_IND_TBL.count,0),1,'Y');
8680 END IF;
8681 
8682 If nvl(G_RLTD_RELATED_LINE_IND_TBL.count,0) > 0 then
8683 For i in 1..G_RLTD_RELATED_LINE_IND_TBL.count loop
8684 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8685   aso_debug_pub.add('G_RLTD_RELATED_LINE_IND_TBL('||i||'):'||G_RLTD_RELATED_LINE_IND_TBL(i),1,'Y');
8686 END IF;
8687 end loop;
8688 end if;
8689 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8690   aso_debug_pub.add('  ',1,'Y');
8691   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RLTD_LINE_DTL_IND_TBL.count:'
8692                      ||nvl(G_RLTD_RLTD_LINE_DTL_IND_TBL.count,0),1,'Y');
8693 END IF;
8694 
8695 If nvl(G_RLTD_RLTD_LINE_DTL_IND_TBL.count,0) > 0 then
8696 For i in 1..G_RLTD_RLTD_LINE_DTL_IND_TBL.count loop
8697 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8698   aso_debug_pub.add('G_RLTD_RLTD_LINE_DTL_IND_TBL('||i||'):'||G_RLTD_RLTD_LINE_DTL_IND_TBL(i),1,'Y');
8699 END IF;
8700 end loop;
8701 end if;
8702 
8703 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8704   aso_debug_pub.add('  ',1,'Y');
8705   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LST_LN_ID_DEF_TBL.count:'
8706                      ||nvl(G_RLTD_LST_LN_ID_DEF_TBL.count,0),1,'Y');
8707 END IF;
8708 
8709 If nvl(G_RLTD_LST_LN_ID_DEF_TBL.count,0) > 0 then
8710 For i in 1..G_RLTD_LST_LN_ID_DEF_TBL.count loop
8711 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8712   aso_debug_pub.add('G_RLTD_LST_LN_ID_DEF_TBL('||i||'):'||G_RLTD_LST_LN_ID_DEF_TBL(i),1,'Y');
8713 END IF;
8714 end loop;
8715 end if;
8716 
8717 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8718   aso_debug_pub.add('  ',1,'Y');
8719   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count:'
8720                      ||nvl(G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count,0),1,'Y');
8721 END IF;
8722 
8723 If nvl(G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count,0) > 0 then
8724 For i in 1..G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count loop
8725 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8726   aso_debug_pub.add('G_RLTD_RLTD_LST_LN_ID_DEF_TBL('||i||'):'||G_RLTD_RLTD_LST_LN_ID_DEF_TBL(i),1,'Y');
8727 END IF;
8728 end loop;
8729 end if;
8730 
8731 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8732   aso_debug_pub.add('  ',1,'Y');
8733 END IF;
8734 END Print_Global_Data_Rltships;
8735 
8736 PROCEDURE Populate_QP_Temp_Tables
8737 IS
8738 l_return_status          varchar2(1) := FND_API.G_RET_STS_SUCCESS;
8739 l_return_status_text     varchar2(240) ;
8740 i NUMBER;
8741 
8742 BEGIN
8743 
8744 Print_Global_Data_Lines;
8745 
8746 QP_PREQ_GRP.INSERT_LINES2
8747                 (p_LINE_INDEX               =>G_LINE_INDEX_TBL,
8748                  p_LINE_TYPE_CODE           =>G_LINE_TYPE_CODE_TBL,
8749                  p_PRICING_EFFECTIVE_DATE   =>G_PRICING_EFFECTIVE_DATE_TBL,
8750                  p_ACTIVE_DATE_FIRST        =>G_ACTIVE_DATE_FIRST_TBL,
8751                  p_ACTIVE_DATE_FIRST_TYPE   =>G_ACTIVE_DATE_FIRST_TYPE_TBL,
8752                  p_ACTIVE_DATE_SECOND       =>G_ACTIVE_DATE_SECOND_TBL,
8753                  p_ACTIVE_DATE_SECOND_TYPE  =>G_ACTIVE_DATE_SECOND_TYPE_TBL,
8754                  p_LINE_QUANTITY            =>G_LINE_QUANTITY_TBL,
8755                  p_LINE_UOM_CODE            =>G_LINE_UOM_CODE_TBL,
8756                  p_REQUEST_TYPE_CODE        =>G_REQUEST_TYPE_CODE_TBL,
8757                  p_PRICED_QUANTITY          =>G_PRICED_QUANTITY_TBL,
8758                  p_PRICED_UOM_CODE          =>G_PRICED_UOM_CODE_TBL,
8759                  p_CURRENCY_CODE            =>G_CURRENCY_CODE_TBL,
8760                  p_UNIT_PRICE               =>G_UNIT_PRICE_TBL,
8761 			  p_LINE_UNIT_PRICE          =>G_UNIT_PRICE_TBL,
8762                  p_PERCENT_PRICE            =>G_PERCENT_PRICE_TBL,
8763                  p_UOM_QUANTITY             =>G_UOM_QUANTITY_TBL,
8764                  p_ADJUSTED_UNIT_PRICE      =>G_ADJUSTED_UNIT_PRICE_TBL,
8765                  p_UPD_ADJUSTED_UNIT_PRICE  =>G_UPD_ADJUSTED_UNIT_PRICE_TBL,
8766                  p_PROCESSED_FLAG           =>G_PROCESSED_FLAG_TBL,
8767                  p_PRICE_FLAG               =>G_PRICE_FLAG_TBL,
8768                  p_LINE_ID                  =>G_LINE_ID_TBL,
8769                  p_PROCESSING_ORDER         =>G_PROCESSING_ORDER_TBL,
8770                  p_PRICING_STATUS_CODE      =>G_PRICING_STATUS_CODE_tbl,
8771                  p_PRICING_STATUS_TEXT      =>G_PRICING_STATUS_TEXT_tbl,
8772                  p_ROUNDING_FLAG            =>G_ROUNDING_FLAG_TBL,
8773                  p_ROUNDING_FACTOR          =>G_ROUNDING_FACTOR_TBL,
8774                  p_QUALIFIERS_EXIST_FLAG    =>G_QUALIFIERS_EXIST_FLAG_TBL,
8775                  p_PRICING_ATTRS_EXIST_FLAG =>G_PRICING_ATTRS_EXIST_FLAG_TBL,
8776                  p_PRICE_LIST_ID            =>G_PRICE_LIST_ID_TBL,
8777                  p_VALIDATED_FLAG           =>G_PL_VALIDATED_FLAG_TBL,
8778                  p_PRICE_REQUEST_CODE       =>G_PRICE_REQUEST_CODE_TBL,
8779                  p_USAGE_PRICING_TYPE       =>G_USAGE_PRICING_TYPE_tbl,
8780                  p_line_category            =>G_LINE_CATEGORY_tbl,
8781 			  p_charge_periodicity_code  =>G_CHRG_PERIODICITY_CODE_TBL,
8782                  /* Changes Made for OKS uptake bug 4900084  */
8783 			  p_CONTRACT_START_DATE      =>G_CONTRACT_START_DATE_TBL,
8784 			  p_CONTRACT_END_DATE        =>G_CONTRACT_END_DATE_TBL,
8785                  x_status_code              =>l_return_status,
8786                  x_status_text              =>l_return_status_text);
8787 
8788 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8789    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8790      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error in insert_lines2',1,'Y');
8791      aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_return_status_text:'||l_return_status_text,1,'Y');
8792    END IF;
8793    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8794 END IF;
8795 
8796 IF G_ATTR_LINE_INDEX_tbl.count > 0 THEN
8797 QP_PREQ_GRP.INSERT_LINE_ATTRS2
8798    (    p_LINE_INDEX_tbl                => G_ATTR_LINE_INDEX_tbl,
8799         p_LINE_DETAIL_INDEX_tbl         => G_ATTR_LINE_DETAIL_INDEX_tbl,
8800         p_ATTRIBUTE_LEVEL_tbl           => G_ATTR_ATTRIBUTE_LEVEL_tbl,
8801         p_ATTRIBUTE_TYPE_tbl            => G_ATTR_ATTRIBUTE_TYPE_tbl,
8802         p_LIST_HEADER_ID_tbl            => G_ATTR_LIST_HEADER_ID_tbl,
8803         p_LIST_LINE_ID_tbl              => G_ATTR_LIST_LINE_ID_tbl,
8804         p_CONTEXT_tbl                   => G_ATTR_PRICING_CONTEXT_tbl,
8805         p_ATTRIBUTE_tbl                 => G_ATTR_PRICING_ATTRIBUTE_tbl,
8806         p_VALUE_FROM_tbl                => G_ATTR_VALUE_FROM_tbl,
8807         p_SETUP_VALUE_FROM_tbl          => G_ATTR_SETUP_VALUE_FROM_tbl,
8808         p_VALUE_TO_tbl                  => G_ATTR_VALUE_TO_tbl,
8809         p_SETUP_VALUE_TO_tbl            => G_ATTR_SETUP_VALUE_TO_tbl,
8810         p_GROUPING_NUMBER_tbl           => G_ATTR_GROUPING_NUMBER_tbl,
8811         p_NO_QUALIFIERS_IN_GRP_tbl      => G_ATTR_NO_QUAL_IN_GRP_tbl,
8812         p_COMPARISON_OPERATOR_TYPE_tbl  => G_ATTR_COMP_OPERATOR_TYPE_tbl,
8813         p_VALIDATED_FLAG_tbl            => G_ATTR_VALIDATED_FLAG_tbl,
8814         p_APPLIED_FLAG_tbl              => G_ATTR_APPLIED_FLAG_tbl,
8815         p_PRICING_STATUS_CODE_tbl       => G_ATTR_PRICING_STATUS_CODE_tbl,
8816         p_PRICING_STATUS_TEXT_tbl       => G_ATTR_PRICING_STATUS_TEXT_tbl,
8817         p_QUALIFIER_PRECEDENCE_tbl      => G_ATTR_QUAL_PRECEDENCE_tbl,
8818         p_DATATYPE_tbl                  => G_ATTR_DATATYPE_tbl,
8819         p_PRICING_ATTR_FLAG_tbl         => G_ATTR_PRICING_ATTR_FLAG_tbl,
8820         p_QUALIFIER_TYPE_tbl            => G_ATTR_QUALIFIER_TYPE_tbl,
8821         p_PRODUCT_UOM_CODE_TBL          => G_ATTR_PRODUCT_UOM_CODE_TBL,
8822         p_EXCLUDER_FLAG_TBL             => G_ATTR_EXCLUDER_FLAG_TBL,
8823         p_PRICING_PHASE_ID_TBL          => G_ATTR_PRICING_PHASE_ID_TBL,
8824         p_INCOMPATABILITY_GRP_CODE_TBL  => G_ATTR_INCOM_GRP_CODE_TBL,
8825         p_LINE_DETAIL_TYPE_CODE_TBL     => G_ATTR_LDET_TYPE_CODE_TBL,
8826         p_MODIFIER_LEVEL_CODE_TBL       => G_ATTR_MODIFIER_LEVEL_CODE_TBL,
8827         p_PRIMARY_UOM_FLAG_TBL          => G_ATTR_PRIMARY_UOM_FLAG_TBL,
8828         x_status_code                   => l_return_status,
8829         x_status_text                   => l_return_status_text );
8830 
8831        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8832            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8833              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into line attrs'||sqlerrm,1,'Y');
8834            END IF;
8835            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8836        END IF;
8837 
8838 END IF;
8839 
8840 Print_Global_Data_Adjustments;
8841 
8842 IF (G_LDET_LINE_DTL_INDEX_TBL.COUNT > 0) THEN
8843 QP_PREQ_GRP.INSERT_LDETS2
8844   (p_LINE_DETAIL_INDEX             => G_LDET_LINE_DTL_INDEX_TBL,
8845    p_LINE_DETAIL_TYPE_CODE         => G_LDET_LINE_DTL_TYPE_TBL,
8846    p_PRICE_BREAK_TYPE_CODE         => G_LDET_PRICE_BREAK_TYPE_TBL,
8847    p_LIST_PRICE                    => G_LDET_LIST_PRICE_TBL,
8848    p_LINE_INDEX                    => G_LDET_LINE_INDEX_TBL,
8849    p_CREATED_FROM_LIST_HEADER_ID   => G_LDET_LIST_HEADER_ID_TBL,
8850    p_CREATED_FROM_LIST_LINE_ID     => G_LDET_LIST_LINE_ID_TBL,
8851    p_CREATED_FROM_LIST_LINE_TYPE   => G_LDET_LIST_LINE_TYPE_TBL,
8852    p_CREATED_FROM_LIST_TYPE_CODE   => G_LDET_LIST_TYPE_CODE_TBL,
8853    p_CREATED_FROM_SQL              => G_LDET_CREATED_FROM_SQL_TBL,
8854    p_PRICING_GROUP_SEQUENCE        => G_LDET_PRICING_GRP_SEQ_TBL,
8855    p_PRICING_PHASE_ID              => G_LDET_PRICING_PHASE_ID_TBL,
8856    p_OPERAND_CALCULATION_CODE      => G_LDET_OPERAND_CALC_CODE_TBL,
8857    p_OPERAND_VALUE                 => G_LDET_OPERAND_VALUE_TBL,
8858    p_SUBSTITUTION_TYPE_CODE        => G_LDET_SUBSTN_TYPE_TBL,
8859    p_SUBSTITUTION_VALUE_FROM       => G_LDET_SUBSTN_VALUE_FROM_TBL,
8860    p_SUBSTITUTION_VALUE_TO         => G_LDET_SUBSTN_VALUE_TO_TBL,
8861    p_ASK_FOR_FLAG                  => G_LDET_ASK_FOR_FLAG_TBL,
8862    p_PRICE_FORMULA_ID              => G_LDET_PRICE_FORMULA_ID_TBL,
8863    p_PRICING_STATUS_CODE           => G_LDET_PRICING_STATUS_CODE_TBL,
8864    p_PRICING_STATUS_TEXT           => G_LDET_PRICING_STATUS_TXT_TBL,
8865    p_PRODUCT_PRECEDENCE            => G_LDET_PRODUCT_PRECEDENCE_TBL,
8866    p_INCOMPATABLILITY_GRP_CODE     => G_LDET_INCOMPAT_GRP_CODE_TBL,
8867    p_PROCESSED_FLAG                => G_LDET_PROCESSED_FLAG_TBL,
8868    p_APPLIED_FLAG                  => G_LDET_APPLIED_FLAG_TBL,
8869    p_AUTOMATIC_FLAG                => G_LDET_AUTOMATIC_FLAG_TBL,
8870    p_OVERRIDE_FLAG                 => G_LDET_OVERRIDE_FLAG_TBL,
8871    p_PRIMARY_UOM_FLAG              => G_LDET_PRIMARY_UOM_FLAG_TBL,
8872    p_PRINT_ON_INVOICE_FLAG         => G_LDET_PRINT_ON_INV_FLAG_TBL,
8873    p_MODIFIER_LEVEL_CODE           => G_LDET_MODIFIER_LEVEL_TBL,
8874    p_BENEFIT_QTY                   => G_LDET_BENEFIT_QTY_TBL,
8875    p_BENEFIT_UOM_CODE              => G_LDET_BENEFIT_UOM_CODE_TBL,
8876    p_LIST_LINE_NO                  => G_LDET_LIST_LINE_NO_TBL,
8877    p_ACCRUAL_FLAG                  => G_LDET_ACCRUAL_FLAG_TBL,
8878    p_ACCRUAL_CONVERSION_RATE       => G_LDET_ACCR_CONV_RATE_TBL,
8879    p_ESTIM_ACCRUAL_RATE            => G_LDET_ESTIM_ACCR_RATE_TBL,
8880    p_RECURRING_FLAG                => G_LDET_RECURRING_FLAG_TBL,
8881    p_SELECTED_VOLUME_ATTR          => G_LDET_SELECTED_VOL_ATTR_TBL,
8882    p_ROUNDING_FACTOR               => G_LDET_ROUNDING_FACTOR_TBL,
8883    p_HEADER_LIMIT_EXISTS           => G_LDET_HDR_LIMIT_EXISTS_TBL,
8884    p_LINE_LIMIT_EXISTS             => G_LDET_LINE_LIMIT_EXISTS_TBL,
8885    p_CHARGE_TYPE_CODE              => G_LDET_CHARGE_TYPE_TBL,
8886    p_CHARGE_SUBTYPE_CODE           => G_LDET_CHARGE_SUBTYPE_TBL,
8887    p_CURRENCY_DETAIL_ID            => G_LDET_CURRENCY_DTL_ID_TBL,
8888    p_CURRENCY_HEADER_ID            => G_LDET_CURRENCY_HDR_ID_TBL,
8889    p_SELLING_ROUNDING_FACTOR       => G_LDET_SELLING_ROUND_TBL,
8890    p_ORDER_CURRENCY                => G_LDET_ORDER_CURRENCY_TBL,
8891    p_PRICING_EFFECTIVE_DATE        => G_LDET_PRICING_EFF_DATE_TBL,
8892    p_BASE_CURRENCY_CODE            => G_LDET_BASE_CURRENCY_TBL,
8893    p_LINE_QUANTITY                 => G_LDET_LINE_QUANTITY_TBL,
8894    p_UPDATED_FLAG                  => G_LDET_UPDATED_FLAG_TBL,
8895    p_CALCULATION_CODE              => G_LDET_CALC_CODE_TBL,
8896    p_CHANGE_REASON_CODE            => G_LDET_CHG_REASON_CODE_TBL,
8897    p_CHANGE_REASON_TEXT            => G_LDET_CHG_REASON_TEXT_TBL,
8898    p_PRICE_ADJUSTMENT_ID           => G_LDET_PRICE_ADJ_ID_TBL,
8899    x_status_code                   => l_return_status,
8900    x_status_text                   => l_return_status_text);
8901 
8902    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8903       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8904         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into adj ldets'||sqlerrm,1,'Y');
8905       END IF;
8906       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8907    END IF;
8908 
8909 END IF;--G_LDET_LINE_DTL_INDEX_TBL
8910 
8911 Print_Global_Data_Rltships;
8912 
8913 IF (G_RLTD_LINE_INDEX_TBL.COUNT > 0)
8914 THEN
8915   QP_PREQ_GRP.INSERT_RLTD_LINES2 (
8916     p_LINE_INDEX                => G_RLTD_LINE_INDEX_TBL,
8917     p_LINE_DETAIL_INDEX         => G_RLTD_LINE_DTL_INDEX_TBL,
8918     p_RELATIONSHIP_TYPE_CODE    => G_RLTD_RELATION_TYPE_CODE_TBL,
8919     p_RELATED_LINE_INDEX        => G_RLTD_RELATED_LINE_IND_TBL,
8920     p_RELATED_LINE_DETAIL_INDEX => G_RLTD_RLTD_LINE_DTL_IND_TBL,
8921     p_LIST_LINE_ID              => G_RLTD_LST_LN_ID_DEF_TBL,
8922     p_RELATED_LIST_LINE_ID      => G_RLTD_RLTD_LST_LN_ID_DEF_TBL,
8923     x_status_code               => l_return_status,
8924     x_status_text               => l_return_status_text);
8925 
8926     IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8927        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8928          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into adj relationship'||sqlerrm,1,'Y');
8929        END IF;
8930        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8931     END IF;
8932 
8933 END IF;--G_RLTD_LINE_INDEX_TBL
8934 
8935     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8936       aso_debug_pub.add('ASO_PRICING_CORE_PVT: After direct insert into temp table: bulk insert',1,'Y');
8937     END IF;
8938 
8939 EXCEPTION
8940 WHEN OTHERS THEN
8941   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8942 
8943 END Populate_QP_Temp_Tables;
8944 
8945 
8946 PROCEDURE Delete_Promotion (
8947                            P_Api_Version_Number IN   NUMBER,
8948                            P_Init_Msg_List      IN   VARCHAR2  := FND_API.G_FALSE,
8949                            P_Commit             IN   VARCHAR2  := FND_API.G_FALSE,
8950                            p_price_attr_tbl     IN   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type,
8951                            x_return_status      OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
8952                            x_msg_count          OUT NOCOPY /* file.sql.39 change */ NUMBER,
8953                            x_msg_data           OUT NOCOPY /* file.sql.39 change */ VARCHAR2
8954 			   )
8955 IS
8956 
8957 
8958    CURSOR C_get_adj_id_HdrH(l_quote_header_id NUMBER,l_price_attribute1 VARCHAR2) IS
8959    SELECT price_adjustment_id
8960    FROM aso_price_adjustments
8961    WHERE quote_header_id = l_quote_header_id
8962    AND quote_line_id is null
8963    AND modifier_header_id = to_number(l_price_attribute1);
8964 
8965    CURSOR C_get_adj_id_HdrL(l_quote_header_id NUMBER,l_price_attribute2 VARCHAR2) IS
8966    SELECT price_adjustment_id
8967    FROM aso_price_adjustments
8968    WHERE Quote_header_id = l_quote_header_id
8969    AND quote_line_id is null
8970    AND modifier_line_id = to_number(l_price_attribute2);
8971 
8972    CURSOR C_get_adj_id_LnH(l_quote_header_id NUMBER,l_quote_line_id NUMBER,l_price_attribute1 VARCHAR2) IS
8973    SELECT price_adjustment_id
8974    FROM aso_price_adjustments
8975    WHERE Quote_header_id = l_quote_header_id
8976    AND   Quote_line_id = l_quote_line_id
8977    AND modifier_header_id = to_number(l_price_attribute1);
8978 
8979    CURSOR C_get_adj_id_LnL(l_quote_header_id NUMBER,l_quote_line_id NUMBER,l_price_attribute2 VARCHAR2)IS
8980    SELECT price_adjustment_id
8981    FROM aso_price_adjustments
8982    WHERE Quote_header_id = l_quote_header_id
8983    AND   Quote_line_id = l_quote_line_id
8984    AND modifier_line_id = to_number(l_price_attribute2);
8985 
8986 
8987 
8988     l_api_name                      CONSTANT VARCHAR2(30) := 'Delete_Promotion';
8989     l_api_version_number            CONSTANT NUMBER   := 1.0;
8990     l_price_adjustment_id                    NUMBER;
8991     i                                        NUMBER;
8992 
8993 BEGIN
8994 
8995     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8996       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside Delete_Promotion', 1, 'Y');
8997     END IF;
8998 
8999 
9000     -- Standard Start of API savepoint
9001     SAVEPOINT Delete_Promotion_PVT;
9002 
9003     -- Standard call to check for call compatibility.
9004     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
9005                                         p_api_version_number,
9006                                         l_api_name,
9007                                         G_PKG_NAME)
9008     THEN
9009           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9010     END IF;
9011 
9012 
9013     -- Initialize message list if p_init_msg_list is set to TRUE.
9014     IF FND_API.to_Boolean( p_init_msg_list )
9015     THEN
9016           FND_MSG_PUB.initialize;
9017     END IF;
9018 
9019     x_return_status := FND_API.G_RET_STS_SUCCESS;
9020    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9021      aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_price_attr_tbl.count:'||nvl(p_price_attr_tbl.count,0),1,'Y');
9022    END IF;
9023 
9024    For i in 1..p_price_attr_tbl.count loop
9025        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9026          aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Delete Promotion - p_price_attr_tbl(i).operation_code:'
9027                             ||p_price_attr_tbl(i).operation_code,1,'Y');
9028        END IF;
9029        If p_price_attr_tbl(i).operation_code = 'DELETE' Then
9030           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9031             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Parameters passed to Delete_Promotion: loop '||i,1,'Y');
9032             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Quote_header_id:'||p_price_attr_tbl(i).quote_header_id,1,'Y');
9033             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Price_attribute_id:'||p_price_attr_tbl(i).price_attribute_id,1,'Y');
9034             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Quote_line_id:'||p_price_attr_tbl(i).quote_line_id,1,'Y');
9035             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Pricing_Attribute1:'||p_price_attr_tbl(i).pricing_attribute1,1,'Y');
9036             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Pricing_Attribute2:'||p_price_attr_tbl(i).pricing_attribute2,1,'Y');
9037             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Flex_title:'||p_price_attr_tbl(i).flex_title,1,'Y');
9038           END IF;
9039 
9040        If p_price_attr_tbl(i).price_attribute_id is not null then
9041 		If ((p_price_attr_tbl(i).pricing_attribute1 IS NULL
9042 		    OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR)
9043 		    AND
9044              (p_price_attr_tbl(i).pricing_attribute2 IS NULL
9045 		   OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR))
9046 		   OR (p_price_attr_tbl(i).flex_title = 'QP_ATTR_DEFNS_PRICING'
9047 			  OR (p_price_attr_tbl(i).flex_title = FND_API.G_MISS_CHAR
9048 				 OR  p_price_attr_tbl(i).flex_title IS NULL)) then
9049 		           /*Deleting the attributes or promotions from Istore*/
9050                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9051                        aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting Price attributes or promocodes from Istorewith Price_attribute_id:'||p_price_attr_tbl(i).Price_attribute_id,1,'Y');
9052                     END IF;
9053                     ASO_PRICE_ATTRIBUTES_PKG.Delete_Row
9054                                       (p_PRICE_ATTRIBUTE_ID  => p_price_attr_tbl(i).price_attribute_id);
9055           else
9056 	         --We will require at least quote_header_id AND (price_attr1 OR price_attr2 value)
9057               --Check if there is a header id
9058               If (p_price_attr_tbl(i).quote_header_id IS NULL)
9059 	            OR (p_price_attr_tbl(i).quote_header_id = FND_API.G_MISS_NUM) THEN
9060                       x_return_status := FND_API.G_RET_STS_ERROR;
9061 		            RAISE FND_API.G_EXC_ERROR;
9062               END If;
9063 
9064               If (p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR
9065 	             OR p_price_attr_tbl(i).pricing_attribute1 is null)
9066                   AND (p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR
9067 		           OR p_price_attr_tbl(i).pricing_attribute2 is null ) THEN
9068                         x_return_status := FND_API.G_RET_STS_ERROR;
9069                         RAISE FND_API.G_EXC_ERROR;
9070               End If;
9071 
9072               If (p_price_attr_tbl(i).quote_line_id IS NULL
9073                  OR p_price_attr_tbl(i).quote_line_id = FND_API.G_MISS_NUM) then
9074                  /*Delete all the header level adjustments*/
9075 
9076                  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9077                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments',1,'Y');
9078                  END IF;
9079 	            If (p_price_attr_tbl(i).pricing_attribute2 is null
9080 		          OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR) then
9081 
9082                     /*Delete all the adjustment record with the modifier_header_id*/
9083                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9084                        aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments with the modifier_header_id',1,'Y');
9085                     END IF;
9086 
9087                     OPEN C_get_adj_id_HdrH(p_price_attr_tbl(i).quote_header_id,
9088                                            p_price_attr_tbl(i).pricing_attribute1);
9089                     FETCH C_get_adj_id_HdrH INTO l_price_adjustment_id;
9090 
9091 			     While C_get_adj_id_HdrH%found LOOP
9092                           ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9093                           FETCH C_get_adj_id_HdrH INTO l_price_adjustment_id;
9094 			     End Loop;
9095                     CLOSE C_get_adj_id_HdrH;
9096 
9097 	            Elsif (p_price_attr_tbl(i).pricing_attribute1 is null
9098 			         OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR) then
9099 
9100 	                   /*Delete all the adjustment record with the modifier_line_id*/
9101                         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9102                            aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments with the modifier_line_id',1,'Y');
9103                         END IF;
9104 
9105                         OPEN C_get_adj_id_HdrL(p_price_attr_tbl(i).quote_header_id,
9106                                                p_price_attr_tbl(i).pricing_attribute2);
9107                         FETCH C_get_adj_id_HdrL INTO l_price_adjustment_id;
9108                         IF (C_get_adj_id_HdrL%NOTFOUND) THEN
9109 			            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9110 			               aso_debug_pub.add('ASO_PRICING_CORE_PVT:No record in C_get_adj_id_HdrL:i - '||i,1,'Y');
9111 			            END IF;
9112                            /*Do not error OUT do nothing*/
9113                         ELSE
9114                            ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9115                         END IF;
9116                         CLOSE C_get_adj_id_HdrL;
9117 	            End If;-- IF (p_price_attr_tbl(i).pricing_attribute2 is null
9118 
9119               Else/*Delete all the line level adjustments*/
9120 
9121                   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9122                      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments',1,'Y');
9123                   END IF;
9124 
9125                   If (p_price_attr_tbl(i).pricing_attribute2 is null
9126 		            OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR) then
9127 
9128 	                /*Delete all the adjustment record with the modifier_header_id*/
9129                      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9130                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments with the modifier_header_id',1,'Y');
9131                      END IF;
9132 
9133                      OPEN C_get_adj_id_LnH(p_price_attr_tbl(i).quote_header_id,
9134                                    p_price_attr_tbl(i).quote_line_id,
9135                                    p_price_attr_tbl(i).pricing_attribute1
9136                                    );
9137                      FETCH C_get_adj_id_LnH INTO l_price_adjustment_id;
9138 
9139 		           While C_get_adj_id_LnH%found LOOP
9140 		              ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9141 		              FETCH C_get_adj_id_LnH INTO l_price_adjustment_id;
9142                      End Loop;
9143 
9144                      CLOSE C_get_adj_id_LnH;
9145 
9146 	             Elsif (p_price_attr_tbl(i).pricing_attribute1 is null
9147 		              OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR) then
9148 
9149 	                   /*Delete all the adjustment record with the modifier_line_id*/
9150                        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9151                           aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments with the modifier_line_id',1,'Y');
9152                        END IF;
9153 
9154                        OPEN C_get_adj_id_LnL(p_price_attr_tbl(i).quote_header_id,
9155                                      p_price_attr_tbl(i).quote_line_id,
9156                                      p_price_attr_tbl(i).pricing_attribute2
9157                                      );
9158                        FETCH C_get_adj_id_LnL INTO l_price_adjustment_id;
9159                        IF (C_get_adj_id_LnL%NOTFOUND) THEN
9160 			           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9161 			              aso_debug_pub.add('ASO_PRICING_CORE_PVT:No record in C_get_adj_id_LnL:i'||i,1,'Y');
9162 			           END IF;
9163                           /*Do not error OUT - do nothing*/
9164                        ELSE
9165                           ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9166                        END IF;
9167                        CLOSE C_get_adj_id_LnL;
9168 
9169                  End If;
9170 
9171          End If;--If (p_price_attr_tbl(i).quote_line_id IS NULL
9172 
9173         /*Delete the Price Attribute Record*/
9174 
9175          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9176             aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Deleting Adj Deleting the attribute rec',1,'Y');
9177          END IF;
9178          ASO_PRICE_ATTRIBUTES_PKG.Delete_Row
9179                 (p_PRICE_ATTRIBUTE_ID  => p_price_attr_tbl(i).price_attribute_id);
9180 
9181        End If;--If ((p_price_attr_tbl(i).pricing_attribute1 IS NULL This is the end if of else of Istore and attr
9182 
9183       End If;-- If p_price_attr_tbl(i).price_attribute_id is not null
9184 
9185    End If;-- p_price_attr_tbl(i).operation_code = 'DELETE'
9186 
9187   End Loop;
9188 
9189   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9190      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Delete_Promotion Ends', 1, 'Y');
9191   END IF;
9192 
9193   -- Standard check for p_commit
9194   IF FND_API.to_Boolean( p_commit ) THEN
9195      COMMIT WORK;
9196   END IF;
9197 
9198   FND_MSG_PUB.Count_And_Get
9199       (  p_count          =>   x_msg_count,
9200          p_data           =>   x_msg_data
9201       );
9202  EXCEPTION
9203       WHEN FND_API.G_EXC_ERROR THEN
9204           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9205            P_API_NAME => L_API_NAME
9206           ,P_PKG_NAME => G_PKG_NAME
9207           ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
9208           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9209           ,P_SQLCODE => SQLCODE
9210           ,P_SQLERRM => SQLERRM
9211           ,X_MSG_COUNT => X_MSG_COUNT
9212           ,X_MSG_DATA => X_MSG_DATA
9213           ,X_RETURN_STATUS => X_RETURN_STATUS);
9214 
9215       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9216           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9217            P_API_NAME => L_API_NAME
9218           ,P_PKG_NAME => G_PKG_NAME
9219           ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
9220           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9221           ,P_SQLCODE => SQLCODE
9222           ,P_SQLERRM => SQLERRM
9223           ,X_MSG_COUNT => X_MSG_COUNT
9224           ,X_MSG_DATA => X_MSG_DATA
9225           ,X_RETURN_STATUS => X_RETURN_STATUS);
9226 
9227       WHEN OTHERS THEN
9228           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9229            P_API_NAME => L_API_NAME
9230           ,P_PKG_NAME => G_PKG_NAME
9231           ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
9232           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9233           ,P_SQLCODE => SQLCODE
9234           ,P_SQLERRM => SQLERRM
9235           ,X_MSG_COUNT => X_MSG_COUNT
9236           ,X_MSG_DATA => X_MSG_DATA
9237           ,X_RETURN_STATUS => X_RETURN_STATUS);
9238 
9239 END Delete_Promotion;
9240 
9241 
9242 PROCEDURE Copy_Price_To_Quote(
9243      P_Api_Version_Number       IN   NUMBER,
9244      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
9245      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
9246      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
9247      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
9248 	P_Insert_Type              IN   VARCHAR2 := 'HDR',
9249      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
9250      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
9251      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
9252 IS
9253 
9254 l_api_name                    CONSTANT VARCHAR2(30) := 'Copy_Price_To_Quote';
9255 l_api_version_number          CONSTANT NUMBER   := 1.0;
9256 l_line_shipping_charge        number := 0;
9257 l_hdr_shipping_charge         number := 0;
9258 l_message_text                VARCHAR2(2000);
9259 G_USER_ID                     NUMBER := FND_GLOBAL.USER_ID;
9260 G_LOGIN_ID                    NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
9261 l_last_update_date			Date	:= SYSDATE;
9262 l                             BINARY_INTEGER;
9263 l_total_list_price            NUMBER;
9264 l_ln_total_discount           NUMBER;
9265 ls_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
9266 l_profile_value               VARCHAR2(20);
9267 l_db_line_counter             NUMBER;
9268 
9269 CURSOR C_status_code IS
9270 SELECT line_id,
9271 	  pricing_status_code,
9272        pricing_status_text
9273 FROM qp_preq_lines_tmp lines
9274 WHERE lines.line_type_code='LINE'
9275 AND  lines.pricing_status_code in(
9276             QP_PREQ_GRP.g_status_invalid_price_list,
9277             QP_PREQ_GRP.g_sts_lhs_not_found,
9278             QP_PREQ_GRP.g_status_formula_error,
9279             QP_PREQ_GRP.g_status_other_errors,
9280             fnd_api.g_ret_sts_unexp_error,
9281             fnd_api.g_ret_sts_error,
9282             QP_PREQ_GRP.g_status_calc_error,
9283             QP_PREQ_GRP.g_status_uom_failure,
9284             QP_PREQ_GRP.g_status_invalid_uom,
9285             QP_PREQ_GRP.g_status_dup_price_list,
9286             QP_PREQ_GRP.g_status_invalid_uom_conv,
9287             QP_PREQ_GRP.g_status_invalid_incomp,
9288             QP_PREQ_GRP.g_status_best_price_eval_error,
9289 	       QP_PREQ_PUB.g_back_calculation_sts);
9290 
9291 CURSOR C_status_code_GSA IS
9292 SELECT pricing_status_code,
9293        pricing_status_text
9294 FROM  qp_preq_lines_tmp lines
9295 WHERE lines.line_type_code='LINE'
9296 AND   lines.pricing_status_code = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
9297 
9298 /*This cursor is just for debugging purpose*/
9299 CURSOR C_QP_PREQ_RLTD_LINES_TMP IS
9300 SELECT
9301 rltd.REQUEST_TYPE_CODE,
9302 rltd.LINE_INDEX,
9303 rltd.LINE_DETAIL_INDEX,
9304 rltd.RELATIONSHIP_TYPE_CODE,
9305 rltd.RELATED_LINE_INDEX,
9306 rltd.RELATED_LINE_DETAIL_INDEX,
9307 rltd.PRICING_STATUS_CODE,
9308 rltd.PRICING_STATUS_TEXT,
9309 rltd.LIST_LINE_ID,
9310 rltd.RELATED_LIST_LINE_ID,
9311 rltd.RELATED_LIST_LINE_TYPE,
9312 rltd.OPERAND_CALCULATION_CODE,
9313 rltd.OPERAND,
9314 rltd.PRICING_GROUP_SEQUENCE,
9315 rltd.RELATIONSHIP_TYPE_DETAIL,
9316 rltd.SETUP_VALUE_FROM,
9317 rltd.SETUP_VALUE_TO,
9318 rltd.QUALIFIER_VALUE,
9319 rltd.ADJUSTMENT_AMOUNT,
9320 rltd.SATISFIED_RANGE_VALUE,
9321 rltd.REQUEST_ID,
9322 lines.line_id,
9323 lines.process_status
9324 FROM QP_PREQ_RLTD_LINES_TMP rltd,
9325      QP_PREQ_LINES_TMP lines
9326 WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9327 AND RLTD.Relationship_Type_Code in (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
9328 AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9329 AND lines.line_type_code = 'LINE'
9330 AND lines.line_index = rltd.line_index;
9331 
9332 
9333 BEGIN
9334     -- Standard call to check for call compatibility.
9335     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
9336                                         p_api_version_number,
9337                                         l_api_name,
9338                                         G_PKG_NAME)
9339     THEN
9340           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9341     END IF;
9342 
9343 
9344     -- Initialize message list if p_init_msg_list is set to TRUE.
9345     IF FND_API.to_Boolean( p_init_msg_list )
9346     THEN
9347           FND_MSG_PUB.initialize;
9348     END IF;
9349 
9350     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9351       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Copy_Price_To_Quote ',1,'Y');
9352 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:P_control_rec.price_mode:'||P_control_rec.price_mode,1,'Y');
9353 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type:'||p_insert_type,1,'Y');
9354     END IF;
9355     x_return_status := FND_API.G_RET_STS_SUCCESS;
9356     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9357       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Post_Price_Request for p_qte_header_rec.quote_header_id'
9358                          ||p_qte_header_rec.quote_header_id,1,'Y');
9359     END IF;
9360 
9361     SELECT count(rowid)
9362     INTO l_db_line_counter
9363     FROM ASO_QUOTE_LINES_ALL
9364     WHERE quote_header_id = p_qte_header_rec.quote_header_id;
9365 
9366     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9367       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_db_line_counter:'||l_db_line_counter,1,'Y');
9368     END IF;
9369 
9370     If l_db_line_counter <> 0 Then
9371 
9372        FOR C_status_code_rec in C_status_code LOOP
9373            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9374              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor line_id:'
9375 					       ||C_status_code_rec.line_id,1,'Y');
9376              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor pricing_status_code:'
9377 					       ||C_status_code_rec.pricing_status_code,1,'Y');
9378              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor pricing_status_text:'
9379 					       ||C_status_code_rec.pricing_status_text,1,'Y');
9380            END IF;
9381            x_return_status := FND_API.G_RET_STS_ERROR;
9382            l_message_text := C_status_code_rec.pricing_status_code || ': '||C_status_code_rec.pricing_status_text;
9383 
9384            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9385               FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
9386               FND_MESSAGE.Set_Token('MSG_TXT', substr(l_message_text, 1,255), FALSE);
9387               FND_MSG_PUB.ADD;
9388            END IF;
9389              RAISE FND_API.G_EXC_ERROR;
9390       END LOOP;
9391 
9392       l_profile_value := FND_PROFILE.value('ASO_GSA_PRICING');
9393 	 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9394 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_profile_value - ASO_GSA_PRICING:'||l_profile_value,1,'Y');
9395 	 END IF;
9396       IF ( l_profile_value = 'ERROR' ) THEN
9397        FOR C_status_code_GSA_rec in C_status_code_GSA LOOP
9398             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9399               aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside GSA error',1,'Y');
9400             END IF;
9401             x_return_status := FND_API.G_RET_STS_ERROR;
9402             FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
9403             FND_MSG_PUB.ADD;
9404             RAISE FND_API.G_EXC_ERROR;
9405             END LOOP;
9406       ELSE
9407        FOR C_status_code_GSA_rec in C_status_code_GSA LOOP
9408           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9409             aso_debug_pub.add('ASO_PRICING_CORE_PVT:inside GSA Warning',1,'Y');
9410           END IF;
9411           FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
9412           FND_MSG_PUB.ADD;
9413        END LOOP;
9414       END IF;
9415 
9416       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9417         aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Error Handling',1,'Y');
9418         aso_debug_pub.add('ASO_PRICING_CORE_PVT:quote header id = '||p_qte_header_rec.quote_header_id,1,'Y');
9419       END IF;
9420 
9421 /*
9422  * Updating Quote Lines
9423  */
9424 
9425 
9426 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9427         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before updating lines P_control_rec.pricing_event:'
9428 					  ||P_control_rec.pricing_event,1,'Y');
9429         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before updating lines P_control_rec.price_mode : '
9430 					  ||P_control_rec.price_mode,1,'Y');
9431 END IF;
9432 
9433 If (P_control_rec.pricing_event = 'PRICE') then
9434 
9435 UPDATE ASO_QUOTE_LINES_all l
9436 SET (line_quote_price
9437     ,line_list_price
9438     ,line_adjusted_amount
9439     ,line_adjusted_percent
9440     ,quantity
9441     ,uom_code
9442     ,priced_price_list_id
9443     ,pricing_quantity
9444     ,pricing_quantity_uom
9445     ,last_update_date
9446     ,last_updated_by
9447     ,last_update_login
9448   )
9449    =
9450  (SELECT decode(l.selling_price_change,'Y',l.line_quote_price,NVL(Lines.order_uom_selling_price,lines.line_unit_price))
9451         ,lines.line_unit_price
9452         ,NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price
9453         ,decode(lines.line_unit_price,0,lines.line_unit_price,
9454     ((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price)/lines.line_unit_price)*100)
9455         ,lines.line_quantity
9456         ,lines.line_uom_code
9457         ,lines.price_list_header_id
9458 	   ,lines.priced_quantity
9459 	   ,lines.priced_uom_code
9460         ,sysdate
9461         ,G_USER_ID
9462         ,G_LOGIN_ID
9463   FROM  qp_preq_lines_tmp lines
9464   WHERE lines.line_id=l.quote_line_id
9465   AND   lines.line_type_code='LINE'
9466   )
9467 WHERE l.quote_header_id=p_qte_header_rec.quote_header_id
9468 AND   l.quote_line_id IN
9469          (SELECT line_id
9470           FROM   qp_preq_lines_tmp lines
9471           WHERE  lines.pricing_status_code
9472                  IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9473           AND    lines.line_type_code='LINE');
9474 
9475 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9476   aso_debug_pub.add('ASO_PRICING_CORE_PVT:With Price Event Lines Updated '||sql%ROWCOUNT,1,'Y');
9477 END IF;
9478 
9479 else
9480  -- manual price change is possible
9481 
9482 UPDATE ASO_QUOTE_LINES_all l
9483 SET (line_quote_price
9484     ,line_list_price
9485     ,line_adjusted_amount
9486     ,line_adjusted_percent
9487     ,quantity
9488     ,uom_code
9489     ,priced_price_list_id
9490     ,pricing_quantity
9491     ,pricing_quantity_uom
9492     ,last_update_date
9493     ,last_updated_by
9494     ,last_update_login
9495     ,recalculate_flag
9496     ,selling_price_change
9497   )
9498    =
9499  (SELECT NVL(Lines.order_uom_selling_price,lines.line_unit_price)
9500         ,lines.line_unit_price
9501         ,NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price
9502         ,decode(lines.line_unit_price,0,lines.line_unit_price,
9503     ((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price)/lines.line_unit_price)*100)
9504         ,lines.line_quantity
9505         ,lines.line_uom_code
9506         ,lines.price_list_header_id
9507 	   ,lines.priced_quantity
9508 	   ,lines.priced_uom_code
9509         ,sysdate
9510         ,G_USER_ID
9511         ,G_LOGIN_ID
9512         ,'N'--recalculate_flag - reset back to the default value
9513         ,'N'--selling_price_change - reset back to the default value
9514   FROM  qp_preq_lines_tmp lines
9515   WHERE lines.line_id=l.quote_line_id
9516   AND   lines.line_type_code='LINE'
9517   AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9518   AND   lines.pricing_status_code IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9519   )
9520 WHERE l.quote_header_id=p_qte_header_rec.quote_header_id
9521 AND   l.quote_line_id IN
9522          (SELECT line_id
9523           FROM   qp_preq_lines_tmp lines
9524           WHERE  lines.pricing_status_code IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9525           AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9526           AND    lines.line_type_code='LINE');
9527 
9528 
9529 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9530   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Lines Updated '||sql%ROWCOUNT,1,'Y');
9531 END IF;
9532 
9533 end If;--If P_control_rec.pricing_event = 'PRICE'
9534 
9535 --Bulk Insert of Price Adjustment from QP temp table for a quote Header
9536 If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER') then
9537 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9538   aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type: '||p_insert_type,1,'Y');
9539 END IF;
9540 
9541 If p_insert_type = 'HDR' then
9542 
9543 INSERT INTO ASO_PRICE_ADJUSTMENTS
9544       (price_adjustment_id,
9545       creation_date,
9546       created_by,
9547       last_update_date,
9548       last_updated_by,
9549       last_update_login,
9550       quote_header_id,
9551       quote_line_id,
9552       MODIFIER_HEADER_ID,
9553       MODIFIER_LINE_ID,
9554       MODIFIER_LINE_TYPE_CODE,
9555       MODIFIED_FROM,
9556       MODIFIED_TO,
9557       OPERAND,
9558       ARITHMETIC_OPERATOR,
9559       AUTOMATIC_FLAG,
9560       UPDATE_ALLOWABLE_FLAG,
9561       UPDATED_FLAG,
9562       APPLIED_FLAG,
9563       ON_INVOICE_FLAG,
9564       CHARGE_TYPE_CODE,
9565       PRICING_PHASE_ID,
9566       PRICING_GROUP_SEQUENCE,
9567       PRICE_BREAK_TYPE_CODE,
9568       ADJUSTED_AMOUNT,
9569       MODIFIER_LEVEL_CODE,
9570       ACCRUAL_FLAG,
9571       LIST_LINE_NO,
9572       ACCRUAL_CONVERSION_RATE,
9573       EXPIRATION_DATE,
9574       CHARGE_SUBTYPE_CODE,
9575       INCLUDE_ON_RETURNS_FLAG,
9576       BENEFIT_QTY,
9577       BENEFIT_UOM_CODE,
9578       PRORATION_TYPE_CODE,
9579       REBATE_TRANSACTION_TYPE_CODE,
9580       range_break_quantity,
9581       MODIFIER_MECHANISM_TYPE_CODE,
9582       SUBSTITUTION_ATTRIBUTE,
9583       change_reason_code,
9584       change_reason_text,
9585       update_allowed,
9586 	 operand_per_pqty,
9587 	 adjusted_amount_per_pqty
9588       )(
9589      SELECT
9590                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
9591                 sysdate
9592                ,fnd_global.user_id
9593                ,sysdate
9594                ,fnd_global.user_id
9595                ,fnd_global.login_id
9596                ,p_qte_header_rec.quote_header_id,
9597                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
9598                ldets_v.list_header_id,
9599                ldets_v.list_line_id,
9600                ldets_v.list_line_type_code,
9601                NULL,
9602                NULL,
9603                ldets_v.ORDER_QTY_OPERAND,
9604                ldets_v.Operand_Calculation_Code,
9605                ldets_v.Automatic_flag,
9606                ldets_v.Override_flag,
9607                ldets_v.UPDATED_FLAG,
9608                ldets_v.Applied_Flag,
9609                ldets_v.Print_On_Invoice_Flag,
9610                ldets_v.CHARGE_TYPE_CODE,
9611                ldets_v.Pricing_phase_id,
9612                ldets_v.PRICING_GROUP_SEQUENCE,
9613                ldets_v.PRICE_BREAK_TYPE_CODE,
9614                ldets_v.ORDER_QTY_ADJ_AMT,
9615                ldets_v.MODIFIER_LEVEL_CODE,
9616                ldets_v.ACCRUAL_FLAG,
9617                ldets_v.LIST_LINE_NO,
9618                ldets_v.ACCRUAL_CONVERSION_RATE,
9619                ldets_v.EXPIRATION_DATE,
9620                ldets_v.CHARGE_SUBTYPE_CODE,
9621                ldets_v.INCLUDE_ON_RETURNS_FLAG,
9622                ldets_v.BENEFIT_QTY,
9623                ldets_v.BENEFIT_UOM_CODE,
9624                ldets_v.PRORATION_TYPE_CODE,
9625                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
9626                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
9627                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
9628                ldets_v.SUBSTITUTION_ATTRIBUTE,
9629                ldets_v.change_reason_code,
9630                ldets_v.change_reason_text,
9631                ldets_v.OVERRIDE_FLAG,
9632 			ldets_v.operand_value,
9633 			ldets_v.adjustment_amount
9634        FROM    QP_PREQ_LINES_TMP lines,
9635                QP_LDETS_V ldets_v
9636        WHERE lines.line_index = ldets_v.line_index
9637 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9638        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
9639        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
9640        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR'));
9641 
9642 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9643   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
9644 END IF;
9645 
9646 
9647 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9648 aso_debug_pub.add('',1,'Y');
9649 aso_debug_pub.add('',1,'Y');
9650 aso_debug_pub.add('*****************QP_PREQ_RLTD_LINES_TMP*****************************************',1,'Y');
9651 For C_QP_PREQ_RLTD_LINES_TMP_REC in C_QP_PREQ_RLTD_LINES_TMP loop
9652 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_TYPE_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_TYPE_CODE,1,'Y');
9653 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX,1,'Y');
9654 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_DETAIL_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_DETAIL_INDEX,1,'Y');
9655 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_CODE,1,'Y');
9656 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_INDEX,1,'Y');
9657 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_DETAIL_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_DETAIL_INDEX,1,'Y');
9658 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_CODE,1,'Y');
9659 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_TEXT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_TEXT,1,'Y');
9660 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LIST_LINE_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LIST_LINE_ID,1,'Y');
9661 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_ID,1,'Y');
9662 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_TYPE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_TYPE,1,'Y');
9663 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND_CALCULATION_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND_CALCULATION_CODE,1,'Y');
9664 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND,1,'Y');
9665 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_GROUP_SEQUENCE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_GROUP_SEQUENCE,1,'Y');
9666 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_DETAIL:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_DETAIL,1,'Y');
9667 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_FROM:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_FROM,1,'Y');
9668 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_TO:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_TO,1,'Y');
9669 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE,1,'Y');
9670 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT,1,'Y');
9671 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SATISFIED_RANGE_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SATISFIED_RANGE_VALUE,1,'Y');
9672 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID,1,'Y');
9673 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.process_status:'||C_QP_PREQ_RLTD_LINES_TMP_REC.process_status,1,'Y');
9674 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.line_id:'||C_QP_PREQ_RLTD_LINES_TMP_REC.line_id,1,'Y');
9675 aso_debug_pub.add('*****************NEXT ADJUSTMENT RELATIONSHIP*****************************************',1,'Y');
9676 
9677 End Loop;
9678 
9679 END IF;
9680 /*
9681  * Insert to Price Adj Relationships
9682  *
9683  */
9684 
9685         INSERT INTO ASO_PRICE_ADJ_RELATIONSHIPS
9686         (adj_relationship_id,
9687         creation_date,
9688         created_by,
9689         last_update_date,
9690         last_updated_by,
9691         last_update_login,
9692         quote_line_id,
9693         price_adjustment_id,
9694         rltd_price_adj_id
9695         )
9696         (SELECT  ASO_PRICE_RELATIONSHIPS_S.nextval
9697                 ,sysdate
9698                 ,fnd_global.user_id
9699                 ,sysdate
9700                 ,fnd_global.user_id
9701                 ,fnd_global.login_id
9702                 ,adj.QUOTE_LINE_ID
9703                 ,ADJ.PRICE_ADJUSTMENT_ID
9704                 ,RADJ.PRICE_ADJUSTMENT_ID
9705          FROM
9706                QP_PREQ_RLTD_LINES_TMP RLTD,
9707                QP_PREQ_LINES_TMP LINE,
9708 			QP_PREQ_LINES_TMP RLTD_LINE,
9709                ASO_PRICE_ADJUSTMENTS ADJ,
9710                ASO_PRICE_ADJUSTMENTS RADJ
9711         WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9712         AND RLTD_LINE.line_index = RLTD.related_line_index
9713         AND RLTD.Relationship_Type_Code in
9714             (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
9715         AND line.line_index = rltd.line_index
9716         AND adj.quote_header_id = p_qte_header_rec.quote_header_id
9717         AND adj.quote_line_id = line.line_id
9718         AND line.line_type_code = 'LINE'
9719         AND line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9720 	   AND rltd_line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9721         AND adj.modifier_line_id = rltd.list_line_id
9722         AND radj.quote_header_id = p_qte_header_rec.quote_header_id
9723         AND radj.quote_line_id = rltd_line.line_id
9724         AND radj.modifier_line_id = rltd.related_list_line_id);
9725 
9726 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9727   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Relationships '||sql%ROWCOUNT,1,'Y');
9728 END IF;
9729 
9730 
9731 /*
9732  * Insert into Price Adj Attributes - Line Attributes
9733  */
9734 
9735 
9736  -- Added hint to fix perf bug 5614878.
9737 
9738  INSERT INTO ASO_PRICE_ADJ_ATTRIBS
9739               (  price_adj_attrib_id,
9740                 creation_date,
9741                 created_by,
9742                 last_update_date,
9743                 last_updated_by,
9744                 last_update_login,
9745                 price_adjustment_id,
9746                 pricing_context,
9747                 pricing_attribute,
9748                 pricing_attr_value_from,
9749                 pricing_attr_value_to,
9750                 comparison_operator,
9751                 flex_title)
9752                 (SELECT /*+ ORDERED USE_NL(LINES LDETS QPLAT ADJ) INDEX(LINES) INDEX(LDETS) INDEX(QPLAT  QP_PREQ_LINE_ATTRS_TMP_N3) */
9753 			  ASO_PRICE_ADJ_ATTRIBS_S.nextval,
9754                  sysdate
9755                 ,fnd_global.user_id
9756                 ,sysdate
9757                 ,fnd_global.user_id
9758                 ,fnd_global.login_id
9759                 ,ADJ.PRICE_ADJUSTMENT_ID
9760                 ,QPLAT.CONTEXT
9761                 ,QPLAT.ATTRIBUTE
9762                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
9763                 ,QPLAT.SETUP_VALUE_TO
9764                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
9765                 ,decode(QPLAT.ATTRIBUTE_TYPE,
9766                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
9767                         'QP_ATTR_DEFNS_PRICING')
9768                FROM
9769                   ASO_PRICE_ADJUSTMENTS ADJ,
9770                   QP_PREQ_LINES_TMP LINES ,
9771                   QP_PREQ_LDETS_TMP LDETS,
9772                   QP_PREQ_LINE_ATTRS_TMP QPLAT
9773               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
9774               AND LINES.LINE_ID = ADJ.QUOTE_LINE_ID
9775               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9776               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
9777               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
9778               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9779               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
9780               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
9781               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
9782               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
9783 
9784 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9785   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Line Level Attributes'||sql%ROWCOUNT,1,'Y');
9786 END IF;
9787 
9788  -- Added hint to fix perf bug 5614878.
9789 
9790               INSERT INTO ASO_PRICE_ADJ_ATTRIBS
9791               (  price_adj_attrib_id,
9792                 creation_date,
9793                 created_by,
9794                 last_update_date,
9795                 last_updated_by,
9796                 last_update_login,
9797                 price_adjustment_id,
9798                 pricing_context,
9799                 pricing_attribute,
9800                 pricing_attr_value_from,
9801                 pricing_attr_value_to,
9802                 comparison_operator,
9803                 flex_title)
9804                 (SELECT /*+ ORDERED USE_NL(LINES LDETS QPLAT ADJ) INDEX(LINES) INDEX(LDETS) INDEX(QPLAT  QP_PREQ_LINE_ATTRS_TMP_N3) */ ASO_PRICE_ADJ_ATTRIBS_S.nextval,
9805                  sysdate
9806                 ,fnd_global.user_id
9807                 ,sysdate
9808                 ,fnd_global.user_id
9809                 ,fnd_global.login_id
9810                 ,ADJ.PRICE_ADJUSTMENT_ID
9811                 ,QPLAT.CONTEXT
9812                 ,QPLAT.ATTRIBUTE
9813                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
9814                 ,QPLAT.SETUP_VALUE_TO
9815                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
9816                 ,decode(QPLAT.ATTRIBUTE_TYPE,
9817                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
9818                         'QP_ATTR_DEFNS_PRICING')
9819                FROM
9820                   ASO_PRICE_ADJUSTMENTS ADJ,
9821                   QP_PREQ_LINES_TMP LINES ,
9822                   QP_PREQ_LDETS_TMP LDETS,
9823                   QP_PREQ_LINE_ATTRS_TMP QPLAT
9824               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
9825               AND LINES.LINE_ID = ADJ.QUOTE_HEADER_ID
9826               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
9827               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9828               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
9829               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9830               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
9831               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
9832               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
9833               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
9834 
9835     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9836       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Header Level Attributes'||sql%ROWCOUNT,1,'Y');
9837     END IF;
9838 
9839 
9840     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9841        aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Starts Here ******************', 1, 'Y');
9842        aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_qte_header_rec.quote_header_id :'||NVL(p_qte_header_rec.quote_header_id,0), 1, 'Y');
9843        aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_insert_type :'||p_insert_type, 1, 'Y');
9844     END IF;
9845 
9846     PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
9847 
9848     PROCESS_LN_TSN(p_qte_header_rec.quote_header_id, p_insert_type);
9849 
9850 
9851     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9852        aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Ends Here ******************', 1, 'Y');
9853     END IF;
9854 
9855 Elsif p_insert_type = 'NO_HDR' then
9856    /*p_insert_type <> 'HDR'*/
9857    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9858       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Only insert line level adjustments and relationships and attribs',1,'Y');
9859    END IF;
9860 
9861 INSERT INTO ASO_PRICE_ADJUSTMENTS
9862       (price_adjustment_id,
9863       creation_date,
9864       created_by,
9865       last_update_date,
9866       last_updated_by,
9867       last_update_login,
9868       quote_header_id,
9869       quote_line_id,
9870       MODIFIER_HEADER_ID,
9871       MODIFIER_LINE_ID,
9872       MODIFIER_LINE_TYPE_CODE,
9873       MODIFIED_FROM,
9874       MODIFIED_TO,
9875       OPERAND,
9876       ARITHMETIC_OPERATOR,
9877       AUTOMATIC_FLAG,
9878       UPDATE_ALLOWABLE_FLAG,
9879       UPDATED_FLAG,
9880       APPLIED_FLAG,
9881       ON_INVOICE_FLAG,
9882       CHARGE_TYPE_CODE,
9883       PRICING_PHASE_ID,
9884       PRICING_GROUP_SEQUENCE,
9885       PRICE_BREAK_TYPE_CODE,
9886       ADJUSTED_AMOUNT,
9887       MODIFIER_LEVEL_CODE,
9888       ACCRUAL_FLAG,
9889       LIST_LINE_NO,
9890       ACCRUAL_CONVERSION_RATE,
9891       EXPIRATION_DATE,
9892       CHARGE_SUBTYPE_CODE,
9893       INCLUDE_ON_RETURNS_FLAG,
9894       BENEFIT_QTY,
9895       BENEFIT_UOM_CODE,
9896       PRORATION_TYPE_CODE,
9897       REBATE_TRANSACTION_TYPE_CODE,
9898       range_break_quantity,
9899       MODIFIER_MECHANISM_TYPE_CODE,
9900       SUBSTITUTION_ATTRIBUTE,
9901       change_reason_code,
9902       change_reason_text,
9903       update_allowed,
9904 	 operand_per_pqty,
9905 	 adjusted_amount_per_pqty
9906       )(
9907      SELECT
9908                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
9909                 sysdate
9910                ,fnd_global.user_id
9911                ,sysdate
9912                ,fnd_global.user_id
9913                ,fnd_global.login_id
9914                ,p_qte_header_rec.quote_header_id,
9915                lines.line_id,
9916                ldets_v.list_header_id,
9917                ldets_v.list_line_id,
9918                ldets_v.list_line_type_code,
9919                NULL,
9920                NULL,
9921                ldets_v.ORDER_QTY_OPERAND,
9922                ldets_v.Operand_Calculation_Code,
9923                ldets_v.Automatic_flag,
9924                ldets_v.Override_flag,
9925                ldets_v.UPDATED_FLAG,
9926                ldets_v.Applied_Flag,
9927                ldets_v.Print_On_Invoice_Flag,
9928                ldets_v.CHARGE_TYPE_CODE,
9929                ldets_v.Pricing_phase_id,
9930                ldets_v.PRICING_GROUP_SEQUENCE,
9931                ldets_v.PRICE_BREAK_TYPE_CODE,
9932                ldets_v.ORDER_QTY_ADJ_AMT,
9933                ldets_v.MODIFIER_LEVEL_CODE,
9934                ldets_v.ACCRUAL_FLAG,
9935                ldets_v.LIST_LINE_NO,
9936                ldets_v.ACCRUAL_CONVERSION_RATE,
9937                ldets_v.EXPIRATION_DATE,
9938                ldets_v.CHARGE_SUBTYPE_CODE,
9939                ldets_v.INCLUDE_ON_RETURNS_FLAG,
9940                ldets_v.BENEFIT_QTY,
9941                ldets_v.BENEFIT_UOM_CODE,
9942                ldets_v.PRORATION_TYPE_CODE,
9943                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
9944                ldets_v.Line_quantity,
9945                ldets_v.Calculation_code,
9946                ldets_v.SUBSTITUTION_ATTRIBUTE,
9947                ldets_v.change_reason_code,
9948                ldets_v.change_reason_text,
9949                ldets_v.OVERRIDE_FLAG,
9950 			ldets_v.operand_value,
9951 			ldets_v.adjustment_amount
9952        FROM    QP_PREQ_LINES_TMP lines,
9953                QP_LDETS_V ldets_v
9954        WHERE lines.line_index = ldets_v.line_index
9955 	  AND   ldets_v.modifier_level_code = 'LINE'
9956 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9957 	  AND   nvl(ldets_v.Calculation_code,'X') <> QP_PREQ_PUB.G_FREEGOOD
9958        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
9959        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
9960        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR'));
9961 
9962 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9963   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
9964 END IF;
9965 
9966 
9967 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9968 aso_debug_pub.add('',1,'Y');
9969 aso_debug_pub.add('',1,'Y');
9970 aso_debug_pub.add('*****************QP_PREQ_RLTD_LINES_TMP*****************************************',1,'Y');
9971 For C_QP_PREQ_RLTD_LINES_TMP_REC in C_QP_PREQ_RLTD_LINES_TMP loop
9972 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_TYPE_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_TYPE_CODE,1,'Y');
9973 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX,1,'Y');
9974 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_DETAIL_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_DETAIL_INDEX,1,'Y');
9975 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_CODE,1,'Y');
9976 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_INDEX,1,'Y');
9977 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_DETAIL_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LINE_DETAIL_INDEX,1,'Y');
9978 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_CODE,1,'Y');
9979 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_TEXT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_STATUS_TEXT,1,'Y');
9980 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LIST_LINE_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LIST_LINE_ID,1,'Y');
9981 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_ID,1,'Y');
9982 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_TYPE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATED_LIST_LINE_TYPE,1,'Y');
9983 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND_CALCULATION_CODE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND_CALCULATION_CODE,1,'Y');
9984 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND,1,'Y');
9985 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_GROUP_SEQUENCE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.PRICING_GROUP_SEQUENCE,1,'Y');
9986 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_DETAIL:'||C_QP_PREQ_RLTD_LINES_TMP_REC.RELATIONSHIP_TYPE_DETAIL,1,'Y');
9987 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_FROM:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_FROM,1,'Y');
9988 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_TO:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SETUP_VALUE_TO,1,'Y');
9989 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE,1,'Y');
9990 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT,1,'Y');
9991 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.SATISFIED_RANGE_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.SATISFIED_RANGE_VALUE,1,'Y');
9992 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID,1,'Y');
9993 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.process_status:'||C_QP_PREQ_RLTD_LINES_TMP_REC.process_status,1,'Y');
9994 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.line_id:'||C_QP_PREQ_RLTD_LINES_TMP_REC.line_id,1,'Y');
9995 aso_debug_pub.add('*****************NEXT ADJUSTMENT RELATIONSHIP*****************************************',1,'Y');
9996 
9997 End Loop;
9998 
9999 END IF;
10000 /*
10001  * Insert to Price Adj Relationships
10002  *
10003  */
10004 
10005         INSERT INTO ASO_PRICE_ADJ_RELATIONSHIPS
10006         (adj_relationship_id,
10007         creation_date,
10008         created_by,
10009         last_update_date,
10010         last_updated_by,
10011         last_update_login,
10012         quote_line_id,
10013         price_adjustment_id,
10014         rltd_price_adj_id
10015         )
10016         (SELECT  ASO_PRICE_RELATIONSHIPS_S.nextval
10017                 ,sysdate
10018                 ,fnd_global.user_id
10019                 ,sysdate
10020                 ,fnd_global.user_id
10021                 ,fnd_global.login_id
10022                 ,adj.QUOTE_LINE_ID
10023                 ,ADJ.PRICE_ADJUSTMENT_ID
10024                 ,RADJ.PRICE_ADJUSTMENT_ID
10025          FROM
10026                QP_PREQ_RLTD_LINES_TMP RLTD,
10027                QP_PREQ_LINES_TMP LINE,
10028 			QP_PREQ_LINES_TMP RLTD_LINE,
10029                ASO_PRICE_ADJUSTMENTS ADJ,
10030                ASO_PRICE_ADJUSTMENTS RADJ
10031         WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10032         AND RLTD_LINE.line_index = RLTD.related_line_index
10033         AND RLTD.Relationship_Type_Code in
10034             (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
10035         AND line.line_index = rltd.line_index
10036         AND adj.quote_header_id = p_qte_header_rec.quote_header_id
10037         AND adj.quote_line_id = line.line_id
10038         AND line.line_type_code = 'LINE'
10039         AND line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10040         AND adj.modifier_line_id = rltd.list_line_id
10041         AND radj.quote_header_id = p_qte_header_rec.quote_header_id
10042         AND radj.quote_line_id = rltd_line.line_id
10043         AND radj.modifier_line_id = rltd.related_list_line_id);
10044 
10045 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10046   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Relationships '||sql%ROWCOUNT,1,'Y');
10047 END IF;
10048 
10049 
10050 /*
10051  * Insert into Price Adj Attributes - Line Attributes
10052  */
10053 
10054 
10055  -- Added hint to fix perf bug 5614878.
10056 
10057  INSERT INTO ASO_PRICE_ADJ_ATTRIBS
10058               (  price_adj_attrib_id,
10059                 creation_date,
10060                 created_by,
10061                 last_update_date,
10062                 last_updated_by,
10063                 last_update_login,
10064                 price_adjustment_id,
10065                 pricing_context,
10066                 pricing_attribute,
10067                 pricing_attr_value_from,
10068                 pricing_attr_value_to,
10069                 comparison_operator,
10070                 flex_title)
10071                 (SELECT /*+ ORDERED USE_NL(LINES LDETS QPLAT ADJ) INDEX(LINES) INDEX(LDETS) INDEX(QPLAT  QP_PREQ_LINE_ATTRS_TMP_N3) */ ASO_PRICE_ADJ_ATTRIBS_S.nextval,
10072                  sysdate
10073                 ,fnd_global.user_id
10074                 ,sysdate
10075                 ,fnd_global.user_id
10076                 ,fnd_global.login_id
10077                 ,ADJ.PRICE_ADJUSTMENT_ID
10078                 ,QPLAT.CONTEXT
10079                 ,QPLAT.ATTRIBUTE
10080                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
10081                 ,QPLAT.SETUP_VALUE_TO
10082                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
10083                 ,decode(QPLAT.ATTRIBUTE_TYPE,
10084                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10085                         'QP_ATTR_DEFNS_PRICING')
10086                FROM
10087                   ASO_PRICE_ADJUSTMENTS ADJ,
10088                   QP_PREQ_LINES_TMP LINES ,
10089                   QP_PREQ_LDETS_TMP LDETS,
10090                   QP_PREQ_LINE_ATTRS_TMP QPLAT
10091               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10092               AND LINES.LINE_ID = ADJ.QUOTE_LINE_ID
10093               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10094               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
10095               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
10096               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10097               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
10098               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
10099               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
10100               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
10101 
10102 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10103   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Line Level Attributes'||sql%ROWCOUNT,1,'Y');
10104 END IF;
10105 
10106  PROCESS_LN_TSN(p_qte_header_rec.quote_header_id, p_insert_type);
10107 
10108 ELSE
10109 /* p_insert_type = 'HDR_ONLY' */
10110 
10111 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10112   aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type: '||p_insert_type,1,'Y');
10113   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inserting only header level adjustments',1,'Y');
10114 END IF;
10115 
10116 INSERT INTO ASO_PRICE_ADJUSTMENTS
10117       (price_adjustment_id,
10118       creation_date,
10119       created_by,
10120       last_update_date,
10121       last_updated_by,
10122       last_update_login,
10123       quote_header_id,
10124       quote_line_id,
10125       MODIFIER_HEADER_ID,
10126       MODIFIER_LINE_ID,
10127       MODIFIER_LINE_TYPE_CODE,
10128       MODIFIED_FROM,
10129       MODIFIED_TO,
10130       OPERAND,
10131       ARITHMETIC_OPERATOR,
10132       AUTOMATIC_FLAG,
10133       UPDATE_ALLOWABLE_FLAG,
10134       UPDATED_FLAG,
10135       APPLIED_FLAG,
10136       ON_INVOICE_FLAG,
10137       CHARGE_TYPE_CODE,
10138       PRICING_PHASE_ID,
10139       PRICING_GROUP_SEQUENCE,
10140       PRICE_BREAK_TYPE_CODE,
10141       ADJUSTED_AMOUNT,
10142       MODIFIER_LEVEL_CODE,
10143       ACCRUAL_FLAG,
10144       LIST_LINE_NO,
10145       ACCRUAL_CONVERSION_RATE,
10146       EXPIRATION_DATE,
10147       CHARGE_SUBTYPE_CODE,
10148       INCLUDE_ON_RETURNS_FLAG,
10149       BENEFIT_QTY,
10150       BENEFIT_UOM_CODE,
10151       PRORATION_TYPE_CODE,
10152       REBATE_TRANSACTION_TYPE_CODE,
10153       range_break_quantity,
10154       MODIFIER_MECHANISM_TYPE_CODE,
10155       SUBSTITUTION_ATTRIBUTE,
10156       change_reason_code,
10157       change_reason_text,
10158       update_allowed,
10159 	 operand_per_pqty,
10160 	 adjusted_amount_per_pqty
10161       )(
10162      SELECT
10163                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
10164                 sysdate,
10165                fnd_global.user_id,
10166                sysdate,
10167                fnd_global.user_id,
10168                fnd_global.login_id,
10169                p_qte_header_rec.quote_header_id,
10170                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
10171                ldets_v.list_header_id,
10172                ldets_v.list_line_id,
10173                ldets_v.list_line_type_code,
10174                NULL,
10175                NULL,
10176                ldets_v.ORDER_QTY_OPERAND,
10177                ldets_v.Operand_Calculation_Code,
10178                ldets_v.Automatic_flag,
10179                ldets_v.Override_flag,
10180                ldets_v.UPDATED_FLAG,
10181                ldets_v.Applied_Flag,
10182                ldets_v.Print_On_Invoice_Flag,
10183                ldets_v.CHARGE_TYPE_CODE,
10184                ldets_v.Pricing_phase_id,
10185                ldets_v.PRICING_GROUP_SEQUENCE,
10186                ldets_v.PRICE_BREAK_TYPE_CODE,
10187                ldets_v.ORDER_QTY_ADJ_AMT,
10188                ldets_v.MODIFIER_LEVEL_CODE,
10189                ldets_v.ACCRUAL_FLAG,
10190                ldets_v.LIST_LINE_NO,
10191                ldets_v.ACCRUAL_CONVERSION_RATE,
10192                ldets_v.EXPIRATION_DATE,
10193                ldets_v.CHARGE_SUBTYPE_CODE,
10194                ldets_v.INCLUDE_ON_RETURNS_FLAG,
10195                ldets_v.BENEFIT_QTY,
10196                ldets_v.BENEFIT_UOM_CODE,
10197                ldets_v.PRORATION_TYPE_CODE,
10198                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
10199                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
10200                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
10201                ldets_v.SUBSTITUTION_ATTRIBUTE,
10202                ldets_v.change_reason_code,
10203                ldets_v.change_reason_text,
10204                ldets_v.OVERRIDE_FLAG,
10205 			ldets_v.operand_value,
10206 			ldets_v.adjustment_amount
10207        FROM    QP_PREQ_LINES_TMP lines,
10208                QP_LDETS_V ldets_v
10209        WHERE lines.line_index = ldets_v.line_index
10210 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10211        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
10212        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
10213        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR')
10214 	  AND   ldets_v.modifier_level_code = 'ORDER');
10215 
10216 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10217   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
10218 END IF;
10219 
10220 
10221  -- Added hint to fix perf bug 5614878.
10222 
10223               INSERT INTO ASO_PRICE_ADJ_ATTRIBS
10224               (  price_adj_attrib_id,
10225                 creation_date,
10226                 created_by,
10227                 last_update_date,
10228                 last_updated_by,
10229                 last_update_login,
10230                 price_adjustment_id,
10231                 pricing_context,
10232                 pricing_attribute,
10233                 pricing_attr_value_from,
10234                 pricing_attr_value_to,
10235                 comparison_operator,
10236                 flex_title)
10237                 (SELECT /*+ ORDERED USE_NL(LINES LDETS QPLAT ADJ) INDEX(LINES) INDEX(LDETS) INDEX(QPLAT  QP_PREQ_LINE_ATTRS_TMP_N3) */ ASO_PRICE_ADJ_ATTRIBS_S.nextval,
10238                  sysdate
10239                 ,fnd_global.user_id
10240                 ,sysdate
10241                 ,fnd_global.user_id
10242                 ,fnd_global.login_id
10243                 ,ADJ.PRICE_ADJUSTMENT_ID
10244                 ,QPLAT.CONTEXT
10245                 ,QPLAT.ATTRIBUTE
10246                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
10247                 ,QPLAT.SETUP_VALUE_TO
10248                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
10249                 ,decode(QPLAT.ATTRIBUTE_TYPE,
10250                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10251                         'QP_ATTR_DEFNS_PRICING')
10252                FROM
10253                   ASO_PRICE_ADJUSTMENTS ADJ,
10254                   QP_PREQ_LINES_TMP LINES ,
10255                   QP_PREQ_LDETS_TMP LDETS,
10256                   QP_PREQ_LINE_ATTRS_TMP QPLAT
10257               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10258               AND LINES.LINE_ID = ADJ.QUOTE_HEADER_ID
10259               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
10260               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10261               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
10262               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10263               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
10264               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
10265               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
10266               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
10267 
10268     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10269       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert Adjustment Attributes - Header Level Attributes'||sql%ROWCOUNT,1,'Y');
10270     END IF;
10271 
10272     PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
10273 
10274 
10275 End If;--If p_insert_type = 'HDR'
10276 
10277 End if;--If p_control_rec.price_mode = 'BATCH'
10278 Else
10279    --l_db_line_counter is zero.
10280    --Just Insert ASO_PRICE_ADJUSTMENTS only.
10281 
10282 INSERT INTO ASO_PRICE_ADJUSTMENTS
10283       (price_adjustment_id,
10284       creation_date,
10285       created_by,
10286       last_update_date,
10287       last_updated_by,
10288       last_update_login,
10289       quote_header_id,
10290       quote_line_id,
10291       MODIFIER_HEADER_ID,
10292       MODIFIER_LINE_ID,
10293       MODIFIER_LINE_TYPE_CODE,
10294       MODIFIED_FROM,
10295       MODIFIED_TO,
10296       OPERAND,
10297       ARITHMETIC_OPERATOR,
10298       AUTOMATIC_FLAG,
10299       UPDATE_ALLOWABLE_FLAG,
10300       UPDATED_FLAG,
10301       APPLIED_FLAG,
10302       ON_INVOICE_FLAG,
10303       CHARGE_TYPE_CODE,
10304       PRICING_PHASE_ID,
10305       PRICING_GROUP_SEQUENCE,
10306       PRICE_BREAK_TYPE_CODE,
10307       ADJUSTED_AMOUNT,
10308       MODIFIER_LEVEL_CODE,
10309       ACCRUAL_FLAG,
10310       LIST_LINE_NO,
10311       ACCRUAL_CONVERSION_RATE,
10312       EXPIRATION_DATE,
10313       CHARGE_SUBTYPE_CODE,
10314       INCLUDE_ON_RETURNS_FLAG,
10315       BENEFIT_QTY,
10316       BENEFIT_UOM_CODE,
10317       PRORATION_TYPE_CODE,
10318       REBATE_TRANSACTION_TYPE_CODE,
10319       range_break_quantity,
10320       MODIFIER_MECHANISM_TYPE_CODE,
10321       SUBSTITUTION_ATTRIBUTE,
10322       change_reason_code,
10323       change_reason_text,
10324       update_allowed,
10325 	 operand_per_pqty,
10326 	 adjusted_amount_per_pqty
10327       )(
10328      SELECT
10329                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
10330                 sysdate
10331                ,fnd_global.user_id
10332                ,sysdate
10333                ,fnd_global.user_id
10334                ,fnd_global.login_id
10335                ,p_qte_header_rec.quote_header_id,
10336                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
10337                ldets_v.list_header_id,
10338                ldets_v.list_line_id,
10339                ldets_v.list_line_type_code,
10340                NULL,
10341                NULL,
10342 			ldets_v.ORDER_QTY_OPERAND,
10343                ldets_v.Operand_Calculation_Code,
10344                ldets_v.Automatic_flag,
10345                ldets_v.Override_flag,
10346                ldets_v.UPDATED_FLAG,
10347                ldets_v.Applied_Flag,
10348                ldets_v.Print_On_Invoice_Flag,
10349                ldets_v.CHARGE_TYPE_CODE,
10350                ldets_v.Pricing_phase_id,
10351                ldets_v.PRICING_GROUP_SEQUENCE,
10352                ldets_v.PRICE_BREAK_TYPE_CODE,
10353 			ldets_v.ORDER_QTY_ADJ_AMT,
10354                ldets_v.MODIFIER_LEVEL_CODE,
10355                ldets_v.ACCRUAL_FLAG,
10356                ldets_v.LIST_LINE_NO,
10357                ldets_v.ACCRUAL_CONVERSION_RATE,
10358                ldets_v.EXPIRATION_DATE,
10359                ldets_v.CHARGE_SUBTYPE_CODE,
10360                ldets_v.INCLUDE_ON_RETURNS_FLAG,
10361                ldets_v.BENEFIT_QTY,
10362                ldets_v.BENEFIT_UOM_CODE,
10363                ldets_v.PRORATION_TYPE_CODE,
10364                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
10365                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
10366                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
10367                ldets_v.SUBSTITUTION_ATTRIBUTE,
10368                ldets_v.change_reason_code,
10369                ldets_v.change_reason_text,
10370                ldets_v.OVERRIDE_FLAG,
10371 			ldets_v.operand_value,
10372 			ldets_v.adjustment_amount
10373        FROM    QP_PREQ_LINES_TMP lines,
10374                QP_LDETS_V ldets_v
10375        WHERE lines.line_index = ldets_v.line_index
10376        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
10377        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
10378        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR')
10379 	  AND   nvl(ldets_v.list_line_type_code,'X') <> 'FREIGHT_CHARGE');
10380 
10381 
10382 end if;--l_db_line_counter<>0
10383 /***********************************************************
10384 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10385    aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Starts Here ******************', 1, 'Y');
10386    aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_qte_header_rec.quote_header_id :'||NVL(p_qte_header_rec.quote_header_id,0), 1, 'Y');
10387    aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_insert_type :'||p_insert_type, 1, 'Y');
10388 END IF;
10389 
10390 If p_insert_type = 'HDR' then
10391 
10392    PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
10393 
10394    PROCESS_LN_TSN(p_qte_header_rec.quote_header_id);
10395 
10396 
10397    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10398       aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Ends Here ******************', 1, 'Y');
10399    END IF;
10400 end if;
10401 *******************************************/
10402 
10403  -- Standard check for p_commit
10404 IF FND_API.to_Boolean( p_commit ) THEN
10405       COMMIT WORK;
10406 END IF;
10407 
10408  FND_MSG_PUB.Count_And_Get
10409       ( p_encoded    => 'F',
10410         p_count      =>   x_msg_count,
10411         p_data       =>   x_msg_data
10412       );
10413 
10414  for l in 1 ..x_msg_count loop
10415     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
10416     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10417       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
10418       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
10419     END IF;
10420  end loop;
10421 
10422 END Copy_Price_To_Quote;
10423 
10424 FUNCTION Modify_Global_PlsIndex_Table (
10425                p_global_tbl            IN QP_PREQ_GRP.pls_integer_type,
10426                p_search_tbl            IN Index_Link_Tbl_Type)
10427 RETURN QP_PREQ_GRP.pls_integer_type IS
10428   i NUMBER;
10429   l_global_tbl QP_PREQ_GRP.pls_integer_type;
10430 BEGIN
10431   l_global_tbl.delete;
10432   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10433       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Modify_Global_PlsIndex_Table ',1,'Y');
10434   END IF;
10435 
10436   For i in 1..p_global_tbl.count LOOP
10437        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10438           aso_debug_pub.add('ASO_PRICING_CORE_PVT:i:'||i,1,'Y');
10439           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_global_tbl(i):'||p_global_tbl(i),1,'Y');
10440        END IF;
10441 
10442 	  If p_global_tbl(i) = 1 then
10443 		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10444 				aso_debug_pub.add('This is a header record value assigned 1',1,'Y');
10445           END IF;
10446 		l_global_tbl(i) := 1;
10447 	  Else
10448           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_search_tbl(p_global_tbl(i)):'||p_search_tbl(p_global_tbl(i)),1,'Y');
10449           l_global_tbl(i) := p_search_tbl(p_global_tbl(i));
10450 	  End If;
10451   END LOOP;--End for loop
10452   RETURN l_global_tbl;
10453 
10454 END Modify_Global_PlsIndex_Table;
10455 
10456 FUNCTION Modify_Global_NumIndex_Table (
10457                p_global_tbl            IN QP_PREQ_GRP.NUMBER_TYPE,
10458                p_search_tbl            IN Index_Link_Tbl_Type)
10459 RETURN QP_PREQ_GRP.NUMBER_TYPE IS
10460   i NUMBER;
10461   l_global_tbl QP_PREQ_GRP.NUMBER_TYPE;
10462 BEGIN
10463   l_global_tbl.delete;
10464   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10465       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Modify_Global_NumIndex_Table ',1,'Y');
10466   END IF;
10467 
10468   For i in 1..p_global_tbl.count LOOP
10469        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10470           aso_debug_pub.add('ASO_PRICING_CORE_PVT:i:'||i,1,'Y');
10471           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_global_tbl(i):'||p_global_tbl(i),1,'Y');
10472           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_search_tbl(p_global_tbl(i)):'||p_search_tbl(p_global_tbl(i)),1,'Y');
10473        END IF;
10474       l_global_tbl(i) := p_search_tbl(p_global_tbl(i));
10475   END LOOP;--End for loop
10476   RETURN l_global_tbl;
10477 
10478 END Modify_Global_NumIndex_Table;
10479 
10480 
10481 PROCEDURE Process_Charges(
10482      P_Api_Version_Number       IN   NUMBER,
10483      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
10484      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
10485      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
10486      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
10487      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
10488      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
10489      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
10490 IS
10491 
10492 CURSOR c_qte_sum IS
10493 SELECT sum(NVL(LINE_LIST_PRICE*quantity, 0)) total_list_price,
10494 sum(NVL(line_adjusted_amount*quantity,NVL(LINE_ADJUSTED_PERCENT*LINE_LIST_PRICE*quantity,0))) ln_total_discount
10495 FROM ASO_QUOTE_LINES_ALL
10496 WHERE QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id;
10497 
10498 l_api_name                    CONSTANT VARCHAR2(30) := 'Process_Charges';
10499 l_api_version_number          CONSTANT NUMBER   := 1.0;
10500 G_USER_ID                     NUMBER := FND_GLOBAL.USER_ID;
10501 G_LOGIN_ID                    NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
10502 l_last_update_date            Date := SYSDATE;
10503 l_line_shipping_charge        NUMBER := 0;
10504 l_hdr_shipping_charge         NUMBER := 0;
10505 l_total_list_price            NUMBER;
10506 l_ln_total_discount           NUMBER;
10507 ls_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
10508 
10509 BEGIN
10510     -- Standard call to check for call compatibility.
10511     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
10512                                         p_api_version_number,
10513                                         l_api_name,
10514                                         G_PKG_NAME)
10515     THEN
10516           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10517     END IF;
10518 
10519 
10520     -- Initialize message list if p_init_msg_list is set to TRUE.
10521     IF FND_API.to_Boolean( p_init_msg_list )
10522     THEN
10523           FND_MSG_PUB.initialize;
10524     END IF;
10525 
10526     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10527       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges ',1,'Y');
10528     END IF;
10529 
10530     x_return_status := FND_API.G_RET_STS_SUCCESS;
10531     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10532       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges:p_control_rec.pricing_event: '
10533                          ||p_control_rec.pricing_event,1,'Y');
10534       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges:p_control_rec.calculate_flag: '
10535                          ||p_control_rec.calculate_flag,1,'Y');
10536     END IF;
10537 
10538 If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER') then
10539 
10540 l_hdr_shipping_charge := ASO_SHIPPING_INT.Get_Header_Freight_Charges(p_qte_header_rec.quote_header_id);
10541 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10542       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_SHIPMENTS:l_hdr_shipping_charge: '
10543                          ||l_hdr_shipping_charge,1,'Y');
10544 END IF;
10545          UPDATE ASO_SHIPMENTS
10546                SET SHIP_QUOTE_PRICE = l_hdr_shipping_charge,
10547                last_update_date = l_last_update_date,
10548                last_updated_by = G_USER_ID,
10549                last_update_login = G_LOGIN_ID
10550                WHERE  QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10551                AND  QUOTE_LINE_ID is NULL;
10552 
10553 --Should not update the line levelfeight charges as in Calculate only call we only get updated order level modifiers
10554 
10555 If p_control_rec.calculate_flag <> QP_PREQ_GRP.G_CALCULATE_ONLY then
10556  /*Query the line table to pass it to ASO_SHIPPING_INT*/
10557   ls_qte_line_tbl := ASO_UTILITY_PVT.Query_Qte_Line_Rows(p_qte_header_rec.quote_header_id);
10558   FOR i IN 1..ls_qte_line_tbl.count LOOP
10559    l_line_shipping_charge := ASO_SHIPPING_INT.get_line_freight_charges
10560                               (p_qte_header_rec.quote_header_id,ls_qte_line_tbl(i).quote_line_id);
10561    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10562       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_SHIPMENTS:quote_line_id: '||ls_qte_line_tbl(i).quote_line_id
10563                          ||' line charge for the quote line:'||l_line_shipping_charge,1,'Y');
10564    END IF;
10565 
10566         UPDATE ASO_SHIPMENTS
10567              SET SHIP_QUOTE_PRICE = l_line_shipping_charge,
10568                QUANTITY = ls_qte_line_tbl(i).quantity,
10569                last_update_date = l_last_update_date,
10570                last_updated_by = G_USER_ID,
10571                last_update_login = G_LOGIN_ID
10572              WHERE  QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10573              AND  QUOTE_LINE_ID   =  ls_qte_line_tbl(i).quote_line_id;
10574   END LOOP;
10575 
10576   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10577     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Update Shipment info and before calling get_line_freight_charges Ends', 1, 'Y');
10578     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Cursor c_qte_sum opens and update of total for ASO_QUOTE_HEADERS_ALL Starts',1,'Y');
10579   END IF;
10580 
10581   OPEN c_qte_sum;
10582   FETCH c_qte_sum INTO l_total_list_price, l_ln_total_discount;
10583   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10584     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_QUOTE_HEADERS_ALL l_total_list_price:'||l_total_list_price, 1, 'Y');
10585     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_QUOTE_HEADERS_ALL l_ln_total_discount:'||l_ln_total_discount,1,'Y');
10586   END IF;
10587   CLOSE c_qte_sum;
10588      UPDATE ASO_QUOTE_HEADERS_ALL
10589             SET total_list_price = l_total_list_price,
10590          TOTAL_ADJUSTED_AMOUNT = l_ln_total_discount,
10591          total_adjusted_percent = decode(total_list_price, 0, NULL,
10592                     (l_ln_total_discount/total_list_price)*100),
10593          total_quote_price = l_total_list_price+l_ln_total_discount+
10594                     NVL(total_tax, 0)+
10595                     NVL(total_shipping_charge, 0),
10596                last_update_date = l_last_update_date,
10597                last_updated_by = G_USER_ID,
10598                last_update_login = G_LOGIN_ID
10599      WHERE quote_header_id = p_qte_header_rec.quote_header_id;
10600 END IF; -- p_control_rec.calculate_flag <> QP_PREQ_GRP.G_CALCULATE_ONLY
10601 
10602 END If;--If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER')
10603 
10604 -- Standard check for p_commit
10605 IF FND_API.to_Boolean( p_commit ) THEN
10606       COMMIT WORK;
10607 END IF;
10608 
10609  FND_MSG_PUB.Count_And_Get
10610       ( p_encoded    => 'F',
10611         p_count      =>   x_msg_count,
10612         p_data       =>   x_msg_data
10613       );
10614 
10615 FND_MSG_PUB.Count_And_Get
10616       ( p_encoded    => 'F',
10617         p_count      =>   x_msg_count,
10618         p_data       =>   x_msg_data
10619       );
10620 
10621  for l in 1 ..x_msg_count loop
10622     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
10623     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10624       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
10625       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
10626     END IF;
10627  end loop;
10628 
10629 END Process_Charges;
10630 
10631 
10632 PROCEDURE Process_PRG(
10633      P_Api_Version_Number       IN   NUMBER,
10634      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
10635      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
10636      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
10637      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
10638 	x_qte_line_tbl             OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
10639      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
10640      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
10641      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
10642 IS
10643 
10644 l_api_name                    CONSTANT VARCHAR2(30) := 'Process_PRG';
10645 l_api_version_number          CONSTANT NUMBER   := 1.0;
10646 l_db_line_counter             NUMBER;
10647 l_line_counter                NUMBER;
10648 l_adj_counter                 NUMBER;
10649 l_rltn_counter                NUMBER;
10650 l_adj_attr_counter            NUMBER;
10651 l_track_var                   VARCHAR2(3):= 'N';
10652 l_adj_exists                  VARCHAR2(3):= 'N';
10653 lx_index_counter              Number;
10654 l_index_counter               Number;
10655 l_qte_line_dtl_rec            ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type:= ASO_QUOTE_PUB.G_Miss_qte_line_dtl_rec;
10656 l_shipment_rec                ASO_QUOTE_PUB.Shipment_Rec_Type;
10657 l_qte_line_rec                ASO_QUOTE_PUB.Qte_Line_Rec_Type;
10658 l_shipment_tbl                ASO_QUOTE_PUB.Shipment_Tbl_Type;
10659 l_req_control_rec             QP_PREQ_GRP.CONTROL_RECORD_TYPE;
10660 l_return_status               VARCHAR2(1);
10661 l_return_status_text          VARCHAR2(2000);
10662 l_message_text                VARCHAR2(2000);
10663 x_pass_line                   VARCHAR2(10);
10664 l_adj_search_tbl              Index_Link_Tbl_Type;
10665 l_qte_line_id_tbl             JTF_NUMBER_TABLE;
10666 l_qte_adj_id_tbl              JTF_NUMBER_TABLE;
10667 l_price_index                 Number;
10668 px_line_index_search_tbl      ASO_PRICING_CORE_PVT.Index_Link_Tbl_Type;
10669 l_global_pls_tbl              QP_PREQ_GRP.pls_integer_type;
10670 l_global_num_tbl              QP_PREQ_GRP.NUMBER_TYPE;
10671 l_parent_line_id              NUMBER;
10672 l_def_profile_value           VARCHAR2(3);
10673 
10674 
10675 
10676 -- Variables to hold values to be passed to ASO_QUOTE_PUB.Update_Quote()
10677     l_last_update_date           Date := SYSDATE;
10678     l_pub_control_rec            ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_Miss_Control_Rec;
10679     l_qte_header_rec             ASO_QUOTE_PUB.Qte_Header_Rec_type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec;
10680     l_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type := ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl;
10681     l_qte_line_dtl_tbl           ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type := ASO_QUOTE_PUB.G_Miss_qte_line_dtl_tbl;
10682     l_Price_Adjustment_Tbl       ASO_QUOTE_PUB.Price_Adj_Tbl_Type  := ASO_QUOTE_PUB.G_Miss_Price_Adj_Tbl;
10683     l_Price_Adj_Rltship_Tbl      ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type := ASO_QUOTE_PUB.G_Miss_Price_Adj_Rltship_Tbl;
10684     l_ln_price_attributes_tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type  := ASO_QUOTE_PUB.G_Miss_Price_Attributes_Tbl;
10685     l_ln_shipment_tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type          := ASO_QUOTE_PUB.G_Miss_Shipment_Tbl;
10686     l_ln_sales_credit_tbl        ASO_QUOTE_PUB.Sales_Credit_Tbl_type      := ASO_QUOTE_PUB.G_Miss_Sales_Credit_Tbl;
10687     l_Price_Adj_Attr_Tbl         ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type    := ASO_QUOTE_PUB.G_Miss_PRICE_ADJ_ATTR_Tbl;
10688     lx_out_Qte_Header_Rec        ASO_QUOTE_PUB.Qte_Header_Rec_Type;
10689     lx_Qte_Line_Tbl              ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
10690     lx_Qte_Line_Dtl_Tbl          ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
10691     lx_Hd_Price_Attributes_Tbl   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10692     lx_Hd_Payment_Tbl            ASO_QUOTE_PUB.Payment_Tbl_Type;
10693     lx_Hd_Shipment_Tbl           ASO_QUOTE_PUB.Shipment_Tbl_Type;
10694     lx_Hd_Freight_Charge_Tbl     ASO_QUOTE_PUB.Freight_Charge_Tbl_Type ;
10695     lx_Hd_Tax_Detail_Tbl         ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10696     lx_Hd_Attr_Ext_tbl           ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10697     lx_Hd_Sales_Credit_Tbl       ASO_QUOTE_PUB.Sales_Credit_Tbl_Type;
10698     lx_Hd_Quote_Party_tbl        ASO_QUOTE_PUB.Quote_Party_Tbl_Type;
10699     lx_Line_Attr_Ext_Tbl         ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10700     lx_Line_Rltship_tbl          ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
10701     lx_Price_Adjustment_Tbl      ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
10702     lx_Price_Adj_Attr_Tbl        ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
10703     lx_Price_Adj_Rltship_Tbl     ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
10704     lx_Ln_Price_Attributes_Tbl   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10705     lx_Ln_Payment_Tbl            ASO_QUOTE_PUB.Payment_Tbl_Type;
10706     lx_Ln_Shipment_Tbl           ASO_QUOTE_PUB.Shipment_Tbl_Type;
10707     lx_Ln_Freight_Charge_Tbl     ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10708     lx_Ln_Sales_Credit_Tbl       ASO_QUOTE_PUB.Sales_Credit_Tbl_Type;
10709     lx_Ln_Quote_Party_tbl        ASO_QUOTE_PUB.Quote_Party_Tbl_Type;
10710     lx_Ln_Tax_Detail_Tbl         ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10711     X_Qte_Header_Rec             ASO_QUOTE_PUB.Qte_Header_Rec_Type;
10712     X_Qte_Line_Dtl_Tbl           ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
10713     X_Hd_Price_Attributes_Tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10714     X_Hd_Payment_Tbl             ASO_QUOTE_PUB.Payment_Tbl_Type;
10715     X_Hd_Shipment_Tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type;
10716     X_Hd_Freight_Charge_Tbl      ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10717     X_Hd_Tax_Detail_Tbl          ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10718     X_Line_Attr_Ext_Tbl          ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10719     X_line_rltship_tbl           ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
10720     X_Price_Adjustment_Tbl       ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
10721     X_Price_Adj_Attr_Tbl         ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
10722     X_Price_Adj_Rltship_Tbl      ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
10723     X_Ln_Price_Attributes_Tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10724     X_Ln_Payment_Tbl             ASO_QUOTE_PUB.Payment_Tbl_Type;
10725     X_Ln_Shipment_Tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type;
10726     X_Ln_Freight_Charge_Tbl      ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10727     X_Ln_Tax_Detail_Tbl          ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10728 
10729 /*Necessary Cursors*/
10730 
10731 CURSOR C_PRG_LINES_TMP IS
10732 SELECT
10733    lines.REQUEST_TYPE_CODE REQUEST_TYPE_CODE,
10734    lines.LINE_ID LINE_ID,
10735    lines.LINE_INDEX LINE_INDEX,
10736    lines.LINE_TYPE_CODE LINE_TYPE_CODE,
10737    lines.PRICING_EFFECTIVE_DATE PRICING_EFFECTIVE_DATE,
10738    lines.LINE_QUANTITY LINE_QUANTITY,
10739    lines.LINE_UOM_CODE LINE_UOM_CODE,
10740    lines.PRICED_QUANTITY PRICED_QUANTITY,
10741    lines.PRICED_UOM_CODE PRICED_UOM_CODE,
10742    lines.UOM_QUANTITY UOM_QUANTITY,
10743    lines.CURRENCY_CODE CURRENCY_CODE,
10744    lines.UNIT_PRICE UNIT_PRICE,
10745    lines.PERCENT_PRICE PERCENT_PRICE,
10746    lines.ADJUSTED_UNIT_PRICE ADJUSTED_UNIT_PRICE,
10747    lines.PARENT_PRICE PARENT_PRICE,
10748    lines.PARENT_QUANTITY PARENT_QUANTITY,
10749    lines.PARENT_UOM_CODE PARENT_UOM_CODE,
10750    lines.PROCESSING_ORDER PROCESSING_ORDER,
10751    lines.PROCESSED_FLAG PROCESSED_FLAG,
10752    lines.PROCESSED_CODE PROCESSED_CODE,
10753    lines.PRICE_FLAG PRICE_FLAG,
10754    lines.PRICING_STATUS_CODE PRICING_STATUS_CODE,
10755    lines.PRICING_STATUS_TEXT PRICING_STATUS_TEXT,
10756    lines.START_DATE_ACTIVE_FIRST START_DATE_ACTIVE_FIRST,
10757    lines.ACTIVE_DATE_FIRST_TYPE ACTIVE_DATE_FIRST_TYPE,
10758    lines.START_DATE_ACTIVE_SECOND START_DATE_ACTIVE_SECOND,
10759    lines.ACTIVE_DATE_SECOND_TYPE ACTIVE_DATE_SECOND_TYPE,
10760    lines.GROUP_QUANTITY GROUP_QUANTITY,
10761    lines.GROUP_AMOUNT GROUP_AMOUNT,
10762    lines.LINE_AMOUNT LINE_AMOUNT,
10763    lines.ROUNDING_FLAG ROUNDING_FLAG,
10764    lines.ROUNDING_FACTOR ROUNDING_FACTOR,
10765    lines.UPDATED_ADJUSTED_UNIT_PRICE UPDATED_ADJUSTED_UNIT_PRICE,
10766    lines.PRICE_REQUEST_CODE PRICE_REQUEST_CODE,
10767    lines.HOLD_CODE HOLD_CODE,
10768    lines.HOLD_TEXT HOLD_TEXT,
10769    lines.PRICE_LIST_HEADER_ID PRICE_LIST_HEADER_ID,
10770    lines.VALIDATED_FLAG VALIDATED_FLAG,
10771    lines.QUALIFIERS_EXIST_FLAG QUALIFIERS_EXIST_FLAG,
10772    lines.PRICING_ATTRS_EXIST_FLAG PRICING_ATTRS_EXIST_FLAG,
10773    lines.PRIMARY_QUALIFIERS_MATCH_FLAG PRIMARY_QUALIFIERS_MATCH_FLAG,
10774    lines.USAGE_PRICING_TYPE USAGE_PRICING_TYPE,
10775    lines.LINE_CATEGORY LINE_CATEGORY,
10776    lines.CONTRACT_START_DATE CONTRACT_START_DATE,
10777    lines.CONTRACT_END_DATE CONTRACT_END_DATE,
10778    lines.LINE_UNIT_PRICE LINE_UNIT_PRICE,
10779    lines.REQUEST_ID REQUEST_ID,
10780    lines.PROCESS_STATUS PROCESS_STATUS,
10781    lines.EXTENDED_PRICE EXTENDED_PRICE,
10782    lines.ORDER_UOM_SELLING_PRICE ORDER_UOM_SELLING_PRICE,
10783    lines.CATCHWEIGHT_QTY CATCHWEIGHT_QTY,
10784    lines.ACTUAL_ORDER_QUANTITY ACTUAL_ORDER_QUANTITY,
10785    attrs.ATTRIBUTE ATTRIBUTE,
10786    attrs.CONTEXT CONTEXT,
10787    attrs.VALUE_FROM VALUE_FROM
10788 FROM QP_PREQ_LINES_TMP lines,
10789      QP_PREQ_LINE_ATTRS_TMP attrs
10790 --WHERE lines.PROCESSED_CODE = QP_PREQ_PUB.G_BY_ENGINE
10791 WHERE   lines.process_status in (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_DELETED)
10792 AND   lines.line_index = attrs.line_index
10793 AND   attrs.CONTEXT = 'ITEM'
10794 AND   attrs.ATTRIBUTE = 'PRICING_ATTRIBUTE1';
10795 
10796 CURSOR C_PRG_RLTD_INFO(l_rltd_line_index NUMBER) IS
10797 SELECT
10798    LINE_INDEX,
10799    LINE_DETAIL_INDEX,
10800    RELATIONSHIP_TYPE_CODE,
10801    RELATED_LINE_INDEX,
10802    RELATED_LINE_DETAIL_INDEX,
10803    LIST_LINE_ID,
10804    RELATED_LIST_LINE_ID
10805 FROM QP_PREQ_RLTD_LINES_TMP
10806 WHERE RELATED_LINE_INDEX = l_rltd_line_index
10807 AND RELATIONSHIP_TYPE_CODE = QP_PREQ_GRP.G_GENERATED_LINE;
10808 
10809 CURSOR C_PRG_DISCOUNT_DTL(l_line_index NUMBER, l_line_detail_index NUMBER) IS
10810 SELECT
10811    LINE_DETAIL_INDEX,
10812    LINE_DETAIL_TYPE_CODE,
10813    LINE_INDEX,
10814    LIST_HEADER_ID,
10815    LIST_LINE_ID,
10816    LIST_LINE_TYPE_CODE,
10817    PRICE_BREAK_TYPE_CODE,
10818    LINE_QUANTITY,
10819    ADJUSTMENT_AMOUNT,
10820    AUTOMATIC_FLAG,
10821    PRICING_PHASE_ID,
10822    OPERAND_CALCULATION_CODE,
10823    OPERAND_VALUE,
10824    PRICING_GROUP_SEQUENCE,
10825    CREATED_FROM_LIST_TYPE_CODE,
10826    APPLIED_FLAG,
10827    PRICING_STATUS_CODE,
10828    PRICING_STATUS_TEXT,
10829    LIMIT_CODE,
10830    LIMIT_TEXT,
10831    LIST_LINE_NO,
10832    GROUP_QUANTITY,
10833    UPDATED_FLAG,
10834    PROCESS_CODE,
10835    SUBSTITUTION_VALUE_TO,
10836    SUBSTITUTION_ATTRIBUTE,
10837    ACCRUAL_FLAG,
10838    MODIFIER_LEVEL_CODE,
10839    ESTIM_GL_VALUE,
10840    ACCRUAL_CONVERSION_RATE,
10841    OVERRIDE_FLAG,
10842    PRINT_ON_INVOICE_FLAG,
10843    INVENTORY_ITEM_ID,
10844    ORGANIZATION_ID,
10845    RELATED_ITEM_ID,
10846    RELATIONSHIP_TYPE_ID,
10847    ESTIM_ACCRUAL_RATE,
10848    EXPIRATION_DATE,
10849    BENEFIT_PRICE_LIST_LINE_ID,
10850    RECURRING_FLAG,
10851    BENEFIT_LIMIT,
10852    CHARGE_TYPE_CODE,
10853    CHARGE_SUBTYPE_CODE,
10854    BENEFIT_QTY,
10855    BENEFIT_UOM_CODE,
10856    PRORATION_TYPE_CODE,
10857    INCLUDE_ON_RETURNS_FLAG,
10858    REBATE_TRANSACTION_TYPE_CODE,
10859    NUMBER_EXPIRATION_PERIODS,
10860    EXPIRATION_PERIOD_UOM,
10861    COMMENTS,
10862    CALCULATION_CODE,
10863    CHANGE_REASON_CODE,
10864    CHANGE_REASON_TEXT,
10865    PRICE_ADJUSTMENT_ID,
10866    NET_AMOUNT_FLAG,
10867    ORDER_QTY_OPERAND,
10868    ORDER_QTY_ADJ_AMT
10869 FROM QP_LDETS_V
10870 WHERE line_index = l_line_index
10871 AND line_detail_index = l_line_detail_index;
10872 
10873 CURSOR C_ADJ_ATTR_DTL(l_line_index NUMBER, l_line_detail_index NUMBER) IS
10874 SELECT
10875 QPLAT.CONTEXT CONTEXT,
10876 QPLAT.ATTRIBUTE ATTRIBUTE,
10877 nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM) VALUE_FROM,
10878 QPLAT.SETUP_VALUE_TO VALUE_TO,
10879 QPLAT.COMPARISON_OPERATOR_TYPE_CODE COMPARISON_OPERATOR,
10880 decode(QPLAT.ATTRIBUTE_TYPE,
10881        'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10882        'QP_ATTR_DEFNS_PRICING')  FLEX_TITLE
10883 FROM QP_PREQ_LINE_ATTRS_TMP QPLAT
10884 WHERE QPLAT.LINE_INDEX = l_line_index
10885 AND   QPLAT.LINE_DETAIL_INDEX = l_line_detail_index;
10886 
10887 CURSOR C_Get_Parent_Adj_id(l_qte_line_id NUMBER, l_modifier_line_id NUMBER) IS
10888 SELECT PRICE_ADJUSTMENT_ID
10889 FROM ASO_PRICE_ADJUSTMENTS
10890 WHERE quote_line_id = l_qte_line_id
10891 AND   modifier_line_id = l_modifier_line_id;
10892 
10893 BEGIN
10894 
10895     -- Standard call to check for call compatibility.
10896     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
10897                                         p_api_version_number,
10898                                         l_api_name,
10899                                         G_PKG_NAME)
10900     THEN
10901           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10902     END IF;
10903 
10904 
10905     -- Initialize message list if p_init_msg_list is set to TRUE.
10906     IF FND_API.to_Boolean( p_init_msg_list )
10907     THEN
10908           FND_MSG_PUB.initialize;
10909     END IF;
10910 
10911     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10912       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_PRG ',1,'Y');
10913     END IF;
10914 
10915     x_return_status := FND_API.G_RET_STS_SUCCESS;
10916 
10917    l_line_counter := 1;
10918    l_adj_counter  := 1;
10919    l_rltn_counter := 1;
10920    l_adj_attr_counter := 1;
10921 
10922    /*Prepraring for Update_Quote Call*/
10923    FOR C_PRG_LINES_TMP_REC in C_PRG_LINES_TMP Loop
10924        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10925           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.PROCESS_STATUS: '
10926                             ||C_PRG_LINES_TMP_REC.PROCESS_STATUS,1,'Y');
10927        END IF;
10928 
10929        /*Setting up the line record*/
10930        If C_PRG_LINES_TMP_REC.PROCESS_STATUS = QP_PREQ_GRP.G_STATUS_NEW Then
10931 	     l_track_var := 'Y'; --If there are any new prg lines then set this to 'Y'
10932           l_qte_line_tbl(l_line_counter).OPERATION_CODE := 'CREATE';
10933        end if;
10934        If C_PRG_LINES_TMP_REC.PROCESS_STATUS = QP_PREQ_GRP.G_STATUS_DELETED Then
10935           l_qte_line_tbl(l_line_counter).OPERATION_CODE := 'DELETE';
10936           l_qte_line_tbl(l_line_counter).quote_line_id  := C_PRG_LINES_TMP_REC.line_id;
10937        end if;
10938 
10939        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10940           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_INDEX: '||C_PRG_LINES_TMP_REC.LINE_INDEX,1,'Y');
10941           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.VALUE_FROM(inventory_item_id): '
10942 					    ||C_PRG_LINES_TMP_REC.VALUE_FROM,1,'Y');
10943           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_QUANTITY: '
10944                              ||C_PRG_LINES_TMP_REC.LINE_QUANTITY,1,'Y');
10945           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_UOM_CODE: '
10946                              ||C_PRG_LINES_TMP_REC.LINE_UOM_CODE,1,'Y');
10947           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID: '
10948                              ||C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID,1,'Y');
10949           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.CURRENCY_CODE: '
10950                              ||C_PRG_LINES_TMP_REC.CURRENCY_CODE,1,'Y');
10951           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE: '
10952                              ||C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE,1,'Y');
10953           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE: '
10954                              ||C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE,1,'Y');
10955           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.priced_uom_code: '
10956                              ||C_PRG_LINES_TMP_REC.priced_uom_code,1,'Y');
10957           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.priced_quantity: '
10958                              ||C_PRG_LINES_TMP_REC.priced_quantity,1,'Y');
10959        END IF;
10960 
10961        l_qte_line_tbl(l_line_counter).Pricing_Line_Type_Indicator:= 'F';
10962        l_qte_line_tbl(l_line_counter).QUOTE_HEADER_ID := p_qte_header_rec.quote_header_id;
10963        l_qte_line_tbl(l_line_counter).INVENTORY_ITEM_ID := C_PRG_LINES_TMP_REC.VALUE_FROM;
10964        l_qte_line_tbl(l_line_counter).QUANTITY := C_PRG_LINES_TMP_REC.LINE_QUANTITY;
10965        l_qte_line_tbl(l_line_counter).UOM_CODE := C_PRG_LINES_TMP_REC.LINE_UOM_CODE;
10966        l_qte_line_tbl(l_line_counter).PRICED_PRICE_LIST_ID := C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID;
10967        l_qte_line_tbl(l_line_counter).RECALCULATE_FLAG := 'N';
10968        l_qte_line_tbl(l_line_counter).SELLING_PRICE_CHANGE := 'N';
10969        l_qte_line_tbl(l_line_counter).CURRENCY_CODE := C_PRG_LINES_TMP_REC.CURRENCY_CODE;
10970        l_qte_line_tbl(l_line_counter).LINE_QUOTE_PRICE := NVL(C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE,
10971                                                               C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE);
10972        l_qte_line_tbl(l_line_counter).LINE_LIST_PRICE := C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE;
10973        l_qte_line_tbl(l_line_counter).LINE_ADJUSTED_AMOUNT := NVL(C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE, C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE)-C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE;
10974 
10975       If C_PRG_LINES_TMP_REC.line_unit_price = 0 then
10976          l_qte_line_tbl(l_line_counter).LINE_ADJUSTED_PERCENT := C_PRG_LINES_TMP_REC.line_unit_price;
10977       else
10978          l_qte_line_tbl(l_line_counter).LINE_ADJUSTED_PERCENT := ((NVL(C_PRG_LINES_TMP_REC.order_uom_selling_price, C_PRG_LINES_TMP_REC.line_unit_price)-C_PRG_LINES_TMP_REC.line_unit_price)/C_PRG_LINES_TMP_REC.line_unit_price)* 100;
10979       end if;
10980 	 -- priced information change
10981 	 l_qte_line_tbl(l_line_counter).pricing_quantity_uom := C_PRG_LINES_TMP_REC.priced_uom_code;
10982 	 l_qte_line_tbl(l_line_counter).pricing_quantity := C_PRG_LINES_TMP_REC.priced_quantity;
10983 
10984       /*Create detail and relationship adj records*/
10985       For C_PRG_RLTD_INFO_REC in C_PRG_RLTD_INFO(C_PRG_LINES_TMP_REC.line_index) LOOP
10986 
10987        If l_qte_line_tbl(l_line_counter).operation_code <> 'DELETE' then
10988          /*Create Adjustment table*/
10989          --l_Price_Adjustment_Tbl
10990          For C_PRG_DISCOUNT_DTL_REC in C_PRG_DISCOUNT_DTL(C_PRG_LINES_TMP_REC.line_index,
10991 											   C_PRG_RLTD_INFO_REC.related_line_detail_index) loop
10992              IF l_adj_search_tbl.exists(C_PRG_RLTD_INFO_REC.related_line_detail_index) then
10993                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10994 		       aso_debug_pub.add('ASO_PRICING_CORE_PVT: C_PRG_RLTD_INFO_REC.related_line_detail_index:'
10995 			     			 ||C_PRG_RLTD_INFO_REC.related_line_detail_index||' already inserted',1,'Y');
10996                 END IF;
10997 			 l_adj_exists := 'Y';
10998 	         ELSE
10999               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11000 		       aso_debug_pub.add('ASO_PRICING_CORE_PVT: C_PRG_RLTD_INFO_REC.related_line_detail_index:'
11001 			     			 ||C_PRG_RLTD_INFO_REC.related_line_detail_index,1,'Y');
11002               END IF;
11003               l_adj_search_tbl(C_PRG_RLTD_INFO_REC.related_line_detail_index) := l_adj_counter;
11004               l_Price_Adjustment_Tbl(l_adj_counter).operation_code := l_qte_line_tbl(l_line_counter).operation_code;
11005               l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index := l_line_counter;
11006 
11007               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11008                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:ADJUSTMENT RECORD:',1,'Y');
11009                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operation_code: '
11010                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operation_code,1,'Y');
11011                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index: '
11012                                     ||l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index,1,'Y');
11013               END IF;
11014               l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id := p_qte_header_rec.quote_header_id;
11015               l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id := C_PRG_DISCOUNT_DTL_REC.list_header_id;
11016               l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id := C_PRG_DISCOUNT_DTL_REC.list_line_id;
11017               l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code := C_PRG_DISCOUNT_DTL_REC.list_line_type_code;
11018               l_Price_Adjustment_Tbl(l_adj_counter).modified_from := NULL;
11019               l_Price_Adjustment_Tbl(l_adj_counter).modified_to := NULL;
11020               l_Price_Adjustment_Tbl(l_adj_counter).operand := C_PRG_DISCOUNT_DTL_REC.order_qty_operand;
11021               l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator := C_PRG_DISCOUNT_DTL_REC.Operand_Calculation_Code;
11022               l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag := C_PRG_DISCOUNT_DTL_REC.Automatic_flag;
11023               l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag := C_PRG_DISCOUNT_DTL_REC.Override_flag;
11024               l_Price_Adjustment_Tbl(l_adj_counter).updated_flag := C_PRG_DISCOUNT_DTL_REC.updated_flag;
11025               l_Price_Adjustment_Tbl(l_adj_counter).applied_flag := C_PRG_DISCOUNT_DTL_REC.Applied_Flag;
11026               l_Price_Adjustment_Tbl(l_adj_counter).on_invoice_flag := C_PRG_DISCOUNT_DTL_REC.Print_On_Invoice_Flag;
11027               l_Price_Adjustment_Tbl(l_adj_counter).charge_type_code := C_PRG_DISCOUNT_DTL_REC.charge_type_code;
11028               l_Price_Adjustment_Tbl(l_adj_counter).pricing_phase_id := C_PRG_DISCOUNT_DTL_REC.pricing_phase_id;
11029               l_Price_Adjustment_Tbl(l_adj_counter).pricing_group_sequence := C_PRG_DISCOUNT_DTL_REC.pricing_group_sequence;
11030               l_Price_Adjustment_Tbl(l_adj_counter).price_break_type_code := C_PRG_DISCOUNT_DTL_REC.price_break_type_code;
11031               l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount := C_PRG_DISCOUNT_DTL_REC.order_qty_adj_amt;
11032               l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code := C_PRG_DISCOUNT_DTL_REC.modifier_level_code;
11033               l_Price_Adjustment_Tbl(l_adj_counter).accrual_flag := C_PRG_DISCOUNT_DTL_REC.accrual_flag;
11034               l_Price_Adjustment_Tbl(l_adj_counter).list_line_no := C_PRG_DISCOUNT_DTL_REC.list_line_no;
11035               l_Price_Adjustment_Tbl(l_adj_counter).accrual_conversion_rate := C_PRG_DISCOUNT_DTL_REC.accrual_conversion_rate;
11036               l_Price_Adjustment_Tbl(l_adj_counter).expiration_date := C_PRG_DISCOUNT_DTL_REC.expiration_date;
11037               l_Price_Adjustment_Tbl(l_adj_counter).charge_subtype_code := C_PRG_DISCOUNT_DTL_REC.charge_subtype_code;
11038               l_Price_Adjustment_Tbl(l_adj_counter).include_on_returns_flag := C_PRG_DISCOUNT_DTL_REC.include_on_returns_flag;
11039               l_Price_Adjustment_Tbl(l_adj_counter).benefit_qty := C_PRG_DISCOUNT_DTL_REC.benefit_qty;
11040               l_Price_Adjustment_Tbl(l_adj_counter).benefit_uom_code := C_PRG_DISCOUNT_DTL_REC.benefit_uom_code;
11041               l_Price_Adjustment_Tbl(l_adj_counter).proration_type_code := C_PRG_DISCOUNT_DTL_REC.proration_type_code;
11042               l_Price_Adjustment_Tbl(l_adj_counter).rebate_transaction_type_code := C_PRG_DISCOUNT_DTL_REC.rebate_transaction_type_code;
11043               l_Price_Adjustment_Tbl(l_adj_counter).range_break_quantity := C_PRG_DISCOUNT_DTL_REC.Line_quantity;
11044               l_Price_Adjustment_Tbl(l_adj_counter).modifier_mechanism_type_code := C_PRG_DISCOUNT_DTL_REC.Calculation_code;
11045               l_Price_Adjustment_Tbl(l_adj_counter).change_reason_code := C_PRG_DISCOUNT_DTL_REC.change_reason_code;
11046               l_Price_Adjustment_Tbl(l_adj_counter).change_reason_text := C_PRG_DISCOUNT_DTL_REC.change_reason_text;
11047               l_Price_Adjustment_Tbl(l_adj_counter).update_allowed := C_PRG_DISCOUNT_DTL_REC.override_flag;
11048 		    --priced information change
11049               l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty := C_PRG_DISCOUNT_DTL_REC.operand_value;
11050               l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty := C_PRG_DISCOUNT_DTL_REC.adjustment_amount;
11051 
11052               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11053                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id: '
11054                                     ||l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id,1,'Y');
11055                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id: '
11056                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id,1,'Y');
11057                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id: '
11058                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id,1,'Y');
11059                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code: '
11060                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code,1,'Y');
11061                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operand: '
11062                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operand,1,'Y');
11063                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator: '
11064                                     ||l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator,1,'Y');
11065                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag: '
11066                                     ||l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag,1,'Y');
11067                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag: '
11068                                     ||l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag,1,'Y');
11069                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).updated_flag: '
11070                                     ||l_Price_Adjustment_Tbl(l_adj_counter).updated_flag,1,'Y');
11071                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).applied_flag: '
11072                                     ||l_Price_Adjustment_Tbl(l_adj_counter).applied_flag,1,'Y');
11073                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount: '
11074                                     ||l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount,1,'Y');
11075                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code: '
11076                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code,1,'Y');
11077                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).update_allowed: '
11078                                     ||l_Price_Adjustment_Tbl(l_adj_counter).update_allowed,1,'Y');
11079                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty: '
11080                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty,1,'Y');
11081                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty: '
11082                                     ||l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty,1,'Y');
11083               END IF;
11084               -- l_Price_Adj_Attr_Tbl
11085               For C_ADJ_ATTR_DTL_REC in C_ADJ_ATTR_DTL(C_PRG_LINES_TMP_REC.line_index,
11086                                                         C_PRG_RLTD_INFO_REC.related_line_detail_index) LOOP
11087                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX := l_adj_counter;
11088                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE  := l_qte_line_tbl(l_line_counter).operation_code;
11089                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT := C_ADJ_ATTR_DTL_REC.CONTEXT;
11090                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE := C_ADJ_ATTR_DTL_REC.ATTRIBUTE;
11091                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM := C_ADJ_ATTR_DTL_REC.VALUE_FROM;
11092                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO := C_ADJ_ATTR_DTL_REC.VALUE_TO;
11093                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR := C_ADJ_ATTR_DTL_REC.COMPARISON_OPERATOR;
11094                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE := C_ADJ_ATTR_DTL_REC.FLEX_TITLE;
11095                   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11096                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX:'
11097                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX,1,'Y');
11098                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE:'
11099                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE,1,'Y');
11100                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT:'
11101                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT,1,'Y');
11102                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE:'
11103                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE,1,'Y');
11104                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM:'
11105                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM,1,'Y');
11106                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO:'
11107                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO,1,'Y');
11108                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR:'
11109                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR,1,'Y');
11110                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE:'
11111                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE,1,'Y');
11112 
11113                   END IF;
11114                   l_adj_attr_counter := l_adj_attr_counter + 1;
11115               END LOOP; -- C_ADJ_ATTR_DTL_REC
11116 
11117 	    END IF;--If l_adj_search_tbl.exists(C_PRG_RLTD_INFO_REC.related_line_detail_index)
11118 
11119          /*Create Adjustment relationship table*/
11120          --l_Price_Adj_Rltship_Tbl
11121          l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code := l_qte_line_tbl(l_line_counter).operation_code;
11122 
11123 	    --First get the quote line id of the parent record.
11124          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11125             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Parent Line index C_PRG_RLTD_INFO_REC.line_index:'
11126                                ||C_PRG_RLTD_INFO_REC.line_index,1,'Y');
11127          END IF;
11128 	    SELECT LINE_ID
11129 	    INTO l_parent_line_id
11130 	    FROM QP_PREQ_LINES_TMP
11131 	    WHERE LINE_INDEX = C_PRG_RLTD_INFO_REC.line_index;
11132 	    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11133             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_parent_line_id:'||l_parent_line_id,1,'Y');
11134          END IF;
11135          l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID := l_parent_line_id;
11136 
11137          /*Need to get price adjustment id of the parent record*/
11138          For C_Get_Parent_Adj_id_Rec in C_Get_Parent_Adj_id(l_parent_line_id,
11139 												C_PRG_RLTD_INFO_REC.list_line_id) loop
11140              l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id := C_Get_Parent_Adj_id_Rec.price_adjustment_id;
11141          end loop;--C_Get_Parent_Adj_id_Rec
11142          l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index := l_adj_search_tbl(C_PRG_RLTD_INFO_REC.related_line_detail_index);
11143          --l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index := l_adj_counter;
11144 
11145          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11146            aso_debug_pub.add('ASO_PRICING_CORE_PVT:ADJUSTMENT RELATIONSHIP RECORD:',1,'Y');
11147            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code:'
11148                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code,1,'Y');
11149            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID:'
11150                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID,1,'Y');
11151            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id:'
11152                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id,1,'Y');
11153            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index:'
11154                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index,1,'Y');
11155          END IF;
11156 
11157          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11158            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_line_counter:'||l_line_counter,1,'Y');
11159            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_adj_counter:'||l_adj_counter,1,'Y');
11160            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_rltn_counter:'||l_rltn_counter,1,'Y');
11161          END IF;
11162          If l_adj_exists = 'N' then
11163              l_adj_counter := l_adj_counter + 1;
11164 	    End If;
11165 	    l_adj_exists := 'N';
11166 
11167      End Loop;--C_PRG_DISCOUNT_DTL_REC
11168 
11169      l_rltn_counter := l_rltn_counter + 1;
11170 
11171 	END If;--l_qte_line_tbl(l_line_counter).operation_code <> 'DELETE'
11172 
11173      END LOOP;--C_PRG_RLTD_INFO_REC
11174 
11175      l_line_counter:= l_line_counter + 1;
11176 
11177    End Loop;--C_PRG_LINES_TMP_REC
11178 
11179    /*Call update quote if l_qte_line_tbl.count is >0*/
11180    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11181       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_qte_line_tbl.count:'||nvl(l_qte_line_tbl.count,0),1,'Y');
11182 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl.count:'||nvl(l_Price_Adjustment_Tbl.count,0),1,'Y');
11183 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl.count:'||nvl(l_Price_Adj_Rltship_Tbl.count,0),1,'Y');
11184    END IF;
11185 
11186    If l_qte_line_tbl.count > 0 then
11187 
11188    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11189       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Calling Update Quote for PRG lines',1,'Y');
11190    END IF;
11191 
11192 
11193    /*Setting up Header Rec*/
11194    l_qte_header_rec.quote_header_id := p_qte_header_rec.quote_header_id;
11195 
11196    Begin
11197        SELECT last_update_date into l_last_update_date
11198        FROM ASO_QUOTE_HEADERS_ALL
11199        WHERE quote_header_id = p_qte_header_rec.quote_header_id;
11200 
11201        l_qte_header_rec.last_update_date  := l_last_update_date;
11202 
11203    exception when no_data_found then
11204             x_return_status := FND_API.G_RET_STS_ERROR;
11205             IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
11206 	               FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
11207 	               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
11208 	               FND_MSG_PUB.ADD;
11209             END IF;
11210 	       raise FND_API.G_EXC_ERROR;
11211    end;
11212 
11213    -- Setting up the Control record for Update quote
11214    l_def_profile_value := FND_PROFILE.value('ASO_ENABLE_DEFAULTING_RULE');
11215    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11216       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_def_profile_value - ASO_ENABLE_DEFAULTING_RULE:'||l_def_profile_value,1,'Y');
11217    END IF;
11218    If l_def_profile_value = 'Y' then
11219       l_pub_control_rec.DEFAULTING_FWK_FLAG := 'Y';
11220 	 l_pub_control_rec.DEFAULTING_FLAG := FND_API.G_TRUE;
11221 	 l_pub_control_rec.APPLICATION_TYPE_CODE := 'QUOTING HTML';/* Need to be changed if iStore uptakes defaulting. It should be input parameter */
11222    Else
11223       l_pub_control_rec.DEFAULTING_FWK_FLAG := 'N';
11224 	 l_pub_control_rec.DEFAULTING_FLAG := FND_API.G_FALSE;
11225    End If;
11226 
11227    ASO_QUOTE_PUB.Update_Quote(
11228           p_api_version_number     => 1.0,
11229           p_init_msg_list          => fnd_api.g_false,
11230           p_commit                 => fnd_api.g_false,
11231 		P_Validation_Level       => FND_API.G_VALID_LEVEL_NONE,
11232 		P_Control_Rec            => l_pub_control_rec,
11233           p_qte_header_rec         => l_qte_header_rec,
11234           p_qte_line_tbl            => l_qte_line_tbl,
11235 		p_price_adjustment_Tbl   => l_price_adjustment_Tbl,
11236           P_Price_Adj_Attr_Tbl     => l_Price_Adj_Attr_Tbl,
11237 		p_price_adj_rltship_Tbl  => l_price_adj_rltship_Tbl,
11238           X_Qte_Header_Rec         => lx_out_qte_header_rec,
11239           X_Qte_Line_Tbl           => lx_Qte_Line_Tbl,
11240           X_Qte_Line_Dtl_Tbl       => lx_Qte_Line_Dtl_Tbl,
11241           X_hd_Price_Attributes_Tbl => lx_hd_Price_Attributes_Tbl,
11242           X_hd_Payment_Tbl         => lx_hd_Payment_Tbl,
11243           X_hd_Shipment_Tbl        => lx_hd_Shipment_Tbl,
11244           X_hd_Freight_Charge_Tbl  => lx_hd_Freight_Charge_Tbl,
11245           X_hd_Tax_Detail_Tbl      => lx_hd_Tax_Detail_Tbl,
11246           X_hd_Attr_Ext_Tbl        => lX_hd_Attr_Ext_Tbl,
11247           X_hd_Sales_Credit_Tbl    => lx_hd_Sales_Credit_Tbl,
11248           X_hd_Quote_Party_Tbl     => lx_hd_Quote_Party_Tbl,
11249           X_Line_Attr_Ext_Tbl      => lx_Line_Attr_Ext_Tbl,
11250           X_line_rltship_tbl       => lx_line_rltship_tbl,
11251           X_Price_Adjustment_Tbl   => lx_Price_Adjustment_Tbl,
11252           X_Price_Adj_Attr_Tbl     => lx_Price_Adj_Attr_Tbl,
11253           X_Price_Adj_Rltship_Tbl  => lx_Price_Adj_Rltship_Tbl,
11254           X_ln_Price_Attributes_Tbl=> lx_ln_Price_Attributes_Tbl,
11255           X_ln_Payment_Tbl         => lx_ln_Payment_Tbl,
11256           X_ln_Shipment_Tbl        => lx_ln_Shipment_Tbl,
11257           X_ln_Freight_Charge_Tbl  => lx_ln_Freight_Charge_Tbl,
11258           X_ln_Tax_Detail_Tbl      => lx_ln_Tax_Detail_Tbl,
11259           X_Ln_Sales_Credit_Tbl    => lX_Ln_Sales_Credit_Tbl,
11260           X_Ln_Quote_Party_Tbl     => lX_Ln_Quote_Party_Tbl,
11261           X_Return_Status          => x_Return_Status,
11262           X_Msg_Count              => x_Msg_Count,
11263           X_Msg_Data               => x_Msg_Data);
11264 
11265         IF aso_debug_pub.g_debug_flag = 'Y' THEN
11266 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote X_Return_Status:'||X_Return_Status,1,'Y');
11267            aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote X_Msg_Count:'||X_Msg_Count,1,'Y');
11268 	   END IF;
11269 
11270         IF x_return_status = FND_API.G_RET_STS_ERROR then
11271            raise FND_API.G_EXC_ERROR;
11272         elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
11273               raise FND_API.G_EXC_UNEXPECTED_ERROR;
11274         END IF;
11275 
11276         IF aso_debug_pub.g_debug_flag = 'Y' THEN
11277 		 For i in 1..lx_Qte_Line_Tbl.count loop
11278 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote:lx_Qte_Line_Tbl(i).quote_line_id:'
11279 					    ||lx_Qte_Line_Tbl(i).quote_line_id,1,'Y');
11280            End loop;
11281         END IF;
11282 	   x_Qte_Line_Tbl := lx_Qte_Line_Tbl;
11283 	   IF aso_debug_pub.g_debug_flag = 'Y' THEN
11284 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote:Count of x_Qte_Line_Tbl.count:'
11285 					     ||x_Qte_Line_Tbl.count,1,'Y');
11286         END IF;
11287    end If;--l_qte_line_tbl.count > 1
11288 
11289    If l_track_var = 'Y' then
11290 	 If p_control_rec.prg_reprice_mode = 'F' then
11291 
11292       ASO_PRICING_CORE_PVT.Initialize_Global_Tables;
11293 
11294       IF aso_debug_pub.g_debug_flag = 'Y' THEN
11295          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Second call to pricing where just free lines are passed',1,'Y');
11296          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.request_type:'||p_control_rec.request_type,1,'Y');
11297          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.pricing_event:'||p_control_rec.pricing_event,1,'Y');
11298          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_header_rec.quote_header_id:'||p_qte_header_rec.quote_header_id,1,'Y');
11299       END IF;
11300       l_price_index := 1;
11301 
11302 	 ASO_PRICING_CORE_PVT.Print_G_Header_Rec;
11303 
11304 	 QP_Price_Request_Context.Set_Request_Id;
11305 
11306       QP_ATTR_MAPPING_PUB.Build_Contexts (
11307       P_REQUEST_TYPE_CODE          => p_control_rec.request_type,
11308       P_PRICING_TYPE_CODE          => 'H',
11309       P_line_index                 => l_price_index,
11310       P_pricing_event              => p_control_rec.pricing_event,
11311       p_check_line_flag            => 'N',
11312       x_pass_line                  => x_pass_line);
11313 
11314       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11315          aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_pass_line: '||nvl(x_pass_line,'null'),1,'Y');
11316          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Header_To_Request...',1,'Y');
11317       END IF;
11318 
11319       ASO_PRICING_CORE_PVT.Copy_Header_To_Request(
11320        p_Request_Type                   => p_control_rec.request_type,
11321        p_price_line_index               => l_price_index,
11322        px_index_counter                 => 1);
11323 
11324       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11325          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Append_asked_for...',1,'Y');
11326       END IF;
11327 
11328       lx_index_counter:= 1;
11329       ASO_PRICING_CORE_PVT.Append_asked_for(
11330         p_pricing_event                   => p_control_rec.pricing_event,
11331         p_price_line_index                => l_price_index,
11332         p_header_id                       => p_qte_header_rec.quote_header_id,
11333         px_index_counter                  => lx_index_counter);
11334 
11335       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11336          aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Append Ask for lx_index_counter:'
11337                         ||lx_index_counter,1,'Y');
11338       END IF;
11339       --increment the line index
11340       l_price_index:= l_price_index+1;
11341 
11342       -- Header ends here
11343 
11344       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11345          aso_debug_pub.add('************************ HEADER LEVEL ENDS *******************************',1,'Y');
11346          aso_debug_pub.add('  ',1,'Y');
11347          aso_debug_pub.add('************************ LINE LEVEL BEGINS *******************************',1,'Y');
11348          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of ASO UTL PVT Query_Pricing_Line_Rows...',1,'Y');
11349       END IF;
11350 
11351       For i in 1..lx_Qte_Line_Tbl.count loop
11352           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11353              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Query_Qte_Line_Row utility lx_Qte_Line_Tbl(i).quote_line_id:'
11354 						  ||lx_Qte_Line_Tbl(i).quote_line_id,1,'Y');
11355           END IF;
11356           l_qte_line_rec := ASO_UTILITY_PVT.Query_Qte_Line_Row(lx_Qte_Line_Tbl(i).quote_line_id);
11357 
11358           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11359             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Shipment_Rows..',1,'Y');
11360           END IF;
11361           l_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows
11362                                             (p_qte_header_rec.quote_header_id, lx_Qte_Line_Tbl(i).quote_line_id);
11363           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11364             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_shipment_tbl.count :'
11365                                ||NVL(l_shipment_tbl.count,0),1,'Y');
11366           END IF;
11367           IF l_shipment_tbl.count = 1 THEN
11368                l_shipment_rec := l_shipment_tbl(1);
11369           else
11370                l_shipment_rec := ASO_QUOTE_PUB.G_Miss_Shipment_rec;
11371           END IF;
11372 
11373           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11374             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Set_Global_Rec - Line Level...', 1, 'Y');
11375           END IF;
11376           ASO_PRICING_INT.G_LINE_REC := ASO_PRICING_CORE_PVT.Set_Global_Rec (
11377                     p_qte_line_rec               => l_qte_line_rec,
11378                     p_qte_line_dtl_rec           => l_qte_line_dtl_rec,
11379                     p_shipment_rec               => l_shipment_rec);
11380 
11381           ASO_PRICING_CORE_PVT.Print_G_Line_Rec;
11382 
11383           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11384             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of QP Build_Contexts - Line Level...',1,'Y');
11385           END IF;
11386 
11387           QP_ATTR_MAPPING_PUB.Build_Contexts (
11388                     p_request_type_code          => p_control_rec.request_type,
11389                     p_line_index                 => l_price_index,
11390                     p_check_line_flag            => 'N',
11391                     p_pricing_event              => p_control_rec.pricing_event,
11392                     p_pricing_type_code          => 'L',
11393                     p_price_list_validated_flag  => 'N',
11394                     x_pass_line                  => x_pass_line);
11395 
11396           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11397             aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_pass_line: '||nvl(x_pass_line,'null'),1,'Y');
11398             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Line_To_Request...',1,'Y');
11399           END IF;
11400 
11401           ASO_PRICING_CORE_PVT.Copy_Line_To_Request(
11402                p_Request_Type         => p_control_rec.request_type,
11403                p_price_line_index    => l_price_index,
11404                px_index_counter       => i+1);
11405 
11406 
11407           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11408             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Append_asked_for...',1,'Y');
11409             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Append Ask for lx_index_counter:'
11410                                ||lx_index_counter,1,'Y');
11411           END IF;
11412           l_index_counter := lx_index_counter;
11413           ASO_PRICING_CORE_PVT.Append_asked_for(
11414                                p_pricing_event   => p_control_rec.pricing_event,
11415                                p_price_line_index => l_price_index,
11416                                p_header_id       => p_qte_header_rec.quote_header_id,
11417                                p_line_id         => l_qte_line_rec.quote_line_id,
11418                                px_index_counter  => lx_index_counter);
11419           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11420             aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Append Ask for lx_index_counter:'
11421                                ||lx_index_counter,1,'Y');
11422           END IF;
11423           If lx_index_counter = 0 then
11424              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11425                 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Assigning the value of l_index_counter back to lx_index_counter:'
11426                                    || l_index_counter,1,'Y');
11427              END IF;
11428              lx_index_counter := l_index_counter;
11429           end if;
11430 
11431           /*Store all the quote_line_id processed*/
11432           IF l_Qte_Line_id_tbl.EXISTS(1) THEN
11433              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11434                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of l_qte_line_id_tbl.extend...',1,'Y');
11435              END IF;
11436              l_Qte_Line_id_tbl.extend;
11437              l_Qte_Line_id_tbl(l_Qte_Line_id_tbl.count) := lx_Qte_Line_Tbl(i).quote_line_id;
11438            ELSE
11439              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11440                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: First quote_line_id in l_qte_line_id_tbl',1,'Y');
11441              END IF;
11442              l_Qte_Line_id_tbl := JTF_NUMBER_TABLE(lx_Qte_Line_Tbl(i).quote_line_id);
11443           END IF;
11444 
11445           --increment the line index
11446           px_line_index_search_tbl(l_qte_line_rec.quote_line_id) := l_price_index;
11447           l_price_index:= l_price_index+1;
11448 
11449       end loop;--line loop for lx_Qte_Line_Tbl
11450 
11451       /*Need to find OUT  what adjustments and relationships need to be passed*/
11452       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11453         aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Price_Adjustments...',1,'Y');
11454         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_qte_line_id_tbl.count :'
11455                            ||NVL(l_qte_line_id_tbl.count,0),1,'Y');
11456         If NVL(l_qte_line_id_tbl.count,0) > 0 then
11457            For i in 1..l_qte_line_id_tbl.count loop
11458 	          aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_qte_line_id_tbl(i):'||l_qte_line_id_tbl(i),1,'Y');
11459 	      end loop;
11460 	   End If;
11461       END IF;
11462       ASO_PRICING_CORE_PVT.Query_Price_Adj_Line
11463           (p_quote_header_id       => p_qte_header_rec.quote_header_id,
11464            p_qte_line_id_tbl       => l_qte_line_id_tbl,
11465            x_adj_id_tbl            => l_qte_adj_id_tbl);
11466 
11467       /*In the second call we are not going to delete any adjustments and relationships and attributes*/
11468 
11469 
11470       --Need to modify the global index table of pls integer types
11471       l_global_pls_tbl := ASO_PRICING_CORE_PVT.G_LDET_LINE_INDEX_TBL;
11472       ASO_PRICING_CORE_PVT.G_LDET_LINE_INDEX_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_PlsIndex_Table(
11473                                                     p_global_tbl => l_global_pls_tbl,
11474                                                     p_search_tbl => px_line_index_search_tbl);
11475       l_global_num_tbl := ASO_PRICING_CORE_PVT.G_RLTD_LINE_INDEX_TBL;
11476       ASO_PRICING_CORE_PVT.G_RLTD_LINE_INDEX_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_NumIndex_Table(
11477                                                     p_global_tbl => l_global_num_tbl,
11478                                                     p_search_tbl => px_line_index_search_tbl);
11479       l_global_num_tbl := ASO_PRICING_CORE_PVT.G_RLTD_RELATED_LINE_IND_TBL;
11480       ASO_PRICING_CORE_PVT.G_RLTD_RELATED_LINE_IND_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_NumIndex_Table(
11481                                                     p_global_tbl => l_global_num_tbl,
11482                                                     p_search_tbl => px_line_index_search_tbl);
11483 
11484 
11485       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11486          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Populate_QP_Temp_tables...',1,'Y');
11487       END IF;
11488       ASO_PRICING_CORE_PVT.populate_qp_temp_tables;
11489 
11490 
11491       -- Set the control rec for QP
11492 
11493       l_req_control_rec.pricing_event := p_control_rec.pricing_event;
11494       l_req_control_rec.calculate_flag := p_control_rec.calculate_flag;
11495       l_req_control_rec.simulation_flag := p_control_rec.simulation_flag;
11496       l_req_control_rec.TEMP_TABLE_INSERT_FLAG := 'N';  ---- Modified
11497       l_req_control_rec.source_order_amount_flag := 'Y';
11498       l_req_control_rec.GSA_CHECK_FLAG := 'Y';
11499       l_req_control_rec.GSA_DUP_CHECK_FLAG := 'Y';
11500       l_req_control_rec.REQUEST_TYPE_CODE := p_control_rec.request_type;
11501       l_req_control_rec.rounding_flag := 'Q';
11502 
11503       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11504          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of QP_PREQ_PUB.PRICE_REQUEST second implicit call', 1, 'Y');
11505       END IF;
11506 
11507       /*   Change for populating QP_PREQ_GRP.CONTROL_RECORD_TYPE.ORG_ID Yogeshwar  (MOAC) */
11508 
11509 	            l_req_control_rec.ORG_ID :=  p_qte_header_rec.org_id;
11510 
11511      /*				End of Change                                     (MOAC) */
11512 
11513 
11514       QP_PREQ_PUB.PRICE_REQUEST
11515                (p_control_rec           =>l_req_control_rec
11516                ,x_return_status         =>l_return_status
11517                ,x_return_status_Text    =>l_return_status_Text
11518                );
11519       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11520          x_return_status := l_return_status;
11521       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
11522          FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
11523          FND_MESSAGE.Set_Token('MSG_TXT', substr(l_return_status_text, 1,255), FALSE);
11524          FND_MSG_PUB.ADD;
11525       END IF;
11526       RAISE FND_API.G_EXC_ERROR;
11527       END IF;
11528 
11529       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11530        aso_debug_pub.add('ASO_PRICING_CORE_PVT: End of QP_PREQ_PUB.PRICE_REQUEST', 1, 'Y');
11531        aso_debug_pub.add('ASO_PRICING_CORE_PVT: After PRICE_REQUEST l_return_status:'
11532                           ||l_return_status, 1, 'Y');
11533        aso_debug_pub.add('ASO_PRICING_CORE_PVT: After PRICE_REQUEST l_return_status_text '
11534                           ||l_return_status_text,1,'Y');
11535        aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Price_To_Quote...',1,'Y');
11536       END IF;
11537 
11538       ASO_PRICING_CORE_PVT.Copy_Price_To_Quote(
11539           P_Api_Version_Number       => 1.0,
11540           P_Init_Msg_List            => FND_API.G_FALSE,
11541           P_Commit                   => FND_API.G_FALSE,
11542           p_control_rec              => p_control_rec,
11543           p_qte_header_rec           => p_qte_header_rec,
11544           p_insert_type              => 'NO_HDR',
11545           x_return_status            => x_return_status,
11546           x_msg_count                => x_msg_count,
11547           x_msg_data                 => x_msg_data);
11548      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11549        aso_debug_pub.add('ASO_PRICING_FLOWS_PVT: Copy_Price_To_Quote : x_return_status: '
11550                           ||NVL(x_return_status,'X'),1,'Y');
11551      END IF;
11552 
11553    else  --p_control_rec.prg_reprice_mode = 'A'
11554       /* we need to make the second call with all the lines*/
11555 
11556       ASO_PRICING_CORE_PVT.Initialize_Global_Tables;
11557 
11558       IF aso_debug_pub.g_debug_flag = 'Y' THEN
11559          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Second call to pricing where all lines are passed',1,'Y');
11560 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.price_mode:'||p_control_rec.price_mode,1,'Y');
11561       END IF;
11562 	 If (p_control_rec.price_mode = 'ENTIRE_QUOTE') then
11563          ASO_PRICING_FLOWS_PVT.Price_Entire_Quote(
11564              P_Api_Version_Number       => P_Api_Version_Number,
11565              P_Init_Msg_List            => FND_API.G_FALSE,
11566              P_Commit                   => FND_API.G_FALSE,
11567              p_control_rec              => p_control_rec,
11568              p_qte_header_rec           => p_qte_header_rec,
11569              p_qte_line_tbl             => ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl,
11570              p_internal_call_flag       => 'Y',
11571 		   x_Qte_Line_Tbl             => lx_Qte_Line_Tbl,
11572              x_return_status            => x_return_status,
11573              x_msg_count                => x_msg_count,
11574              x_msg_data                 => x_msg_data);
11575       Else
11576 	    /**CHANGE_LINE****/
11577 	   ASO_PRICING_FLOWS_PVT.Price_Quote_With_Change_Lines(
11578             P_Api_Version_Number      => P_Api_Version_Number,
11579             P_Init_Msg_List           => FND_API.G_FALSE,
11580             P_Commit                  => FND_API.G_FALSE,
11581             p_control_rec             => p_control_rec,
11582             p_qte_header_rec          => p_qte_header_rec,
11583             p_qte_line_tbl            => ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl,
11584             p_internal_call_flag      => 'Y',
11585             x_qte_line_tbl            => lx_Qte_Line_Tbl,
11586             x_return_status           => x_return_status,
11587             x_msg_count               => x_msg_count,
11588             x_msg_data                => x_msg_data);
11589       End If;--(p_control_rec.price_mode = 'ENTIRE_QUOTE')
11590 
11591       end if;--p_control_rec.prg_reprice_mode = 'F'
11592 
11593    end if;--l_track_var = 'Y'
11594 
11595 -- Standard check for p_commit
11596 IF FND_API.to_Boolean( p_commit ) THEN
11597       COMMIT WORK;
11598 END IF;
11599 
11600  FND_MSG_PUB.Count_And_Get
11601       ( p_encoded    => 'F',
11602         p_count      =>   x_msg_count,
11603         p_data       =>   x_msg_data
11604       );
11605 
11606 FND_MSG_PUB.Count_And_Get
11607       ( p_encoded    => 'F',
11608         p_count      =>   x_msg_count,
11609         p_data       =>   x_msg_data
11610       );
11611 
11612  for l in 1 ..x_msg_count loop
11613     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
11614     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11615       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
11616       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
11617     END IF;
11618  end loop;
11619 
11620 END Process_PRG;
11621 
11622 
11623 
11624 
11625 End ASO_PRICING_CORE_PVT;