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.18.12020000.2 2012/10/10 11:55:58 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      -- Added for bug 12696699
234     l_header_rec.ATTRIBUTE16 := p_qte_header_rec.ATTRIBUTE16;
235     l_header_rec.ATTRIBUTE17 := p_qte_header_rec.ATTRIBUTE17;
236     l_header_rec.ATTRIBUTE18 := p_qte_header_rec.ATTRIBUTE18;
237     l_header_rec.ATTRIBUTE19 := p_qte_header_rec.ATTRIBUTE19;
238     l_header_rec.ATTRIBUTE20 := p_qte_header_rec.ATTRIBUTE20;
239     --end bug 12696699
240     l_header_rec.PROMISE_DATE := p_shipment_rec.PROMISE_DATE;
241     l_header_rec.REQUEST_DATE := p_shipment_rec.REQUEST_DATE;
242     l_header_rec.SCHEDULE_SHIP_DATE := p_shipment_rec.SCHEDULE_SHIP_DATE;
243     l_header_rec.SHIP_TO_PARTY_SITE_ID := p_shipment_rec.SHIP_TO_PARTY_SITE_ID;
244     l_header_rec.SHIP_TO_PARTY_ID := p_shipment_rec.SHIP_TO_PARTY_ID;
245     l_header_rec.SHIP_PARTIAL_FLAG := p_shipment_rec.SHIP_PARTIAL_FLAG;
246     l_header_rec.SHIP_SET_ID := p_shipment_rec.SHIP_SET_ID;
247     l_header_rec.SHIP_METHOD_CODE := p_shipment_rec.SHIP_METHOD_CODE;
248     l_header_rec.FREIGHT_TERMS_CODE := p_shipment_rec.FREIGHT_TERMS_CODE;
249     l_header_rec.FREIGHT_CARRIER_CODE := p_shipment_rec.FREIGHT_CARRIER_CODE;
250     l_header_rec.FOB_CODE := p_shipment_rec.FOB_CODE;
251     l_header_rec.SHIPPING_INSTRUCTIONS := p_shipment_rec.SHIPPING_INSTRUCTIONS;
252     l_header_rec.PACKING_INSTRUCTIONS := p_shipment_rec.PACKING_INSTRUCTIONS;
253     l_header_rec.EXCHANGE_TYPE_CODE := p_qte_header_rec.EXCHANGE_TYPE_CODE;
254     l_header_rec.EXCHANGE_RATE_DATE := p_qte_header_rec.EXCHANGE_RATE_DATE;
255     l_header_rec.EXCHANGE_RATE := p_qte_header_rec.EXCHANGE_RATE;
256     l_header_rec.MINISITE_ID := p_qte_header_rec.MINISITE_ID;
257     return l_header_rec;
258 END Set_Global_Rec;
259 
260 FUNCTION Set_Global_Rec (
261     p_qte_line_rec        ASO_QUOTE_PUB.Qte_Line_Rec_Type,
262     p_qte_line_dtl_rec    ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type,
263     p_shipment_rec        ASO_QUOTE_PUB.Shipment_Rec_Type)
264 RETURN ASO_PRICING_INT.PRICING_LINE_REC_TYPE
265 IS
266     l_line_rec    ASO_PRICING_INT.PRICING_LINE_REC_TYPE;
267     l_inventory_item_id NUMBER;
268 
269     /*Cursor to obtain the top model inventory item id*/
270     CURSOR C_top_model_item_id(p_config_hdr_id NUMBER, p_rev_num NUMBER) IS
271         SELECT qte.inventory_item_id
272         FROM aso_quote_line_details line_dtl
273              ,aso_quote_lines_all qte
274         WHERE qte.quote_line_id = line_dtl.quote_line_id
275         AND line_dtl.config_header_id = p_config_hdr_id
276         AND line_dtl.config_revision_num = p_rev_num
277         AND line_dtl.ref_type_code = 'CONFIG'
278         AND line_dtl.ref_line_id is null;
279 BEGIN
280     l_line_rec.quote_line_id := p_qte_line_rec.quote_line_id;
281     l_line_rec.CREATION_DATE := p_qte_line_rec.CREATION_DATE;
282     l_line_rec.CREATED_BY := p_qte_line_rec.CREATED_BY;
283     l_line_rec.LAST_UPDATE_DATE := p_qte_line_rec.LAST_UPDATE_DATE;
284     l_line_rec.LAST_UPDATED_BY := p_qte_line_rec.LAST_UPDATED_BY;
285     l_line_rec.LAST_UPDATE_LOGIN := p_qte_line_rec.LAST_UPDATE_LOGIN;
286     l_line_rec.REQUEST_ID := p_qte_line_rec.REQUEST_ID;
287     l_line_rec.PROGRAM_APPLICATION_ID := p_qte_line_rec.PROGRAM_APPLICATION_ID;
288     l_line_rec.PROGRAM_ID := p_qte_line_rec.PROGRAM_ID;
289     l_line_rec.PROGRAM_UPDATE_DATE := p_qte_line_rec.PROGRAM_UPDATE_DATE;
290     l_line_rec.quote_header_id := p_qte_line_rec.quote_header_id;
291     l_line_rec.ORG_ID := p_qte_line_rec.ORG_ID;
292     l_line_rec.LINE_CATEGORY_CODE := p_qte_line_rec.LINE_CATEGORY_CODE;
293     l_line_rec.ITEM_TYPE_CODE := p_qte_line_rec.ITEM_TYPE_CODE;
294     l_line_rec.LINE_NUMBER := p_qte_line_rec.LINE_NUMBER;
295     l_line_rec.START_DATE_ACTIVE := p_qte_line_rec.START_DATE_ACTIVE;
296     l_line_rec.END_DATE_ACTIVE := p_qte_line_rec.END_DATE_ACTIVE;
297     l_line_rec.ORDER_LINE_TYPE_ID := p_qte_line_rec.ORDER_LINE_TYPE_ID;
298     l_line_rec.INVOICE_TO_PARTY_SITE_ID := p_qte_line_rec.INVOICE_TO_PARTY_SITE_ID;
299     -- added for sourcing rule match on 06/06/01
300     If l_line_rec.INVOICE_TO_PARTY_SITE_ID is NULL
301        OR l_line_rec.INVOICE_TO_PARTY_SITE_ID = fnd_api.g_miss_num then
302           l_line_rec.INVOICE_TO_PARTY_SITE_ID := ASO_PRICING_INT.G_HEADER_REC.INVOICE_TO_PARTY_SITE_ID;
303     End if;
304     l_line_rec.INVOICE_TO_PARTY_ID := p_qte_line_rec.INVOICE_TO_PARTY_ID;
305     l_line_rec.ORGANIZATION_ID := p_qte_line_rec.ORGANIZATION_ID;
306     l_line_rec.INVENTORY_ITEM_ID := p_qte_line_rec.INVENTORY_ITEM_ID;
307     l_line_rec.QUANTITY := p_qte_line_rec.QUANTITY;
308     l_line_rec.UOM_CODE := p_qte_line_rec.UOM_CODE;
309     l_line_rec.MARKETING_SOURCE_CODE_ID := p_qte_line_rec.MARKETING_SOURCE_CODE_ID;
310     l_line_rec.PRICE_LIST_ID := p_qte_line_rec.PRICE_LIST_ID;
311     -- added for sourcing rule match on 06/06/01
312     If (l_line_rec.PRICE_LIST_ID is NULL OR l_line_rec.PRICE_LIST_ID = fnd_api.g_miss_num) then
313        l_line_rec.PRICE_LIST_ID := ASO_PRICING_INT.G_HEADER_REC.PRICE_LIST_ID;
314     End If;
315 
316     If (NVL(p_qte_line_rec.PRICING_LINE_TYPE_INDICATOR,'X')  = 'F') then
317         l_line_rec.PRICE_LIST_ID := p_qte_line_rec.priced_price_list_id;
318     End If;
319     l_line_rec.PRICE_LIST_LINE_ID := p_qte_line_rec.PRICE_LIST_LINE_ID;
320     l_line_rec.CURRENCY_CODE := p_qte_line_rec.CURRENCY_CODE;
321     l_line_rec.LINE_LIST_PRICE := p_qte_line_rec.LINE_LIST_PRICE;
322     l_line_rec.LINE_ADJUSTED_AMOUNT := p_qte_line_rec.LINE_ADJUSTED_AMOUNT;
323     l_line_rec.LINE_ADJUSTED_PERCENT := p_qte_line_rec.LINE_ADJUSTED_PERCENT;
324     l_line_rec.LINE_QUOTE_PRICE := p_qte_line_rec.LINE_QUOTE_PRICE;
325     l_line_rec.RELATED_ITEM_ID := p_qte_line_rec.RELATED_ITEM_ID;
326     l_line_rec.ITEM_RELATIONSHIP_TYPE := p_qte_line_rec.ITEM_RELATIONSHIP_TYPE;
327     l_line_rec.ACCOUNTING_RULE_ID := p_qte_line_rec.ACCOUNTING_RULE_ID;
328     l_line_rec.INVOICING_RULE_ID := p_qte_line_rec.INVOICING_RULE_ID;
329     l_line_rec.SPLIT_SHIPMENT_FLAG := p_qte_line_rec.SPLIT_SHIPMENT_FLAG;
330     l_line_rec.BACKORDER_FLAG := p_qte_line_rec.BACKORDER_FLAG;
331     l_line_rec.INVOICE_TO_CUST_PARTY_ID := p_qte_line_rec.INVOICE_TO_CUST_PARTY_ID;
332     l_line_rec.RECALCULATE_FLAG := p_qte_line_rec.RECALCULATE_FLAG;
333     l_line_rec.SELLING_PRICE_CHANGE := p_qte_line_rec.SELLING_PRICE_CHANGE;
334     l_line_rec.PRICING_LINE_TYPE_INDICATOR := p_qte_line_rec.PRICING_LINE_TYPE_INDICATOR;
335     l_line_rec.MINISITE_ID := p_qte_line_rec.MINISITE_ID;
336     l_line_rec.AGREEMENT_ID := p_qte_line_rec.AGREEMENT_ID;
337     If (l_line_rec.AGREEMENT_ID is NULL OR l_line_rec.AGREEMENT_ID = fnd_api.g_miss_num) then
338 	  l_line_rec.AGREEMENT_ID := ASO_PRICING_INT.G_HEADER_REC.CONTRACT_ID;
339     End If;
340     l_line_rec.ATTRIBUTE_CATEGORY := p_qte_line_rec.ATTRIBUTE_CATEGORY;
341     l_line_rec.ATTRIBUTE1 := p_qte_line_rec.ATTRIBUTE1;
342     l_line_rec.ATTRIBUTE2 := p_qte_line_rec.ATTRIBUTE2;
343     l_line_rec.ATTRIBUTE3 := p_qte_line_rec.ATTRIBUTE3;
344     l_line_rec.ATTRIBUTE4 := p_qte_line_rec.ATTRIBUTE4;
345     l_line_rec.ATTRIBUTE5 := p_qte_line_rec.ATTRIBUTE5;
346     l_line_rec.ATTRIBUTE6 := p_qte_line_rec.ATTRIBUTE6;
347     l_line_rec.ATTRIBUTE7 := p_qte_line_rec.ATTRIBUTE7;
348     l_line_rec.ATTRIBUTE8 := p_qte_line_rec.ATTRIBUTE8;
349     l_line_rec.ATTRIBUTE9 := p_qte_line_rec.ATTRIBUTE9;
350     l_line_rec.ATTRIBUTE10 := p_qte_line_rec.ATTRIBUTE10;
351     l_line_rec.ATTRIBUTE11 := p_qte_line_rec.ATTRIBUTE11;
352     l_line_rec.ATTRIBUTE12 := p_qte_line_rec.ATTRIBUTE12;
353     l_line_rec.ATTRIBUTE13 := p_qte_line_rec.ATTRIBUTE13;
354     l_line_rec.ATTRIBUTE14 := p_qte_line_rec.ATTRIBUTE14;
355     l_line_rec.ATTRIBUTE15 := p_qte_line_rec.ATTRIBUTE15;
356     l_line_rec.CHARGE_PERIODICITY_CODE := p_qte_line_rec.CHARGE_PERIODICITY_CODE;
357     l_line_rec.PRICING_QUANTITY_UOM := p_qte_line_rec.PRICING_QUANTITY_UOM;
358     l_line_rec.PRICING_QUANTITY := p_qte_line_rec.PRICING_QUANTITY;
359 
360     l_line_rec.CONFIG_HEADER_ID := p_qte_line_dtl_rec.CONFIG_HEADER_ID;
361     l_line_rec.COMPLETE_CONFIGURATION_FLAG := p_qte_line_dtl_rec.COMPLETE_CONFIGURATION_FLAG;
362     l_line_rec.CONFIG_REVISION_NUM := p_qte_line_dtl_rec.CONFIG_REVISION_NUM;
363     l_line_rec.VALID_CONFIGURATION_FLAG := p_qte_line_dtl_rec.VALID_CONFIGURATION_FLAG;
364     l_line_rec.COMPONENT_CODE := p_qte_line_dtl_rec.COMPONENT_CODE;
365     l_line_rec.SERVICE_COTERMINATE_FLAG := p_qte_line_dtl_rec.SERVICE_COTERMINATE_FLAG;
366     l_line_rec.SERVICE_DURATION := p_qte_line_dtl_rec.SERVICE_DURATION;
367     l_line_rec.SERVICE_UNIT_SELLING_PERCENT := p_qte_line_dtl_rec.SERVICE_UNIT_SELLING_PERCENT;
368     l_line_rec.SERVICE_UNIT_LIST_PERCENT := p_qte_line_dtl_rec.SERVICE_UNIT_LIST_PERCENT;
369     l_line_rec.SERVICE_NUMBER := p_qte_line_dtl_rec.SERVICE_NUMBER;
370     l_line_rec.UNIT_PERCENT_BASE_PRICE := p_qte_line_dtl_rec.UNIT_PERCENT_BASE_PRICE;
371     l_line_rec.SERVICE_PERIOD := p_qte_line_dtl_rec.SERVICE_PERIOD;
372 
373     l_line_rec.PROMISE_DATE := p_shipment_rec.PROMISE_DATE;
374     l_line_rec.REQUEST_DATE := p_shipment_rec.REQUEST_DATE;
375     If l_line_rec.REQUEST_DATE is NULL
376 	  OR l_line_rec.REQUEST_DATE  = fnd_api.g_miss_date then
377 	     l_line_rec.REQUEST_DATE :=  ASO_PRICING_INT.G_HEADER_REC.REQUEST_DATE;
378     End If;
379     l_line_rec.SCHEDULE_SHIP_DATE := p_shipment_rec.SCHEDULE_SHIP_DATE;
380     l_line_rec.SHIP_TO_PARTY_SITE_ID := p_shipment_rec.SHIP_TO_PARTY_SITE_ID;
381     -- added for sourcing rule match on 06/06/01
382     if l_line_rec.SHIP_TO_PARTY_SITE_ID is NULL
383        OR l_line_rec.SHIP_TO_PARTY_SITE_ID =  fnd_api.g_miss_num then
384           l_line_rec.SHIP_TO_PARTY_SITE_ID := ASO_PRICING_INT.G_HEADER_REC.SHIP_TO_PARTY_SITE_ID;
385     End if;
386     l_line_rec.SHIP_TO_PARTY_ID := p_shipment_rec.SHIP_TO_PARTY_ID;
387     l_line_rec.SHIP_PARTIAL_FLAG := p_shipment_rec.SHIP_PARTIAL_FLAG;
388     l_line_rec.SHIP_SET_ID := p_shipment_rec.SHIP_SET_ID;
389     l_line_rec.SHIP_METHOD_CODE := p_shipment_rec.SHIP_METHOD_CODE;
390     -- added for sourcing rule match on 06/06/01
391     If l_line_rec.SHIP_METHOD_CODE is NULL
392        OR l_line_rec.SHIP_METHOD_CODE = fnd_api.g_miss_char then
393           l_line_rec.SHIP_METHOD_CODE := ASO_PRICING_INT.G_HEADER_REC.SHIP_METHOD_CODE;
394     End If;
395     l_line_rec.FREIGHT_TERMS_CODE := p_shipment_rec.FREIGHT_TERMS_CODE;
396     -- added for sourcing rule match on 06/06/01
397     If l_line_rec.FREIGHT_TERMS_CODE is NULL
398        OR l_line_rec.FREIGHT_TERMS_CODE = fnd_api.g_miss_char then
399           l_line_rec.FREIGHT_TERMS_CODE := ASO_PRICING_INT.G_HEADER_REC.FREIGHT_TERMS_CODE;
400     End If;
401     l_line_rec.FREIGHT_CARRIER_CODE := p_shipment_rec.FREIGHT_CARRIER_CODE;
402     If l_line_rec.FREIGHT_CARRIER_CODE  is NULL
403 	   OR l_line_rec.FREIGHT_CARRIER_CODE  = fnd_api.g_miss_char then
404 	      l_line_rec.FREIGHT_CARRIER_CODE :=  ASO_PRICING_INT.G_HEADER_REC.FREIGHT_CARRIER_CODE;
405     End If;
406     l_line_rec.FOB_CODE := p_shipment_rec.FOB_CODE;
407     If l_line_rec.FOB_CODE is NULL
408 	  OR l_line_rec.FOB_CODE  = fnd_api.g_miss_char then
409 		l_line_rec.FOB_CODE := ASO_PRICING_INT.G_HEADER_REC.FOB_CODE;
410     End If;
411     l_line_rec.SHIPPING_INSTRUCTIONS := p_shipment_rec.SHIPPING_INSTRUCTIONS;
412     l_line_rec.PACKING_INSTRUCTIONS := p_shipment_rec.PACKING_INSTRUCTIONS;
413     l_line_rec.SHIPPING_QUANTITY := p_shipment_rec.QUANTITY;
414     l_line_rec.RESERVED_QUANTITY := p_shipment_rec.RESERVED_QUANTITY;
415     l_line_rec.RESERVATION_ID := p_shipment_rec.RESERVATION_ID;
416     l_line_rec.ORDER_LINE_ID := p_shipment_rec.ORDER_LINE_ID;
417     l_line_rec.SHIPMENT_PRIORITY_CODE := p_shipment_rec.SHIPMENT_PRIORITY_CODE;
418     --education change: added to check model id
419     --Changed again to fix the bundle item bug fix: changed to obtain the model via cursor
420     --rather than using the get_top_model_item_id() function.
421     If l_line_rec.MODEL_ID is NULL OR l_line_rec.MODEL_ID =  fnd_api.g_miss_num then
422          OPEN C_top_model_item_id( p_qte_line_dtl_rec.CONFIG_HEADER_ID,
423                                          p_qte_line_dtl_rec.CONFIG_REVISION_NUM);
424          FETCH C_top_model_item_id INTO l_inventory_item_id;
425          CLOSE C_top_model_item_id;
426          l_line_rec.MODEL_ID := l_inventory_item_id;
427     End if;
428 
429      -- bug 12696699
430     l_line_rec.ATTRIBUTE16 := p_qte_line_rec.ATTRIBUTE16;
431     l_line_rec.ATTRIBUTE17 := p_qte_line_rec.ATTRIBUTE17;
432     l_line_rec.ATTRIBUTE18 := p_qte_line_rec.ATTRIBUTE18;
433     l_line_rec.ATTRIBUTE19 := p_qte_line_rec.ATTRIBUTE19;
434     l_line_rec.ATTRIBUTE20 := p_qte_line_rec.ATTRIBUTE20;
435     -- end bug 12696699
436 
437     return l_line_rec;
438 END Set_Global_Rec;
439 
440 -- TSN processing...
441 
442 PROCEDURE PROCESS_HDR_TSN(p_quote_header_id NUMBER) IS
443 
444 CURSOR c_hdr_pyt_exists IS
445 SELECT payment_id
446 FROM   ASO_PAYMENTS
447 WHERE quote_header_id = p_quote_header_id;
448 
449 CURSOR c_hdr_smc_exists IS
450 SELECT shipment_id
451 FROM   ASO_SHIPMENTS
452 WHERE  quote_header_id = p_quote_header_id;
453 
454 CURSOR c_hdr_ftc_exists IS
455 SELECT shipment_id
456 FROM   ASO_SHIPMENTS
457 WHERE  quote_header_id = p_quote_header_id;
458 
459 CURSOR c_hdr_tsn_count  IS
460  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
461         B.SUBSTITUTION_VALUE,
462         b.substitution_attribute, lines.line_id,
463        lines.line_index, A.CREATED_FROM_LIST_LINE_TYPE,a.applied_flag,
464        a.modifier_level_code,a.process_code
465  FROM QP_PREQ_LINES_TMP_T lines,
466       QP_PREQ_LDETS_TMP_T A,
467       QP_LIST_LINES B
468  WHERE lines.line_id = p_quote_header_id
469  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
470  AND (p_quote_header_id IS NOT NULL
471  AND p_quote_header_id <> FND_API.G_MISS_NUM)
472  AND lines.line_index = a.line_index
473  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
474  AND a.applied_flag = G_YES_FLAG
475  AND a.modifier_level_code = G_ORDER_LEVEL
476  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
477  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
478  AND a.PRICING_STATUS_CODE = 'N'
479  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
480 
481 
482 CURSOR c_hdr_pyt_tsn  IS
483  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
484         B.SUBSTITUTION_VALUE
485  FROM QP_PREQ_LINES_TMP_T lines,
486       QP_PREQ_LDETS_TMP_T A,
487       QP_LIST_LINES B,
488       RA_TERMS_B ratv
489  WHERE lines.line_id = p_quote_header_id
490  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
491  AND (p_quote_header_id IS NOT NULL
492  AND p_quote_header_id <> FND_API.G_MISS_NUM)
493  AND lines.line_index = a.line_index
494  AND b.substitution_attribute = G_QUAL_ATTRIBUTE1
495  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
496  AND a.applied_flag = G_YES_FLAG
497  AND a.modifier_level_code = G_ORDER_LEVEL
498  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
499  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
500  AND a.PRICING_STATUS_CODE = 'N'
501  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
502  AND   ratv.term_id = B.SUBSTITUTION_VALUE
503  AND  (TRUNC(sysdate)  BETWEEN NVL(TRUNC(ratv.start_date_active),TRUNC(sysdate))
504                               AND NVL(TRUNC(ratv.end_date_active ), TRUNC(sysdate)));
505 
506 CURSOR c_hdr_smc_tsn  IS
507  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
508         B.SUBSTITUTION_VALUE
509  FROM QP_PREQ_LINES_TMP_T lines,
510       QP_PREQ_LDETS_TMP_T A,
511       QP_LIST_LINES B
512  WHERE lines.line_id = p_quote_header_id
513  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
514  AND (p_quote_header_id IS NOT NULL
515  AND p_quote_header_id <> FND_API.G_MISS_NUM)
516  AND lines.line_index = a.line_index
517  AND b.substitution_attribute = G_QUAL_ATTRIBUTE11
518  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
519  AND a.applied_flag = G_YES_FLAG
520  AND a.modifier_level_code = G_ORDER_LEVEL
521  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
522  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
523  AND a.PRICING_STATUS_CODE = 'N'
524  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
525 
526 
527 CURSOR c_hdr_ftc_tsn IS
528  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B olk) */
529         B.SUBSTITUTION_VALUE
530  FROM QP_PREQ_LINES_TMP_T lines,
531       QP_PREQ_LDETS_TMP_T A,
532       QP_LIST_LINES B,
533       fnd_lookup_values olk
534  WHERE lines.line_id = p_quote_header_id
535  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
536  AND (p_quote_header_id IS NOT NULL
537  AND p_quote_header_id <> FND_API.G_MISS_NUM)
538  AND lines.line_index = a.line_index
539  AND b.substitution_attribute = G_QUAL_ATTRIBUTE10
540  AND A.CREATED_FROM_LIST_LINE_TYPE = G_TERMS_SUBSTITUTION
541  AND a.applied_flag = G_YES_FLAG
542  AND a.modifier_level_code = G_ORDER_LEVEL
543  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
544  AND olk.lookup_type = G_FREIGHT_TERM_LK_TYPE
545  AND olk.enabled_flag = G_YES_FLAG
546  AND olk.lookup_code = B.SUBSTITUTION_VALUE
547  AND (TRUNC(sysdate) BETWEEN NVL(TRUNC(olk.start_date_active),TRUNC( sysdate))
548  AND NVL(TRUNC(olk.end_date_active), TRUNC(sysdate)))
549  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
550  AND a.PRICING_STATUS_CODE = 'N'
551  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
552  and olk.LANGUAGE = USERENV('LANG')
553  and olk.VIEW_APPLICATION_ID = 660
554  and olk.SECURITY_GROUP_ID =0;
555 
556 
557 l_req_payment_term_id     ASO_PAYMENTS.payment_term_id%TYPE;
558 l_req_ship_method_code    ASO_SHIPMENTS.ship_method_code%TYPE;
559 l_req_freight_terms_code  ASO_SHIPMENTS.freight_terms_code%TYPE;
560 
561 l_payment_id         	  ASO_PAYMENTS.payment_id%TYPE;
562 l_shipment_id             ASO_SHIPMENTS.shipment_id%TYPE;
563 l_freight_shipment_id     ASO_SHIPMENTS.shipment_id%TYPE;
564 
565 
566 l_payment_rec             ASO_QUOTE_PUB.payment_rec_type;
567 lx_payment_id             ASO_PAYMENTS.payment_id%TYPE;
568 
569 l_shipment_rec            ASO_QUOTE_PUB.shipment_rec_type;
570 lx_shipment_id            ASO_SHIPMENTS.shipment_id%TYPE;
571 
572 
573 l_freight_rec             ASO_QUOTE_PUB.shipment_rec_type;
574 lx_freight_shipment_id    ASO_SHIPMENTS.shipment_id%TYPE;
575 
576 G_USER_ID   		  NUMBER := FND_GLOBAL.USER_ID;
577 G_LOGIN_ID       	  NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
578 
579 
580 BEGIN
581 
582      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
583         aso_debug_pub.add('ASO_PRICING_CORE_PVT: Hdr TSN Count Starts Here...',1,'Y');
584      	FOR hdr_rec IN c_hdr_tsn_count LOOP
585             --aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_value_to :'||NVL(hdr_rec.substitution_value_to,'null'),1,'Y');
586             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_value :'||NVL(hdr_rec.substitution_value,'null'),1,'Y');
587             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.substitution_attribute :'||NVL(hdr_rec.substitution_attribute ,'null'),1,'Y');
588             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.line_id :'||NVL(hdr_rec.line_id,0),1,'Y');
589             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.line_index :'||NVL(hdr_rec.line_index,0),1,'Y');
590             --aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.list_line_type_code :'||NVL(hdr_rec.list_line_type_code,'null'),1,'Y');
591             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');
592             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.applied_flag :'||NVL(hdr_rec.applied_flag,'null'),1,'Y');
593             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.modifier_level_code :'||NVL(hdr_rec.modifier_level_code,'null'),1,'Y');
594             aso_debug_pub.add('ASO_PRICING_CORE_PVT: hdr_rec.process_code :'||NVL(hdr_rec.process_code,'null'),1,'Y');
595      	END LOOP;
596         aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_HDR_TSN Starts Here...',1,'Y');
597      END IF;
598 
599      OPEN c_hdr_pyt_exists;
600      FETCH c_hdr_pyt_exists INTO l_payment_id;
601      CLOSE c_hdr_pyt_exists;
602      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
603         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_payment_id :'||NVL(l_payment_id,0),1,'Y');
604      END IF;
605 
606      OPEN c_hdr_pyt_tsn;
607      FETCH c_hdr_pyt_tsn INTO l_req_payment_term_id;
608      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
609         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_payment_term_id: '||NVL(l_req_payment_term_id,0),1,'Y');
610      END IF;
611 
612      IF l_req_payment_term_id IS NULL THEN
613         	CLOSE c_hdr_pyt_tsn;
614      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
615            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Payment TSN exists hence update with from value...',1,'Y');
616      		END IF;
617 		IF l_payment_id IS NOT NULL THEN
618         		UPDATE ASO_PAYMENTS
619 		           SET payment_term_id = payment_term_id_from
620 			WHERE  quote_header_id = p_quote_header_id
621 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
622 			AND    quote_line_id IS NULL;
623 		END IF;
624         	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
625         	  aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
626         	END IF;
627 
628     ELSE
629 
630         CLOSE c_hdr_pyt_tsn;
631 
632      	IF l_payment_id IS NULL THEN
633      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
634            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Payment Record Exists...Before Payment Insert Row',1,'Y');
635         	END IF;
636 		lx_PAYMENT_ID  := NULL;
637 		ASO_PAYMENTS_PKG.Insert_Row(
638 	    		px_PAYMENT_ID                  => lx_PAYMENT_ID,
639 	    		p_CREATION_DATE                => SYSDATE,
640 	    		p_CREATED_BY                   => G_USER_ID,
641 	    		p_LAST_UPDATE_DATE	       => sysdate,
642 	    		p_LAST_UPDATED_BY              => G_USER_ID,
643 	    		p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
644 	    		p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
645 	    		p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
646 	    		p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
647 	    		p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
648 	    		p_QUOTE_HEADER_ID              => p_quote_header_id,
649 	    		p_QUOTE_LINE_ID  	       => NULL,
650 	    		p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
651 	    		p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
652 	    		p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
653 	    		p_PAYMENT_TERM_ID              => l_payment_rec.PAYMENT_TERM_ID,
654 	    		p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
655 	    		p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
656 	    		p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
657 	    		p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
658 	    		p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
659 	    		p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
660 	    		p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
661 	    		p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
662 	    		p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
663 	    		p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
664 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
665 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
666 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
667 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
668 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
669 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
670 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
671 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
672 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
673 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
674 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
675 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
676                p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
677 		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
678 			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
679 			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
680 			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
681 				p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
682 	    		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
683             		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
684 				p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
685                         p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
686 				    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
687 	    		);
688 		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
689 		   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
690 		END IF;
691 	END IF; -- l_payment_id is null; Header Payment exists or not check.
692 
693 
694      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
695            aso_debug_pub.add('ASO_PRICING_CORE_PVT: Header Level Payment TSN exists...',1,'Y');
696      	END IF;
697 	IF l_payment_id IS NOT NULL or lx_payment_id IS NOT NULL
698         THEN
699       		UPDATE ASO_PAYMENTS
700 		   SET payment_term_id = l_req_payment_term_id
701 		WHERE  quote_header_id = p_quote_header_id
702 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
703 		AND    quote_line_id IS NULL;
704         END IF;
705 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
706 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
707 	END IF;
708     END IF; -- l_req_payment_term_id IS NULL or not check.
709 
710 
711     OPEN c_hdr_smc_exists;
712     FETCH c_hdr_smc_exists INTO l_shipment_id;
713     CLOSE c_hdr_smc_exists;
714     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
715        aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_shipment_id: '||NVL(l_shipment_id,0),1,'Y');
716     END IF;
717 
718     OPEN c_hdr_smc_tsn;
719     FETCH c_hdr_smc_tsn INTO l_req_ship_method_code;
720     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
721        aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
722     END IF;
723 
724     IF l_req_ship_method_code IS NULL THEN
725 		CLOSE c_hdr_smc_tsn;
726      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
727         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Ship Method Code TSN exists hence update with From value...',1,'Y');
728         	END IF;
729                 IF l_shipment_id IS NOT NULL
730 		THEN
731 			UPDATE ASO_SHIPMENTS aso
732 			   SET aso.ship_method_code = ship_method_code_from
733 			WHERE  quote_header_id = p_quote_header_id
734 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
735 			AND    quote_line_id IS NULL;
736 		END IF;
737      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
738         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
739      		END IF;
740      ELSE
741 	 CLOSE c_hdr_smc_tsn;
742 	 IF l_shipment_id IS NULL THEN
743 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
744 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Shipment Record exists...Before Shipment Insert Rows ',1,'Y');
745 		END IF;
746 
747 		lx_shipment_id := NULL;
748 		ASO_SHIPMENTS_PKG.Insert_Row(
749 			px_SHIPMENT_ID  		=> lx_shipment_id,
750 			p_CREATION_DATE  		=> SYSDATE,
751 			p_CREATED_BY  			=> G_USER_ID,
752 			p_LAST_UPDATE_DATE		=> SYSDATE,
753 			p_LAST_UPDATED_BY  		=> G_USER_ID,
754 			p_LAST_UPDATE_LOGIN  		=> G_LOGIN_ID,
755 			p_REQUEST_ID  			=> l_shipment_rec.REQUEST_ID,
756 			p_PROGRAM_APPLICATION_ID  	=> l_shipment_rec.PROGRAM_APPLICATION_ID,
757 			p_PROGRAM_ID  			=> l_shipment_rec.PROGRAM_ID,
758 			p_PROGRAM_UPDATE_DATE  		=> l_shipment_rec.PROGRAM_UPDATE_DATE,
759 			p_QUOTE_HEADER_ID  		=> p_quote_header_id,
760 			p_QUOTE_LINE_ID  		=> NULL,
761 			p_PROMISE_DATE  		=> l_shipment_rec.PROMISE_DATE,
762 			p_REQUEST_DATE  		=> l_shipment_rec.REQUEST_DATE,
763 			p_SCHEDULE_SHIP_DATE  		=> l_shipment_rec.SCHEDULE_SHIP_DATE,
764 			p_SHIP_TO_PARTY_SITE_ID  	=> l_shipment_rec.SHIP_TO_PARTY_SITE_ID,
765 			p_SHIP_TO_PARTY_ID		=> l_shipment_rec.SHIP_TO_PARTY_ID,
766 			p_SHIP_TO_CUST_ACCOUNT_ID  	=> l_shipment_rec.SHIP_TO_CUST_ACCOUNT_ID,
767 			p_SHIP_PARTIAL_FLAG  		=> l_shipment_rec.SHIP_PARTIAL_FLAG,
768 			p_SHIP_SET_ID  			=> l_shipment_rec.SHIP_SET_ID,
769 			p_SHIP_METHOD_CODE		=> l_shipment_rec.SHIP_METHOD_CODE,
770 			p_FREIGHT_TERMS_CODE  		=> l_shipment_rec.FREIGHT_TERMS_CODE,
771 			p_FREIGHT_CARRIER_CODE  	=> l_shipment_rec.FREIGHT_CARRIER_CODE,
772 			p_FOB_CODE			=> l_shipment_rec.FOB_CODE,
773 			p_SHIPPING_INSTRUCTIONS  	=> l_shipment_rec.SHIPPING_INSTRUCTIONS,
774 			p_PACKING_INSTRUCTIONS  	=> l_shipment_rec.PACKING_INSTRUCTIONS,
775 			p_QUANTITY			=> l_shipment_rec.QUANTITY,
776 			p_RESERVED_QUANTITY  		=> l_shipment_rec.RESERVED_QUANTITY,
777 			p_RESERVATION_ID  		=> l_shipment_rec.RESERVATION_ID,
778 			p_ORDER_LINE_ID  		=> l_shipment_rec.ORDER_LINE_ID,
779 			p_ATTRIBUTE_CATEGORY  		=> l_shipment_rec.ATTRIBUTE_CATEGORY,
780 			p_ATTRIBUTE1  			=> l_shipment_rec.ATTRIBUTE1,
781 			p_ATTRIBUTE2  			=> l_shipment_rec.ATTRIBUTE2,
782 			p_ATTRIBUTE3  			=> l_shipment_rec.ATTRIBUTE3,
783 			p_ATTRIBUTE4  			=> l_shipment_rec.ATTRIBUTE4,
784 			p_ATTRIBUTE5  			=> l_shipment_rec.ATTRIBUTE5,
785 			p_ATTRIBUTE6  			=> l_shipment_rec.ATTRIBUTE6,
786 			p_ATTRIBUTE7  			=> l_shipment_rec.ATTRIBUTE7,
787 			p_ATTRIBUTE8  			=> l_shipment_rec.ATTRIBUTE8,
788 			p_ATTRIBUTE9  			=> l_shipment_rec.ATTRIBUTE9,
789 			p_ATTRIBUTE10 			=> l_shipment_rec.ATTRIBUTE10,
790 			p_ATTRIBUTE11  			=> l_shipment_rec.ATTRIBUTE11,
791 			p_ATTRIBUTE12  			=> l_shipment_rec.ATTRIBUTE12,
792 			p_ATTRIBUTE13  			=> l_shipment_rec.ATTRIBUTE13,
793 			p_ATTRIBUTE14  			=> l_shipment_rec.ATTRIBUTE14,
794 			p_ATTRIBUTE15  			=> l_shipment_rec.ATTRIBUTE15,
795 		     p_ATTRIBUTE16                  =>  l_shipment_rec.ATTRIBUTE16,
796                p_ATTRIBUTE17                  =>  l_shipment_rec.ATTRIBUTE17,
797                p_ATTRIBUTE18                  =>  l_shipment_rec.ATTRIBUTE18,
798                p_ATTRIBUTE19                  =>  l_shipment_rec.ATTRIBUTE19,
799                p_ATTRIBUTE20                  =>  l_shipment_rec.ATTRIBUTE20,
800 			p_SHIPMENT_PRIORITY_CODE 	=> l_shipment_rec.SHIPMENT_PRIORITY_CODE,
801 			p_SHIP_QUOTE_PRICE 		=> l_shipment_rec.SHIP_QUOTE_PRICE,
802 			p_SHIP_FROM_ORG_ID 		=> l_shipment_rec.SHIP_FROM_ORG_ID,
803 			p_SHIP_TO_CUST_PARTY_ID 	=> l_shipment_rec.SHIP_TO_CUST_PARTY_ID,
804 			p_SHIP_METHOD_CODE_FROM     	=> l_shipment_rec.SHIP_METHOD_CODE_FROM,
805 			p_FREIGHT_TERMS_CODE_FROM  	=> l_shipment_rec.FREIGHT_TERMS_CODE_FROM,
806 			p_OBJECT_VERSION_NUMBER       => l_shipment_rec.OBJECT_VERSION_NUMBER,
807 		     p_request_date_type              => l_shipment_rec.request_date_type,
808                p_demand_class_code              => l_shipment_rec.demand_class_code
809 			);
810 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
811 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Shipment Insert Row...Shipment_ID '||NVL(lx_shipment_id,0),1,'Y');
812 		END IF;
813 	 END IF; --l_shipment_id is NULL or not check.
814 
815      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
816             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Header Level Shipment TSN exists...',1,'Y');
817         END IF;
818      	IF l_shipment_id IS NOT NULL or lx_shipment_id IS NOT NULL
819         THEN
820 		UPDATE ASO_SHIPMENTS aso
821 		   SET aso.ship_method_code = l_req_ship_method_code
822 		WHERE  quote_header_id = p_quote_header_id
823 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
824 		AND    quote_line_id IS NULL
825         	AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
826 		       aso.ship_from_org_id, p_quote_header_id, NULL)));
827         END IF;
828      	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
829            aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
830      	END IF;
831      END IF; --l_req_ship_method_code IS NULL or not check.
832 
833      OPEN c_hdr_ftc_exists;
834      FETCH c_hdr_ftc_exists INTO l_freight_shipment_id;
835      CLOSE c_hdr_ftc_exists;
836      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
837         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_freight_shipment_id '||NVL(l_freight_shipment_id,0),1,'Y');
838      END IF;
839 
840      OPEN c_hdr_ftc_tsn;
841      FETCH c_hdr_ftc_tsn INTO l_req_freight_terms_code;
842      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
843         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
844      END IF;
845 
846      IF l_req_freight_terms_code IS NULL THEN
847  		CLOSE c_hdr_ftc_tsn;
848      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
849         	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Header Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
850      		END IF;
851 		IF l_freight_shipment_id IS NOT NULL THEN
852 			UPDATE ASO_SHIPMENTS aso
853 			   SET aso.freight_terms_code = freight_terms_code_from
854 			WHERE  quote_header_id = p_quote_header_id
855 			AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
856 			AND    quote_line_id IS NULL;
857 		END IF;
858     		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
859        		   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
860 		END IF;
861      ELSE
862  	 CLOSE c_hdr_ftc_tsn;
863 
864 	 IF l_freight_shipment_id IS NULL THEN
865 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
866 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Shipment(Freight) Record exists...Before Shipment(Freight) Insert Rows ',1,'Y');
867 		END IF;
868 		lx_freight_shipment_id  := NULL;
869 		ASO_SHIPMENTS_PKG.Insert_Row(
870 			px_SHIPMENT_ID  		=> lx_freight_shipment_id,
871 			p_CREATION_DATE  		=> SYSDATE,
872 			p_CREATED_BY  			=> G_USER_ID,
873 			p_LAST_UPDATE_DATE		=> SYSDATE,
874 			p_LAST_UPDATED_BY  		=> G_USER_ID,
875 			p_LAST_UPDATE_LOGIN  		=> G_LOGIN_ID,
876 			p_REQUEST_ID  			=> l_freight_rec.REQUEST_ID,
877 			p_PROGRAM_APPLICATION_ID  	=> l_freight_rec.PROGRAM_APPLICATION_ID,
878 			p_PROGRAM_ID  			=> l_freight_rec.PROGRAM_ID,
879 			p_PROGRAM_UPDATE_DATE  		=> l_freight_rec.PROGRAM_UPDATE_DATE,
880 			p_QUOTE_HEADER_ID  		=> p_quote_header_id,
881 			p_QUOTE_LINE_ID  		=> NULL,
882 			p_PROMISE_DATE  		=> l_freight_rec.PROMISE_DATE,
883 			p_REQUEST_DATE  		=> l_freight_rec.REQUEST_DATE,
884 			p_SCHEDULE_SHIP_DATE  		=> l_freight_rec.SCHEDULE_SHIP_DATE,
885 			p_SHIP_TO_PARTY_SITE_ID  	=> l_freight_rec.SHIP_TO_PARTY_SITE_ID,
886 			p_SHIP_TO_PARTY_ID		=> l_freight_rec.SHIP_TO_PARTY_ID,
887 			p_SHIP_TO_CUST_ACCOUNT_ID  	=> l_freight_rec.SHIP_TO_CUST_ACCOUNT_ID,
888 			p_SHIP_PARTIAL_FLAG  		=> l_freight_rec.SHIP_PARTIAL_FLAG,
889 			p_SHIP_SET_ID  			=> l_freight_rec.SHIP_SET_ID,
890 			p_SHIP_METHOD_CODE		=> l_freight_rec.SHIP_METHOD_CODE,
891 			p_FREIGHT_TERMS_CODE  		=> l_freight_rec.FREIGHT_TERMS_CODE,
892 			p_FREIGHT_CARRIER_CODE  	=> l_freight_rec.FREIGHT_CARRIER_CODE,
893 			p_FOB_CODE			=> l_freight_rec.FOB_CODE,
894 			p_SHIPPING_INSTRUCTIONS  	=> l_freight_rec.SHIPPING_INSTRUCTIONS,
895 			p_PACKING_INSTRUCTIONS  	=> l_freight_rec.PACKING_INSTRUCTIONS,
896 			p_QUANTITY			=> l_freight_rec.QUANTITY,
897 			p_RESERVED_QUANTITY  		=> l_freight_rec.RESERVED_QUANTITY,
898 			p_RESERVATION_ID  		=> l_freight_rec.RESERVATION_ID,
899 			p_ORDER_LINE_ID  		=> l_freight_rec.ORDER_LINE_ID,
900 			p_ATTRIBUTE_CATEGORY  		=> l_freight_rec.ATTRIBUTE_CATEGORY,
901 			p_ATTRIBUTE1  			=> l_freight_rec.ATTRIBUTE1,
902 			p_ATTRIBUTE2  			=> l_freight_rec.ATTRIBUTE2,
903 			p_ATTRIBUTE3  			=> l_freight_rec.ATTRIBUTE3,
904 			p_ATTRIBUTE4  			=> l_freight_rec.ATTRIBUTE4,
905 			p_ATTRIBUTE5  			=> l_freight_rec.ATTRIBUTE5,
906 			p_ATTRIBUTE6  			=> l_freight_rec.ATTRIBUTE6,
907 			p_ATTRIBUTE7  			=> l_freight_rec.ATTRIBUTE7,
908 			p_ATTRIBUTE8  			=> l_freight_rec.ATTRIBUTE8,
909 			p_ATTRIBUTE9  			=> l_freight_rec.ATTRIBUTE9,
910 			p_ATTRIBUTE10 			=> l_freight_rec.ATTRIBUTE10,
911 			p_ATTRIBUTE11  			=> l_freight_rec.ATTRIBUTE11,
912 			p_ATTRIBUTE12  			=> l_freight_rec.ATTRIBUTE12,
913 			p_ATTRIBUTE13  			=> l_freight_rec.ATTRIBUTE13,
914 			p_ATTRIBUTE14  			=> l_freight_rec.ATTRIBUTE14,
915 			p_ATTRIBUTE15  			=> l_freight_rec.ATTRIBUTE15,
916 		     p_ATTRIBUTE16                  =>  l_freight_rec.ATTRIBUTE16,
917                p_ATTRIBUTE17                  =>  l_freight_rec.ATTRIBUTE17,
918                p_ATTRIBUTE18                  =>  l_freight_rec.ATTRIBUTE18,
919                p_ATTRIBUTE19                  =>  l_freight_rec.ATTRIBUTE19,
920                p_ATTRIBUTE20                  =>  l_freight_rec.ATTRIBUTE20,
921                p_SHIPMENT_PRIORITY_CODE 	=> l_freight_rec.SHIPMENT_PRIORITY_CODE,
922 			p_SHIP_QUOTE_PRICE 		=> l_freight_rec.SHIP_QUOTE_PRICE,
923 			p_SHIP_FROM_ORG_ID 		=> l_freight_rec.SHIP_FROM_ORG_ID,
924 			p_SHIP_TO_CUST_PARTY_ID 	=> l_freight_rec.SHIP_TO_CUST_PARTY_ID,
925 			p_SHIP_METHOD_CODE_FROM     	=> l_freight_rec.SHIP_METHOD_CODE_FROM,
926 			p_FREIGHT_TERMS_CODE_FROM  	=> l_freight_rec.FREIGHT_TERMS_CODE_FROM,
927 			p_OBJECT_VERSION_NUMBER       => l_freight_rec.OBJECT_VERSION_NUMBER,
928 		     p_request_date_type              => l_freight_rec.request_date_type,
929                p_demand_class_code              => l_freight_rec.demand_class_code
930                );
931 	 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
932 	 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Shipment(Freight) Insert Row...Freight_Shipment_ID '||NVL(lx_freight_shipment_id,0),1,'Y');
933 		END IF;
934 	END IF; --l_freight_shipment_id 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: Header Level Freight TSN exists...',1,'Y');
938 	END IF;
939 	IF l_freight_shipment_id IS NOT NULL or lx_freight_shipment_id IS NOT NULL THEN
940 		UPDATE ASO_SHIPMENTS aso
941 		   SET aso.freight_terms_code = l_req_freight_terms_code
942 		WHERE  quote_header_id = p_quote_header_id
943 		AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
944 		AND    quote_line_id IS NULL;
945      	END IF;
946 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
947        	aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
948 	END IF;
949     END IF; --l_req_freight_terms_code IS NULL or NOT check.
950 
951     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
952        aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_HDR_TSN Ends Here...',1,'Y');
953     END IF;
954 END PROCESS_HDR_TSN;
955 
956 PROCEDURE PROCESS_LN_TSN(p_quote_header_id NUMBER, p_insert_type VARCHAR2) IS
957 
958 CURSOR c_qte_lines IS
959 SELECT quote_line_id
960 FROM  ASO_QUOTE_LINES_ALL
961 WHERE quote_header_id = p_quote_header_id;
962 
963 CURSOR c_get_free_lines IS
964 SELECT quote_line_id
965 FROM ASO_QUOTE_LINES_ALL
966 WHERE quote_header_id = p_quote_header_id
967 AND   nvl(pricing_line_type_indicator,'X') = G_FREE_LINE_FLAG;
968 
969 CURSOR c_ln_tsn_count(p_quote_line_id NUMBER)  IS
970  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
971         B.SUBSTITUTION_VALUE,
972         b.substitution_attribute, lines.line_id,
973        lines.line_index, A.CREATED_FROM_LIST_LINE_TYPE,a.applied_flag,
974        a.modifier_level_code,a.process_code
975  FROM QP_PREQ_LINES_TMP_T lines,
976       QP_PREQ_LDETS_TMP_T A,
977       QP_LIST_LINES B
978  WHERE lines.line_id = p_quote_line_id
979  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
980  AND (lines.line_id  IS NOT NULL
981  AND lines.line_id  <> FND_API.G_MISS_NUM)
982  AND lines.line_index = a.line_index
983  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
984  AND a.applied_flag = G_YES_FLAG
985  AND a.modifier_level_code = G_LINE_LEVEL
986  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
987  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
988  AND a.PRICING_STATUS_CODE = 'N'
989  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
990 
991 
992 CURSOR c_ln_smc_tsn (p_quote_line_id NUMBER)  IS
993  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
994         B.SUBSTITUTION_VALUE
995  FROM QP_PREQ_LINES_TMP_T lines,
996       QP_PREQ_LDETS_TMP_T A,
997       QP_LIST_LINES B
998  WHERE lines.line_id = p_quote_line_id
999  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
1000  AND (lines.line_id IS NOT NULL
1001  AND lines.line_id <> FND_API.G_MISS_NUM)
1002  AND lines.line_index = a.line_index
1003  AND b.substitution_attribute = G_QUAL_ATTRIBUTE11
1004  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
1005  AND a.applied_flag = G_YES_FLAG
1006  AND a.modifier_level_code = G_LINE_LEVEL
1007  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
1008  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
1009  AND a.PRICING_STATUS_CODE = 'N'
1010  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1);
1011 
1012 
1013 CURSOR c_ln_ftc_tsn (p_quote_line_id NUMBER) IS
1014  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B olk) */
1015         B.SUBSTITUTION_VALUE
1016  FROM QP_PREQ_LINES_TMP_T lines,
1017       QP_PREQ_LDETS_TMP_T A,
1018       QP_LIST_LINES B,
1019       fnd_lookup_values olk
1020  WHERE lines.line_id = p_quote_line_id
1021  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
1022  AND (lines.line_id IS NOT NULL
1023  AND lines.line_id <> FND_API.G_MISS_NUM)
1024  AND lines.line_index = a.line_index
1025  AND b.substitution_attribute = G_QUAL_ATTRIBUTE10
1026  AND A.CREATED_FROM_LIST_LINE_TYPE = G_TERMS_SUBSTITUTION
1027  AND a.applied_flag = G_YES_FLAG
1028  AND a.modifier_level_code = G_LINE_LEVEL
1029  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
1030  AND olk.lookup_type = G_FREIGHT_TERM_LK_TYPE
1031  AND olk.enabled_flag = G_YES_FLAG
1032  AND olk.lookup_code = B.SUBSTITUTION_VALUE
1033  AND (TRUNC(sysdate) BETWEEN NVL(TRUNC(olk.start_date_active),TRUNC( sysdate))
1034  AND NVL(TRUNC(olk.end_date_active), TRUNC(sysdate)))
1035  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
1036  AND a.PRICING_STATUS_CODE = 'N'
1037  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
1038  and olk.LANGUAGE = USERENV('LANG')
1039  and olk.VIEW_APPLICATION_ID = 660
1040  and olk.SECURITY_GROUP_ID =0;
1041 
1042 l_req_ship_method_code    ASO_SHIPMENTS.ship_method_code%TYPE;
1043 l_req_freight_terms_code  ASO_SHIPMENTS.freight_terms_code%TYPE;
1044 
1045 
1046 
1047 -- Added for Line Level Payment TSN
1048 l_payment_rec             ASO_QUOTE_PUB.payment_rec_type;
1049 lx_payment_id             ASO_PAYMENTS.payment_id%TYPE;
1050 l_payment_id  NUMBER;
1051 l_req_payment_term_id NUMBER;
1052 G_USER_ID   		  NUMBER := FND_GLOBAL.USER_ID;
1053 G_LOGIN_ID       	  NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
1054 
1055 CURSOR c_line_pyt_exists (p_quote_line_id NUMBER) IS
1056 SELECT payment_id
1057 FROM   ASO_PAYMENTS
1058 WHERE quote_header_id = p_quote_header_id
1059 and quote_line_id = p_quote_line_id;
1060 
1061 CURSOR c_line_pyt_tsn(p_quote_line_id NUMBER)  IS
1062  SELECT /*+ LEADING (lines) INDEX (lines, QP_PREQ_LINES_TMP_N1) USE_NL (lines A B ) */
1063         B.SUBSTITUTION_VALUE
1064  FROM QP_PREQ_LINES_TMP_T lines,
1065       QP_PREQ_LDETS_TMP_T A,
1066       QP_LIST_LINES B,
1067       RA_TERMS_B ratv
1068  WHERE lines.line_id = p_quote_line_id
1069  AND lines.REQUEST_ID = nvl(sys_context('QP_CONTEXT','REQUEST_ID'),1)
1070  AND (lines.line_id IS NOT NULL
1071  AND lines.line_id <> FND_API.G_MISS_NUM)
1072  AND lines.line_index = a.line_index
1073  AND b.substitution_attribute = G_QUAL_ATTRIBUTE1
1074  AND A.CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_TERMS_SUBSTITUTION
1075  AND a.applied_flag = G_YES_FLAG
1076  AND a.modifier_level_code = G_LINE_LEVEL
1077  AND a.process_code IN (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_UPDATED)
1078  and a.CREATED_FROM_LIST_LINE_ID = b.LIST_LINE_ID
1079  AND a.PRICING_STATUS_CODE = 'N'
1080  and a.REQUEST_ID = nvl(SYS_CONTEXT('QP_CONTEXT','REQUEST_ID'),1)
1081  AND   ratv.term_id = B.SUBSTITUTION_VALUE
1082  AND  (TRUNC(sysdate)  BETWEEN NVL(TRUNC(ratv.start_date_active),TRUNC(sysdate))
1083                               AND NVL(TRUNC(ratv.end_date_active ), TRUNC(sysdate)));
1084 
1085 
1086 l_substitution_value_to  NUMBER;
1087 
1088 
1089 BEGIN
1090 
1091 	IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1092 			aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start of line tsn p_insert_type: '||p_insert_type,1,'Y');
1093 	END If;
1094      If p_insert_type = 'HDR' Then
1095 
1096         FOR l_qte_ln_rec IN c_qte_lines LOOP
1097           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1098              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');
1099              aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln TSN Count Starts Here...',1,'Y');
1100      	     FOR ln_rec IN c_ln_tsn_count(l_qte_ln_rec.quote_line_id) LOOP
1101                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value_to :'||NVL(ln_rec.substitution_value_to,'null'),1,'Y');
1102                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value :'||NVL(ln_rec.substitution_value,'null'),1,'Y');
1103                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_attribute :'||NVL(ln_rec.substitution_attribute ,'null'),1,'Y');
1104                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_id :'||NVL(ln_rec.line_id,0),1,'Y');
1105                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_index :'||NVL(ln_rec.line_index,0),1,'Y');
1106                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.list_line_type_code :'||NVL(ln_rec.list_line_type_code,'null'),1,'Y');
1107                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');
1108                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.applied_flag :'||NVL(ln_rec.applied_flag,'null'),1,'Y');
1109                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.modifier_level_code :'||NVL(ln_rec.modifier_level_code,'null'),1,'Y');
1110                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.process_code :'||NVL(ln_rec.process_code,'null'),1,'Y');
1111      	     END LOOP;
1112              aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Starts Here...',1,'Y');
1113            END IF;
1114  --Line Level Payment TSN Starts Here
1115             OPEN c_line_pyt_exists(l_qte_ln_rec.quote_line_id);
1116             FETCH c_line_pyt_exists INTO l_payment_id;
1117             CLOSE c_line_pyt_exists;
1118                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1119                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_payment_id :'||NVL(l_payment_id,0),1,'Y');
1120                 END IF;
1121           	     OPen c_line_pyt_tsn(l_qte_ln_rec.quote_line_id);
1122 				fetch c_line_pyt_tsn into l_substitution_value_to;
1123 				close c_line_pyt_tsn;
1124 
1125 
1126                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1127                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_substitution_value_to: '||NVL(l_substitution_value_to,0),1,'Y');
1128                      END IF;
1129 
1130 
1131                     IF l_substitution_value_to IS NULL AND l_payment_id IS NOT NULL THEN
1132 
1133      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1134                	         aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment TSN exists hence update with from value...',1,'Y');
1135                         END IF;
1136 
1137         	               UPDATE ASO_PAYMENTS
1138 		                      SET payment_term_id = payment_term_id_from
1139 			                 WHERE  quote_header_id = p_quote_header_id
1140 			                 AND    quote_line_id = l_qte_ln_rec.quote_line_id;
1141 
1142         	               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1143         	                   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
1144         	               END IF;
1145 
1146                     ELSIF l_substitution_value_to IS NOT NULL AND l_payment_id IS NOT NULL THEN
1147                                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1148         	                       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');
1149         	                   END IF;
1150                             UPDATE ASO_PAYMENTS
1151 		                      SET payment_term_id = l_substitution_value_to
1152 		                      WHERE  quote_header_id = p_quote_header_id
1153                             and quote_line_id = l_qte_ln_rec.quote_line_id;
1154 
1155      	             ELSIF l_payment_id IS NULL AND l_substitution_value_to IS NOT NULL THEN
1156      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1157            	                aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment Record Exists...Before Payment Insert Row',1,'Y');
1158                             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_substitution_value_to'||l_substitution_value_to,1,'Y');
1159         	               END IF;
1160 						   lx_PAYMENT_ID := null;
1161 		                  ASO_PAYMENTS_PKG.Insert_Row(
1162 	    		             px_PAYMENT_ID                  => lx_PAYMENT_ID,
1163 	    		             p_CREATION_DATE                => SYSDATE,
1164 	    		             p_CREATED_BY                   => G_USER_ID,
1165 	    		             p_LAST_UPDATE_DATE	       => sysdate,
1166 	    		             p_LAST_UPDATED_BY              => G_USER_ID,
1167 	    		             p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
1168 	    		             p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
1169 	    		             p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
1170 	    		             p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
1171 	    	              	p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
1172 	    		             p_QUOTE_HEADER_ID              => p_quote_header_id,
1173 	    		             p_QUOTE_LINE_ID  	       => l_qte_ln_rec.quote_line_id,
1174 	    		             p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
1175 	    		             p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
1176 	    		             p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
1177 	    		             p_PAYMENT_TERM_ID              => l_substitution_value_to,
1178 	    		             p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
1179 	    		                 p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
1180 	    		             p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
1181 	    		             p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
1182 	    		             p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
1183 	    		             p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
1184 	    		             p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
1185 	    		             p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
1186 	    		             p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
1187 	    		             p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
1188                 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
1189                 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
1190                 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
1191                 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
1192                 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
1193                 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
1194                 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
1195                 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
1196                 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
1197                 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
1198                 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
1199                 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
1200                                  p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
1201                   		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
1202                   			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
1203                   			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
1204                   			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
1205                   			p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
1206                         		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
1207                         		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
1208                   			p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
1209                               p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
1210                   		    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
1211                   	    		);
1212 		                              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1213 		                                                  aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
1214 		                               END IF;
1215               END IF;
1216 
1217 	      l_req_ship_method_code := NULL;
1218            l_req_freight_terms_code := NULL;
1219 
1220 	   OPEN c_ln_smc_tsn(l_qte_ln_rec.quote_line_id);
1221            FETCH c_ln_smc_tsn INTO l_req_ship_method_code;
1222         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1223               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
1224      	   END IF;
1225 
1226            IF l_req_ship_method_code IS NULL THEN
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: No Line Level Ship Method Code TSN exists hence update with From value...',1,'Y');
1230         	   END IF;
1231 		   UPDATE ASO_SHIPMENTS aso
1232 	   	      SET aso.ship_method_code = ship_method_code_from
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         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1239               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1240 		   END IF;
1241 	   ELSE
1242 	   	   CLOSE c_ln_smc_tsn;
1243      		   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1244            	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Shipment TSN exists...',1,'Y');
1245      		   END IF;
1246 		   UPDATE ASO_SHIPMENTS aso
1247 	   	      SET aso.ship_method_code = l_req_ship_method_code
1248 		   WHERE  aso.quote_header_id = p_quote_header_id
1249 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1250 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1251 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1252 		   AND    aso.quote_line_id IS NOT NULL
1253 	        AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
1254       		       aso.ship_from_org_id, p_quote_header_id, l_qte_ln_rec.quote_line_id)));
1255         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1256            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1257 		   END IF;
1258 	   END IF; -- l_req_ship_method_code IS NULL or NOT check.
1259 
1260 
1261 	   OPEN c_ln_ftc_tsn(l_qte_ln_rec.quote_line_id);
1262            FETCH c_ln_ftc_tsn INTO l_req_freight_terms_code;
1263      	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1264               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
1265      	   END IF;
1266 
1267            IF l_req_freight_terms_code IS NULL THEN
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: No Line Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
1271         	   END IF;
1272 		   UPDATE ASO_SHIPMENTS aso
1273 	   	      SET aso.freight_terms_code = freight_terms_code_from
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 	   ELSE
1283 		   CLOSE c_ln_ftc_tsn;
1284      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1285            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Freight TSN exists...',1,'Y');
1286      		END IF;
1287 		   UPDATE ASO_SHIPMENTS aso
1288 	   	      SET aso.freight_terms_code = l_req_freight_terms_code
1289 		   WHERE  aso.quote_header_id = p_quote_header_id
1290 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1291 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1292 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1293 		   AND    aso.quote_line_id IS NOT NULL;
1294         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1295               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1296         	   END IF;
1297 	   END IF; -- l_req_freight_terms_code IS NULL or not check.
1298 
1299         END LOOP; -- for c_qte_lines.
1300 
1301    Else
1302 	 /*Partial order, repricing the free lines only*/
1303 	 /*We will only change the TSN for the free lines only*/
1304 
1305         FOR l_qte_ln_rec IN c_get_free_lines LOOP
1306           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1307              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');
1308              aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln TSN Count Starts Here...',1,'Y');
1309      	     FOR ln_rec IN c_ln_tsn_count(l_qte_ln_rec.quote_line_id) LOOP
1310                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value_to :'||NVL(ln_rec.substitution_value_to,'null'),1,'Y');
1311                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_value :'||NVL(ln_rec.substitution_value,'null'),1,'Y');
1312                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.substitution_attribute :'||NVL(ln_rec.substitution_attribute ,'null'),1,'Y');
1313                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_id :'||NVL(ln_rec.line_id,0),1,'Y');
1314                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.line_index :'||NVL(ln_rec.line_index,0),1,'Y');
1315                --aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.list_line_type_code :'||NVL(ln_rec.list_line_type_code,'null'),1,'Y');
1316                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');
1317 			aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.applied_flag :'||NVL(ln_rec.applied_flag,'null'),1,'Y');
1318                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.modifier_level_code :'||NVL(ln_rec.modifier_level_code,'null'),1,'Y');
1319                aso_debug_pub.add('ASO_PRICING_CORE_PVT: ln_rec.process_code :'||NVL(ln_rec.process_code,'null'),1,'Y');
1320      	     END LOOP;
1321              aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Starts Here...',1,'Y');
1322            END IF;
1323            --Line level Payment TSN starts here for free good line
1324 
1325             OPEN c_line_pyt_exists(l_qte_ln_rec.quote_line_id);
1326             FETCH c_line_pyt_exists INTO l_payment_id;
1327             CLOSE c_line_pyt_exists;
1328                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1329                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_payment_id :'||NVL(l_payment_id,0),1,'Y');
1330                 END IF;
1331           	     OPen c_line_pyt_tsn(l_qte_ln_rec.quote_line_id);
1332 				fetch c_line_pyt_tsn into l_substitution_value_to;
1333 				close c_line_pyt_tsn;
1334 
1335 
1336                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1337                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Line l_substitution_value_to: '||NVL(l_substitution_value_to,0),1,'Y');
1338                      END IF;
1339 
1340 
1341                     IF l_substitution_value_to IS NULL AND l_payment_id IS NOT NULL THEN
1342 
1343      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1344                	         aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment TSN exists hence update with from value...',1,'Y');
1345                         END IF;
1346 
1347         	               UPDATE ASO_PAYMENTS
1348 		                      SET payment_term_id = payment_term_id_from
1349 			                 WHERE  quote_header_id = p_quote_header_id
1350 			                 AND    quote_line_id = l_qte_ln_rec.quote_line_id;
1351 
1352         	               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1353         	                   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Payment Rows Updated : '||sql%ROWCOUNT,1,'Y');
1354         	               END IF;
1355 
1356                     ELSIF l_substitution_value_to IS NOT NULL AND l_payment_id IS NOT NULL THEN
1357                                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1358         	                       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');
1359         	                   END IF;
1360                             UPDATE ASO_PAYMENTS
1361 		                      SET payment_term_id = l_substitution_value_to
1362 		                      WHERE  quote_header_id = p_quote_header_id
1363                             and quote_line_id = l_qte_ln_rec.quote_line_id;
1364 
1365      	             ELSIF l_payment_id IS NULL AND l_substitution_value_to IS NOT NULL THEN
1366      		             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1367            	                aso_debug_pub.add('ASO_PRICING_CORE_PVT: No Line Level Payment Record Exists...Before Payment Insert Row',1,'Y');
1368                             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_substitution_value_to'||l_substitution_value_to,1,'Y');
1369         	               END IF;
1370 						   lx_PAYMENT_ID := null;
1371 		                  ASO_PAYMENTS_PKG.Insert_Row(
1372 	    		             px_PAYMENT_ID                  => lx_PAYMENT_ID,
1373 	    		             p_CREATION_DATE                => SYSDATE,
1374 	    		             p_CREATED_BY                   => G_USER_ID,
1375 	    		             p_LAST_UPDATE_DATE	       => sysdate,
1376 	    		             p_LAST_UPDATED_BY              => G_USER_ID,
1377 	    		             p_LAST_UPDATE_LOGIN            => G_LOGIN_ID,
1378 	    		             p_REQUEST_ID                   => l_payment_rec.REQUEST_ID,
1379 	    		             p_PROGRAM_APPLICATION_ID       => l_payment_rec.PROGRAM_APPLICATION_ID,
1380 	    		             p_PROGRAM_ID                   => l_payment_rec.PROGRAM_ID,
1381 	    	              	p_PROGRAM_UPDATE_DATE          => l_payment_rec.PROGRAM_UPDATE_DATE,
1382 	    		             p_QUOTE_HEADER_ID              => p_quote_header_id,
1383 	    		             p_QUOTE_LINE_ID  	       => l_qte_ln_rec.quote_line_id,
1384 	    		             p_PAYMENT_TYPE_CODE            => l_payment_rec.PAYMENT_TYPE_CODE,
1385 	    		             p_PAYMENT_REF_NUMBER           => l_payment_rec.PAYMENT_REF_NUMBER,
1386 	    		             p_PAYMENT_OPTION               => l_payment_rec.PAYMENT_OPTION,
1387 	    		             p_PAYMENT_TERM_ID              => l_substitution_value_to,
1388 	    		             p_CREDIT_CARD_CODE	       => l_payment_rec.CREDIT_CARD_CODE,
1389 	    		                 p_CREDIT_CARD_HOLDER_NAME      => l_payment_rec.CREDIT_CARD_HOLDER_NAME,
1390 	    		             p_CREDIT_CARD_EXPIRATION_DATE  => l_payment_rec.CREDIT_CARD_EXPIRATION_DATE,
1391 	    		             p_CREDIT_CARD_APPROVAL_CODE    => l_payment_rec.CREDIT_CARD_APPROVAL_CODE,
1392 	    		             p_CREDIT_CARD_APPROVAL_DATE    => l_payment_rec.CREDIT_CARD_APPROVAL_DATE,
1393 	    		             p_PAYMENT_AMOUNT               => l_payment_rec.PAYMENT_AMOUNT,
1394 	    		             p_ATTRIBUTE_CATEGORY           => l_payment_rec.ATTRIBUTE_CATEGORY,
1395 	    		             p_ATTRIBUTE1                   => l_payment_rec.ATTRIBUTE1,
1396 	    		             p_ATTRIBUTE2                   => l_payment_rec.ATTRIBUTE2,
1397 	    		             p_ATTRIBUTE3                   => l_payment_rec.ATTRIBUTE3,
1398                 	    		p_ATTRIBUTE4                   => l_payment_rec.ATTRIBUTE4,
1399                 	    		p_ATTRIBUTE5                   => l_payment_rec.ATTRIBUTE5,
1400                 	    		p_ATTRIBUTE6                   => l_payment_rec.ATTRIBUTE6,
1401                 	    		p_ATTRIBUTE7                   => l_payment_rec.ATTRIBUTE7,
1402                 	    		p_ATTRIBUTE8                   => l_payment_rec.ATTRIBUTE8,
1403                 	    		p_ATTRIBUTE9                   => l_payment_rec.ATTRIBUTE9,
1404                 	    		p_ATTRIBUTE10                  => l_payment_rec.ATTRIBUTE10,
1405                 	    		p_ATTRIBUTE11                  => l_payment_rec.ATTRIBUTE11,
1406                 	    		p_ATTRIBUTE12                  => l_payment_rec.ATTRIBUTE12,
1407                 	    		p_ATTRIBUTE13                  => l_payment_rec.ATTRIBUTE13,
1408                 	    		p_ATTRIBUTE14                  => l_payment_rec.ATTRIBUTE14,
1409                 	    		p_ATTRIBUTE15                  => l_payment_rec.ATTRIBUTE15,
1410                                  p_ATTRIBUTE16                  => l_payment_rec.ATTRIBUTE16,
1411                   		     p_ATTRIBUTE17                  => l_payment_rec.ATTRIBUTE17,
1412                   			p_ATTRIBUTE18                  => l_payment_rec.ATTRIBUTE18,
1413                   			p_ATTRIBUTE19                  => l_payment_rec.ATTRIBUTE19,
1414                   			p_ATTRIBUTE20                  => l_payment_rec.ATTRIBUTE20,
1415                   			p_QUOTE_SHIPMENT_ID            => l_payment_rec.QUOTE_SHIPMENT_ID,
1416                         		p_CUST_PO_NUMBER               => l_payment_rec.CUST_PO_NUMBER,
1417                         		p_PAYMENT_TERM_ID_FROM         => l_payment_rec.PAYMENT_TERM_ID_FROM,
1418                   			p_OBJECT_VERSION_NUMBER   => l_payment_rec.OBJECT_VERSION_NUMBER,
1419                               p_CUST_PO_LINE_NUMBER   => l_payment_rec.CUST_PO_LINE_NUMBER, -- Line Payments Change
1420                   		    p_TRXN_EXTENSION_ID    => l_payment_rec.TRXN_EXTENSION_ID
1421                   	    		);
1422 		                              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1423 		                                                  aso_debug_pub.add('ASO_PRICING_CORE_PVT: After Payment Insert Row...Payment_ID :'||NVL(lx_payment_id,0),1,'Y');
1424 		                               END IF;
1425               END IF;
1426 
1427 	      l_req_ship_method_code := NULL;
1428            l_req_freight_terms_code := NULL;
1429 
1430 	   OPEN c_ln_smc_tsn(l_qte_ln_rec.quote_line_id);
1431            FETCH c_ln_smc_tsn INTO l_req_ship_method_code;
1432         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1433               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_ship_method_code: '||NVL(l_req_ship_method_code,0),1,'Y');
1434      	   END IF;
1435 
1436            IF l_req_ship_method_code IS NULL THEN
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: No Line Level Ship Method Code TSN exists hence update with From value...',1,'Y');
1440         	   END IF;
1441 		   UPDATE ASO_SHIPMENTS aso
1442 	   	      SET aso.ship_method_code = ship_method_code_from
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         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1449               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1450 		   END IF;
1451 	   ELSE
1452 	   	   CLOSE c_ln_smc_tsn;
1453      		   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1454            	      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Shipment TSN exists...',1,'Y');
1455      		   END IF;
1456 		   UPDATE ASO_SHIPMENTS aso
1457 	   	      SET aso.ship_method_code = l_req_ship_method_code
1458 		   WHERE  aso.quote_header_id = p_quote_header_id
1459 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1460 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1461 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1462 		   AND    aso.quote_line_id IS NOT NULL
1463 	        AND   ('S' = (ASO_VALIDATE_PVT.Validate_ShipMethods('T', l_req_ship_method_code,
1464       		       aso.ship_from_org_id, p_quote_header_id, l_qte_ln_rec.quote_line_id)));
1465         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1466            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Ship Method Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1467 		   END IF;
1468 	   END IF; -- l_req_ship_method_code IS NULL or NOT check.
1469 
1470 
1471 	   OPEN c_ln_ftc_tsn(l_qte_ln_rec.quote_line_id);
1472            FETCH c_ln_ftc_tsn INTO l_req_freight_terms_code;
1473      	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1474               aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_req_freight_terms_code: '||NVL(l_req_freight_terms_code,0),1,'Y');
1475      	   END IF;
1476 
1477            IF l_req_freight_terms_code IS NULL THEN
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: No Line Level Freight Terms Code TSN exists hence update with From value...',1,'Y');
1481         	   END IF;
1482 		   UPDATE ASO_SHIPMENTS aso
1483 	   	      SET aso.freight_terms_code = freight_terms_code_from
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 	   ELSE
1493 		   CLOSE c_ln_ftc_tsn;
1494      		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1495            	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Line Level Freight TSN exists...',1,'Y');
1496      		END IF;
1497 		   UPDATE ASO_SHIPMENTS aso
1498 	   	      SET aso.freight_terms_code = l_req_freight_terms_code
1499 		   WHERE  aso.quote_header_id = p_quote_header_id
1500 		   AND    (p_quote_header_id IS NOT NULL AND p_quote_header_id <> FND_API.G_MISS_NUM)
1501 		   AND    aso.quote_line_id = l_qte_ln_rec.quote_line_id
1502 		   AND    (l_qte_ln_rec.quote_line_id IS NOT NULL AND l_qte_ln_rec.quote_line_id <> FND_API.G_MISS_NUM)
1503 		   AND    aso.quote_line_id IS NOT NULL;
1504         	   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1505               	   aso_debug_pub.add('ASO_PRICING_CORE_PVT: No of Freight Terms Code Rows Updated : '||sql%ROWCOUNT,1,'Y');
1506         	   END IF;
1507 	   END IF; -- l_req_freight_terms_code IS NULL or not check.
1508 
1509 	   END LOOP; -- for c_get_free_lines
1510 
1511 
1512    End If;--If p_insert_type = 'HDR'
1513 
1514         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1515            aso_debug_pub.add('ASO_PRICING_CORE_PVT: PROCESS_LN_TSN Ends Here...',1,'Y');
1516         END IF;
1517 END PROCESS_LN_TSN;
1518 
1519 -- The above two procedures are for TSN processing...
1520 
1521 PROCEDURE Print_G_Header_Rec
1522 AS
1523 BEGIN
1524        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1525          aso_debug_pub.add('**********Start Header Level Information available to Price Request***********',1,'Y');
1526          aso_debug_pub.add('QUOTE_HEADER_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_HEADER_ID),'NULL'),1,'Y');
1527          aso_debug_pub.add('QUOTE_NAME:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_NAME,'NULL'),1,'Y');
1528          aso_debug_pub.add('QUOTE_NUMBER:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_NUMBER),'NULL'),1,'Y');
1529          aso_debug_pub.add('QUOTE_VERSION:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_VERSION),'NULL'),1,'Y');
1530          aso_debug_pub.add('QUOTE_STATUS_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_STATUS_ID),'NULL'),1,'Y');
1531          aso_debug_pub.add('QUOTE_SOURCE_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_SOURCE_CODE,'NULL'),1,'Y');
1532          aso_debug_pub.add('QUOTE_EXPIRATION_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.QUOTE_EXPIRATION_DATE),'NULL'),1,'Y');
1533          aso_debug_pub.add('PRICE_FROZEN_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE),'NULL'),1,'Y');
1534          aso_debug_pub.add('CUST_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CUST_PARTY_ID),'NULL'),1,'Y');
1535          aso_debug_pub.add('PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PARTY_ID),'NULL'),1,'Y');
1536          aso_debug_pub.add('CUST_ACCOUNT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CUST_ACCOUNT_ID),'NULL'),1,'Y');
1537          aso_debug_pub.add('ORG_CONTACT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORG_CONTACT_ID),'NULL'),1,'Y');
1538          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');
1539          aso_debug_pub.add('INVOICE_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.INVOICE_TO_PARTY_ID),'NUll'),1,'Y');
1540          aso_debug_pub.add('ORDER_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORDER_TYPE_ID),'NULL'),1,'Y');
1541          aso_debug_pub.add('QUOTE_CATEGORY_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.QUOTE_CATEGORY_CODE,'NULL'),1,'Y');
1542          aso_debug_pub.add('ORDERED_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.ORDERED_DATE),'NULL'),1,'Y');
1543          aso_debug_pub.add('PRICE_LIST_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.PRICE_LIST_ID),'NULL'),1,'Y');
1544          aso_debug_pub.add('CURRENCY_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.CURRENCY_CODE,'NULL'),1,'Y');
1545          aso_debug_pub.add('TOTAL_LIST_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.TOTAL_LIST_PRICE),'NULL'),1,'Y');
1546          aso_debug_pub.add('TOTAL_QUOTE_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.TOTAL_QUOTE_PRICE),'NULL'),1,'Y');
1547          aso_debug_pub.add('CONTRACT_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.CONTRACT_ID),'NULL'),1,'Y');
1548          aso_debug_pub.add('SALES_CHANNEL_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.SALES_CHANNEL_CODE,'NULL'),1,'Y');
1549          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');
1550          aso_debug_pub.add('SHIP_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.SHIP_TO_PARTY_ID),'NULL'),1,'Y');
1551          aso_debug_pub.add('SHIP_METHOD_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.SHIP_METHOD_CODE,'NULL'),1,'Y');
1552          aso_debug_pub.add('FREIGHT_TERMS_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FREIGHT_TERMS_CODE,'NULL'),1,'Y');
1553          aso_debug_pub.add('FREIGHT_CARRIER_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FREIGHT_CARRIER_CODE,'NULL'),1,'Y');
1554          aso_debug_pub.add('FOB_CODE:'||nvl(ASO_PRICING_INT.G_HEADER_REC.FOB_CODE,'NULL'),1,'Y');
1555          aso_debug_pub.add('REQUEST_DATE:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.REQUEST_DATE),'NULL'),1,'Y');
1556          aso_debug_pub.add('RECALCULATE_FLAG:'||nvl(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'NULL'),1,'Y');
1557          aso_debug_pub.add('MINISITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_HEADER_REC.MINISITE_ID),'NULL'),1,'Y');
1558          aso_debug_pub.add('**********End Header Level Information available to Price Request***********',1,'Y');
1559        END IF;
1560 
1561 END Print_G_Header_Rec;
1562 
1563 PROCEDURE Print_G_Line_Rec
1564 AS
1565 BEGIN
1566        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1567          aso_debug_pub.add('**********Start Line Level Information available to Price Request***********',1,'Y');
1568          aso_debug_pub.add('QUOTE_HEADER_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUOTE_HEADER_ID),'NULL'),1,'Y');
1569          aso_debug_pub.add('QUOTE_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUOTE_LINE_ID),'NULL'),1,'Y');
1570          aso_debug_pub.add('LINE_CATEGORY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE,'NULL'),1,'Y');
1571          aso_debug_pub.add('ITEM_TYPE_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.ITEM_TYPE_CODE,'NULL'),1,'Y');
1572          aso_debug_pub.add('ORDER_LINE_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.ORDER_LINE_TYPE_ID),'NULL'),1,'Y');
1573          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');
1574          aso_debug_pub.add('INVOICE_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.INVOICE_TO_PARTY_ID),'NULL'),1,'Y');
1575          aso_debug_pub.add('INVENTORY_ITEM_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.INVENTORY_ITEM_ID),'NULL'),1,'Y');
1576          aso_debug_pub.add('QUANTITY:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.QUANTITY),'NULL'),1,'Y');
1577          aso_debug_pub.add('ORDER_LINE_TYPE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.ORDER_LINE_TYPE_ID),'NULL'),1,'Y');
1578          aso_debug_pub.add('UOM_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.UOM_CODE,'NULL'),1,'Y');
1579          aso_debug_pub.add('PRICE_LIST_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICE_LIST_ID),'NULL'),1,'Y');
1580          aso_debug_pub.add('PRICE_LIST_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICE_LIST_LINE_ID),'NULL'),1,'Y');
1581          aso_debug_pub.add('CURRENCY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.CURRENCY_CODE,'NULL'),1,'Y');
1582          aso_debug_pub.add('LINE_LIST_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_LIST_PRICE),'NULL'),1,'Y');
1583          aso_debug_pub.add('LINE_ADJUSTED_AMOUNT:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_ADJUSTED_AMOUNT),'NULL'),1,'Y');
1584          aso_debug_pub.add('LINE_ADJUSTED_PERCENT:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_ADJUSTED_PERCENT),'NULL'),1,'Y');
1585          aso_debug_pub.add('LINE_QUOTE_PRICE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.LINE_QUOTE_PRICE),'NULL'),1,'Y');
1586          aso_debug_pub.add('RELATED_ITEM_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.RELATED_ITEM_ID),'NULL'),1,'Y');
1587          aso_debug_pub.add('ITEM_RELATIONSHIP_TYPE:'||nvl(ASO_PRICING_INT.G_LINE_REC.ITEM_RELATIONSHIP_TYPE,'NULL'),1,'Y');
1588          aso_debug_pub.add('MODEL_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.MODEL_ID),'NULL'),1,'Y');
1589          aso_debug_pub.add('SERVICE_REF_LINE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.SERVICE_REF_LINE_ID),'NULL'),1,'Y');
1590          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');
1591          aso_debug_pub.add('SHIP_TO_PARTY_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.SHIP_TO_PARTY_ID),'NULL'),1,'Y');
1592          aso_debug_pub.add('SHIP_METHOD_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.SHIP_METHOD_CODE,'NULL'),1,'Y');
1593          aso_debug_pub.add('FREIGHT_TERMS_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FREIGHT_TERMS_CODE,'NULL'),1,'Y');
1594          aso_debug_pub.add('FREIGHT_CARRIER_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FREIGHT_CARRIER_CODE,'NULL'),1,'Y');
1595          aso_debug_pub.add('FOB_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.FOB_CODE,'NULL'),1,'Y');
1596          aso_debug_pub.add('REQUEST_DATE:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.REQUEST_DATE),'NULL'),1,'Y');
1597          aso_debug_pub.add('AGREEMENT_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.AGREEMENT_ID),'NULL'),1,'Y');
1598          aso_debug_pub.add('SELLING_PRICE_CHANGE:'||nvl(ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE,'NULL'),1,'Y');
1599          aso_debug_pub.add('RECALCULATE_FLAG:'||nvl(ASO_PRICING_INT.G_LINE_REC.RECALCULATE_FLAG,'NULL'),1,'Y');
1600          aso_debug_pub.add('PRICING_LINE_TYPE_INDICATOR:'||nvl(ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR,'NULL'),1,'Y');
1601          aso_debug_pub.add('MINISITE_ID:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.MINISITE_ID),'NULL'),1,'Y');
1602          aso_debug_pub.add('CHARGE_PERIODICITY_CODE:'||nvl(ASO_PRICING_INT.G_LINE_REC.CHARGE_PERIODICITY_CODE,'NULL'),1,'Y');
1603          aso_debug_pub.add('PRICING_QUANTITY_UOM:'||nvl(ASO_PRICING_INT.G_LINE_REC.PRICING_QUANTITY_UOM,'NULL'),1,'Y');
1604          aso_debug_pub.add('PRICING_QUANTITY:'||nvl(to_char(ASO_PRICING_INT.G_LINE_REC.PRICING_QUANTITY),'NULL'),1,'Y');
1605          aso_debug_pub.add('**********End Line Level Information available to Price Request***********',1,'Y');
1606        END IF;
1607 
1608 END Print_G_Line_Rec;
1609 
1610 
1611 /*New Append_ask_for to use direct insert*/
1612 PROCEDURE  Append_Asked_For(
1613         p_pricing_event                        varchar2
1614 	  ,p_price_line_index                     NUMBER
1615        ,p_header_id                            number := null
1616        ,p_Line_id                              number := null
1617        ,px_index_counter         IN OUT NOCOPY /* file.sql.39 change */ number)
1618 IS
1619 
1620 cursor asked_for_cur is
1621     select flex_title, pricing_context, pricing_attribute1,
1622     pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
1623     pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
1624     pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
1625     pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
1626     pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
1627     pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
1628     pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
1629     pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
1630     pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
1631     pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
1632     pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
1633     pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
1634     pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
1635     pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
1636     pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
1637     pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
1638     pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
1639     pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
1640     pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
1641     pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
1642     pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
1643     pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
1644     pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
1645     pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
1646     pricing_attribute98 , pricing_attribute99 , pricing_attribute100
1647     ,Override_Flag
1648     from aso_price_attributes a
1649     where  a.QUOTE_HEADER_ID = p_header_id
1650     and p_header_id is not null
1651     and a.quote_line_id is null
1652     /*
1653      * New Code - Union is changed to union all
1654      */
1655   UNION ALL
1656     select flex_title, pricing_context, pricing_attribute1,
1657     pricing_attribute2 , pricing_attribute3 , pricing_attribute4 , pricing_attribute5 ,
1658     pricing_attribute6 , pricing_attribute7 , pricing_attribute8 , pricing_attribute9 ,
1659     pricing_attribute10 , pricing_attribute11 , pricing_attribute12 , pricing_attribute13 ,
1660     pricing_attribute14 , pricing_attribute15 , pricing_attribute16 , pricing_attribute17 ,
1661     pricing_attribute18 , pricing_attribute19 , pricing_attribute20 , pricing_attribute21 ,
1662     pricing_attribute22 , pricing_attribute23 , pricing_attribute24 , pricing_attribute25 ,
1663     pricing_attribute26 , pricing_attribute27 , pricing_attribute28 , pricing_attribute29 ,
1664     pricing_attribute30 , pricing_attribute31 , pricing_attribute32 , pricing_attribute33 ,
1665     pricing_attribute34 , pricing_attribute35 , pricing_attribute36 , pricing_attribute37 ,
1666     pricing_attribute38 , pricing_attribute39 , pricing_attribute40 , pricing_attribute41 ,
1667     pricing_attribute42 , pricing_attribute43 , pricing_attribute44 , pricing_attribute45 ,
1668     pricing_attribute46 , pricing_attribute47 , pricing_attribute48 , pricing_attribute49 ,
1669     pricing_attribute50 , pricing_attribute51 , pricing_attribute52 , pricing_attribute53 ,
1670     pricing_attribute54 , pricing_attribute55 , pricing_attribute56 , pricing_attribute57 ,
1671     pricing_attribute58 , pricing_attribute59 , pricing_attribute60 , pricing_attribute61 ,
1672     pricing_attribute62 , pricing_attribute63 , pricing_attribute64 , pricing_attribute65 ,
1673     pricing_attribute66 , pricing_attribute67 , pricing_attribute68 , pricing_attribute69 ,
1674     pricing_attribute70 , pricing_attribute71 , pricing_attribute72 , pricing_attribute73 ,
1675     pricing_attribute74 , pricing_attribute75 , pricing_attribute76 , pricing_attribute77 ,
1676     pricing_attribute78 , pricing_attribute79 , pricing_attribute80 , pricing_attribute81 ,
1677     pricing_attribute82 , pricing_attribute83 , pricing_attribute84 , pricing_attribute85 ,
1678     pricing_attribute86 , pricing_attribute87 , pricing_attribute88 , pricing_attribute89 ,
1679     pricing_attribute90 , pricing_attribute91 , pricing_attribute92 , pricing_attribute93 ,
1680     pricing_attribute94 , pricing_attribute95 , pricing_attribute96 , pricing_attribute97 ,
1681     pricing_attribute98 , pricing_attribute99 , pricing_attribute100
1682     ,Override_Flag
1683     FROM ASO_PRICE_ATTRIBUTES a
1684     WHERE a.quote_header_id = p_header_id
1685     AND a.QUOTE_line_id = p_line_id
1686     AND p_line_id IS NOT NULL;
1687 
1688     l_counter NUMBER := 0;
1689     l_line_index   NUMBER;
1690 
1691 begin
1692     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1693       aso_debug_pub.add('ASO_PRICING_CORE_PVT: In Direct Insert Append_Asked_for',1,'Y');
1694       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Direct Insert Append_Ask_for - Global_Header_Rec.quote_status_id:'
1695                          ||ASO_PRICING_INT.G_HEADER_REC.quote_status_id,1,'Y');
1696     END IF;
1697 
1698     l_line_index := p_price_line_index;
1699 
1700     l_counter := px_index_counter;
1701     for asked_for_rec in asked_for_cur loop
1702         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1703           aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_CONTEXT:'
1704                              ||asked_for_rec.PRICING_CONTEXT,1,'Y');
1705           aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.flex_title:'
1706                              ||asked_for_rec.flex_title,1,'Y');
1707         END IF;
1708 
1709         If asked_for_rec.flex_title = 'QP_ATTR_DEFNS_PRICING' then
1710            if asked_for_rec.PRICING_ATTRIBUTE1 is not null then
1711               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1712                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE1:'
1713                                    ||asked_for_rec.PRICING_ATTRIBUTE1,1,'Y');
1714               END IF;
1715 
1716               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1717               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1718               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1719               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1720               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1721                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1722               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1723                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1724               ELSE
1725                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1726               END IF;
1727               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1728               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE1';
1729               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1730               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1731               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1732               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1733               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1734               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE1;
1735               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1736               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1737               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1738               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1739               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1740               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1741               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1742               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1743               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1744               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1745               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1746               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1747               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1748               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1749               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1750               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1751               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1752 		    l_counter := l_counter + 1;
1753 
1754            end if;
1755         if asked_for_rec.PRICING_ATTRIBUTE2 is not null then
1756               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1757                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE2:'
1758                                    ||asked_for_rec.PRICING_ATTRIBUTE2,1,'Y');
1759               END IF;
1760 
1761               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1762               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1763               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1764               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1765               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1766                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1767               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1768                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1769               ELSE
1770                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1771               END IF;
1772               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1773               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE2';
1774               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1775               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1776               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1777               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1778               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1779               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE2;
1780               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1781               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1782               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1783               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1784               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1785               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1786               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1787               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1788               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1789               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1790               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1791               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1792               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1793               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1794               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1795               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1796               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1797 		    l_counter := l_counter + 1;
1798 
1799         end if;
1800         if asked_for_rec.PRICING_ATTRIBUTE3 is not null then
1801               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1802                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE3:'
1803                                    ||asked_for_rec.PRICING_ATTRIBUTE3,1,'Y');
1804               END IF;
1805 
1806               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1807               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1808               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1809               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1810               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1811                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1812               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1813                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1814               ELSE
1815                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1816               END IF;
1817               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1818               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE3';
1819               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1820               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1821               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1822               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1823               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1824               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE3;
1825               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1826               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1827               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1828               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1829               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1830               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1831               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1832               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1833               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1834               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1835               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1836               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1837               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1838               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1839               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1840               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1841               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1842 		    l_counter := l_counter + 1;
1843 
1844         end if;
1845         if asked_for_rec.PRICING_ATTRIBUTE4 is not null then
1846               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1847                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE4:'
1848                                    ||asked_for_rec.PRICING_ATTRIBUTE4,1,'Y');
1849               END IF;
1850 
1851               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1852               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1853               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1854               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1855               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1856                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1857               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1858                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1859               ELSE
1860                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1861               END IF;
1862               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1863               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE4';
1864               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1865               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1866               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1867               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1868               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1869               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE4;
1870               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1871               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1872               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1873               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1874               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1875               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1876               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1877               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1878               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1879               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1880               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1881               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1882               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1883               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1884               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1885               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1886               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1887 		    l_counter := l_counter + 1;
1888 
1889         end if;
1890         if asked_for_rec.PRICING_ATTRIBUTE5 is not null then
1891               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1892                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE5:'
1893                                    ||asked_for_rec.PRICING_ATTRIBUTE5,1,'Y');
1894               END IF;
1895 
1896               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1897               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1898               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1899               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1900               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1901                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1902               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1903                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1904               ELSE
1905                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1906               END IF;
1907               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1908               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE5';
1909               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1910               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1911               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1912               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1913               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1914               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE5;
1915               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1916               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1917               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1918               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1919               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1920               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1921               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1922               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1923               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1924               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1925               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1926               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1927               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1928               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1929               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1930               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1931               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1932 		    l_counter := l_counter + 1;
1933 
1934         end if;
1935         if asked_for_rec.PRICING_ATTRIBUTE6 is not null then
1936               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1937                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE6:'
1938                                    ||asked_for_rec.PRICING_ATTRIBUTE6,1,'Y');
1939               END IF;
1940 
1941               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1942               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1943               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1944               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1945               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1946                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1947               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1948                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1949               ELSE
1950                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1951               END IF;
1952               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1953               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE6';
1954               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
1955               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
1956               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
1957               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
1958               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
1959               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE6;
1960               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
1961               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
1962               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
1963               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
1964               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
1965               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
1966               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
1967               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
1968               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
1969               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
1970               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
1971               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
1972               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
1973               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
1974               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
1975               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
1976               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
1977 		    l_counter := l_counter + 1;
1978 
1979         end if;
1980         if asked_for_rec.PRICING_ATTRIBUTE7 is not null then
1981               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1982                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE7:'
1983                                    ||asked_for_rec.PRICING_ATTRIBUTE7,1,'Y');
1984               END IF;
1985 
1986               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
1987               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
1988               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
1989               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
1990               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
1991                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
1992               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
1993                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
1994               ELSE
1995                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
1996               END IF;
1997               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
1998               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE7';
1999               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2000               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2001               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2002               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2003               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2004               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE7;
2005               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2006               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2007               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2008               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2009               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2010               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2011               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2012               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2013               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2014               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2015               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2016               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2017               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2018               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2019               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2020               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2021               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2022 		    l_counter := l_counter + 1;
2023 
2024         end if;
2025         if asked_for_rec.PRICING_ATTRIBUTE8 is not null then
2026               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2027                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE8:'
2028                                    ||asked_for_rec.PRICING_ATTRIBUTE8,1,'Y');
2029               END IF;
2030 
2031               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2032               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2033               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2034               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2035               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2036                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2037               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2038                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2039               ELSE
2040                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2041               END IF;
2042               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2043               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE8';
2044               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2045               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2046               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2047               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2048               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2049               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE8;
2050               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2051               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2052               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2053               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2054               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2055               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2056               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2057               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2058               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2059               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2060               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2061               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2062               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2063               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2064               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2065               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2066               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2067 		    l_counter := l_counter + 1;
2068 
2069         end if;
2070         if asked_for_rec.PRICING_ATTRIBUTE9 is not null then
2071               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2072                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE9:'
2073                                    ||asked_for_rec.PRICING_ATTRIBUTE9,1,'Y');
2074               END IF;
2075 
2076               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2077               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2078               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2079               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2080               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2081                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2082               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2083                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2084               ELSE
2085                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2086               END IF;
2087               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2088               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE9';
2089               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2090               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2091               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2092               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2093               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2094               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE9;
2095               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2096               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2097               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2098               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2099               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2100               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2101               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2102               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2103               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2104               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2105               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2106               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2107               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2108               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2109               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2110               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2111               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2112 		    l_counter := l_counter + 1;
2113 
2114         end if;
2115         if asked_for_rec.PRICING_ATTRIBUTE10 is not null then
2116               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2117                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE10:'
2118                                    ||asked_for_rec.PRICING_ATTRIBUTE10,1,'Y');
2119               END IF;
2120 
2121               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2122               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2123               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2124               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2125               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2126                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2127               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2128                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2129               ELSE
2130                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2131               END IF;
2132               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2133               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE10';
2134               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2135               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2136               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2137               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2138               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2139               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE10;
2140               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2141               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2142               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2143               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2144               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2145               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2146               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2147               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2148               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2149               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2150               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2151               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2152               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2153               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2154               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2155               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2156               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2157 		    l_counter := l_counter + 1;
2158 
2159         end if;
2160         if asked_for_rec.PRICING_ATTRIBUTE11 is not null then
2161               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2162                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE11:'
2163                                    ||asked_for_rec.PRICING_ATTRIBUTE11,1,'Y');
2164               END IF;
2165 
2166               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2167               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2168               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2169               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2170               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2171                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2172               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2173                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2174               ELSE
2175                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2176               END IF;
2177               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2178               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE11';
2179               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2180               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2181               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2182               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2183               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2184               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE11;
2185               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2186               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2187               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2188               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2189               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2190               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2191               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2192               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2193               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2194               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2195               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2196               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2197               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2198               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2199               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2200               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2201               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2202 		    l_counter := l_counter + 1;
2203 
2204         end if;
2205         if asked_for_rec.PRICING_ATTRIBUTE12 is not null then
2206               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2207                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE12:'
2208                                    ||asked_for_rec.PRICING_ATTRIBUTE12,1,'Y');
2209               END IF;
2210 
2211               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2212               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2213               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2214               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2215               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2216                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2217               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2218                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2219               ELSE
2220                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2221               END IF;
2222               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2223               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE12';
2224               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2225               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2226               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2227               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2228               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2229               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE12;
2230               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2231               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2232               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2233               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2234               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2235               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2236               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2237               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2238               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2239               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2240               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2241               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2242               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2243               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2244               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2245               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2246               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2247 		    l_counter := l_counter + 1;
2248 
2249         end if;
2250         if asked_for_rec.PRICING_ATTRIBUTE13 is not null then
2251               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2252                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE13:'
2253                                    ||asked_for_rec.PRICING_ATTRIBUTE13,1,'Y');
2254               END IF;
2255 
2256               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2257               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2258               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2259               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2260               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2261                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2262               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2263                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2264               ELSE
2265                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2266               END IF;
2267               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2268               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE13';
2269               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2270               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2271               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2272               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2273               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2274               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE13;
2275               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2276               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2277               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2278               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2279               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2280               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2281               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2282               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2283               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2284               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2285               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2286               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2287               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2288               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2289               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2290               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2291               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2292 		    l_counter := l_counter + 1;
2293 
2294         end if;
2295         if asked_for_rec.PRICING_ATTRIBUTE14 is not null then
2296               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2297                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE14:'
2298                                    ||asked_for_rec.PRICING_ATTRIBUTE14,1,'Y');
2299               END IF;
2300 
2301               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2302               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2303               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2304               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2305               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2306                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2307               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2308                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2309               ELSE
2310                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2311               END IF;
2312               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2313               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE14';
2314               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2315               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2316               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2317               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2318               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2319               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE14;
2320               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2321               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2322               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2323               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2324               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2325               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2326               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2327               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2328               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2329               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2330               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2331               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2332               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2333               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2334               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2335               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2336               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2337 		    l_counter := l_counter + 1;
2338 
2339         end if;
2340         if asked_for_rec.PRICING_ATTRIBUTE15 is not null then
2341               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2342                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE15:'
2343                                    ||asked_for_rec.PRICING_ATTRIBUTE15,1,'Y');
2344               END IF;
2345 
2346               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2347               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2348               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2349               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2350               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2351                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2352               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2353                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2354               ELSE
2355                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2356               END IF;
2357               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2358               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE15';
2359               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2360               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2361               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2362               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2363               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2364               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE15;
2365               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2366               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2367               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2368               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2369               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2370               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2371               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2372               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2373               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2374               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2375               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2376               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2377               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2378               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2379               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2380               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2381               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2382 		    l_counter := l_counter + 1;
2383 
2384         end if;
2385         if asked_for_rec.PRICING_ATTRIBUTE16 is not null then
2386               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2387                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE16:'
2388                                    ||asked_for_rec.PRICING_ATTRIBUTE16,1,'Y');
2389               END IF;
2390 
2391               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2392               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2393               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2394               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2395               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2396                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2397               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2398                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2399               ELSE
2400                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2401               END IF;
2402               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2403               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE16';
2404               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2405               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2406               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2407               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2408               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2409               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE16;
2410               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2411               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2412               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2413               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2414               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2415               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2416               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2417               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2418               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2419               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2420               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2421               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2422               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2423               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2424               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2425               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2426               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2427 		    l_counter := l_counter + 1;
2428 
2429         end if;
2430         if asked_for_rec.PRICING_ATTRIBUTE17 is not null then
2431               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2432                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE17:'
2433                                    ||asked_for_rec.PRICING_ATTRIBUTE17,1,'Y');
2434               END IF;
2435 
2436               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2437               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2438               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2439               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2440               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2441                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2442               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2443                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2444               ELSE
2445                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2446               END IF;
2447               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2448               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE17';
2449               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2450               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2451               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2452               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2453               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2454               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE17;
2455               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2456               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2457               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2458               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2459               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2460               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2461               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2462               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2463               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2464               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2465               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2466               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2467               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2468               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2469               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2470               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2471               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2472 		    l_counter := l_counter + 1;
2473 
2474         end if;
2475         if asked_for_rec.PRICING_ATTRIBUTE18 is not null then
2476               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2477                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE18:'
2478                                    ||asked_for_rec.PRICING_ATTRIBUTE18,1,'Y');
2479               END IF;
2480 
2481               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2482               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2483               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2484               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2485               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2486                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2487               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2488                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2489               ELSE
2490                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2491               END IF;
2492               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2493               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE18';
2494               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2495               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2496               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2497               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2498               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2499               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE18;
2500               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2501               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2502               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2503               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2504               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2505               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2506               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2507               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2508               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2509               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2510               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2511               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2512               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2513               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2514               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2515               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2516               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2517 		    l_counter := l_counter + 1;
2518 
2519         end if;
2520         if asked_for_rec.PRICING_ATTRIBUTE19 is not null then
2521               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2522                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE19:'
2523                                    ||asked_for_rec.PRICING_ATTRIBUTE19,1,'Y');
2524               END IF;
2525 
2526               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2527               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2528               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2529               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2530               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2531                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2532               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2533                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2534               ELSE
2535                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2536               END IF;
2537               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2538               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE19';
2539               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2540               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2541               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2542               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2543               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2544               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE19;
2545               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2546               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2547               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2548               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2549               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2550               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2551               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2552               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2553               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2554               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2555               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2556               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2557               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2558               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2559               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2560               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2561               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2562 		    l_counter := l_counter + 1;
2563 
2564         end if;
2565         if asked_for_rec.PRICING_ATTRIBUTE20 is not null then
2566               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2567                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE20:'
2568                                    ||asked_for_rec.PRICING_ATTRIBUTE20,1,'Y');
2569               END IF;
2570 
2571               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2572               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2573               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2574               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2575               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2576                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2577               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2578                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2579               ELSE
2580                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2581               END IF;
2582               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2583               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE20';
2584               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2585               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2586               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2587               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2588               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2589               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE20;
2590               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2591               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2592               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2593               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2594               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2595               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2596               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2597               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2598               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2599               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2600               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2601               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2602               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2603               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2604               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2605               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2606               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2607 		    l_counter := l_counter + 1;
2608 
2609         end if;
2610         if asked_for_rec.PRICING_ATTRIBUTE21 is not null then
2611               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2612                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE21:'
2613                                    ||asked_for_rec.PRICING_ATTRIBUTE20,1,'Y');
2614               END IF;
2615 
2616               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2617               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2618               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2619               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2620               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2621                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2622               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2623                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2624               ELSE
2625                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2626               END IF;
2627               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2628               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE21';
2629               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2630               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2631               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2632               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2633               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2634               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE21;
2635               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2636               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2637               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2638               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2639               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2640               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2641               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2642               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2643               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2644               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2645               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2646               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2647               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2648               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2649               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2650               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2651               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2652 		    l_counter := l_counter + 1;
2653 
2654         end if;
2655         if asked_for_rec.PRICING_ATTRIBUTE22 is not null then
2656               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2657                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE22:'
2658                                    ||asked_for_rec.PRICING_ATTRIBUTE22,1,'Y');
2659               END IF;
2660 
2661               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2662               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2663               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2664               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2665               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2666                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2667               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2668                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2669               ELSE
2670                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2671               END IF;
2672               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2673               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE22';
2674               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2675               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2676               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2677               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2678               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2679               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE22;
2680               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2681               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2682               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2683               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2684               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2685               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2686               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2687               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2688               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2689               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2690               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2691               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2692               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2693               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2694               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2695               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2696               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2697 		    l_counter := l_counter + 1;
2698 
2699         end if;
2700         if asked_for_rec.PRICING_ATTRIBUTE23 is not null then
2701               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2702                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE23:'
2703                                    ||asked_for_rec.PRICING_ATTRIBUTE23,1,'Y');
2704               END IF;
2705 
2706               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2707               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2708               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2709               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2710               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2711                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2712               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2713                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2714               ELSE
2715                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2716               END IF;
2717               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2718               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE23';
2719               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2720               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2721               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2722               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2723               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2724               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE23;
2725               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2726               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2727               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2728               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2729               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2730               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2731               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2732               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2733               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2734               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2735               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2736               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2737               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2738               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2739               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2740               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2741               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2742 		    l_counter := l_counter + 1;
2743 
2744         end if;
2745         if asked_for_rec.PRICING_ATTRIBUTE24 is not null then
2746               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2747                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE24:'
2748                                    ||asked_for_rec.PRICING_ATTRIBUTE24,1,'Y');
2749               END IF;
2750 
2751               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2752               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2753               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2754               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2755               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2756                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2757               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2758                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2759               ELSE
2760                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2761               END IF;
2762               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2763               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE24';
2764               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2765               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2766               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2767               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2768               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2769               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE24;
2770               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2771               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2772               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2773               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2774               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2775               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2776               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2777               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2778               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2779               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2780               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2781               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2782               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2783               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2784               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2785               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2786               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2787 		    l_counter := l_counter + 1;
2788 
2789         end if;
2790         if asked_for_rec.PRICING_ATTRIBUTE25 is not null then
2791               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2792                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE25:'
2793                                    ||asked_for_rec.PRICING_ATTRIBUTE25,1,'Y');
2794               END IF;
2795 
2796               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2797               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2798               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2799               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2800               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2801                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2802               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2803                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2804               ELSE
2805                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2806               END IF;
2807               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2808               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE25';
2809               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2810               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2811               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2812               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2813               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2814               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE25;
2815               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2816               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2817               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2818               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2819               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2820               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2821               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2822               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2823               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2824               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2825               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2826               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2827               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2828               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2829               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2830               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2831               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2832 		    l_counter := l_counter + 1;
2833 
2834         end if;
2835         if asked_for_rec.PRICING_ATTRIBUTE26 is not null then
2836               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2837                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE26:'
2838                                    ||asked_for_rec.PRICING_ATTRIBUTE26,1,'Y');
2839               END IF;
2840 
2841               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2842               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2843               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2844               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2845               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2846                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2847               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2848                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2849               ELSE
2850                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2851               END IF;
2852               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2853               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE26';
2854               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2855               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2856               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2857               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2858               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2859               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE26;
2860               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2861               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2862               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2863               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2864               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2865               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2866               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2867               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2868               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2869               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2870               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2871               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2872               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2873               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2874               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2875               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2876               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2877 		    l_counter := l_counter + 1;
2878 
2879         end if;
2880         if asked_for_rec.PRICING_ATTRIBUTE27 is not null then
2881               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2882                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE27:'
2883                                    ||asked_for_rec.PRICING_ATTRIBUTE27,1,'Y');
2884               END IF;
2885 
2886               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2887               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2888               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2889               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2890               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2891                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2892               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2893                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2894               ELSE
2895                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2896               END IF;
2897               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2898               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE27';
2899               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2900               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2901               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2902               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2903               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2904               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE27;
2905               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2906               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2907               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2908               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2909               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2910               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2911               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2912               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2913               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2914               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2915               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2916               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2917               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2918               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2919               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2920               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2921               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2922 		    l_counter := l_counter + 1;
2923 
2924         end if;
2925         if asked_for_rec.PRICING_ATTRIBUTE28 is not null then
2926               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2927                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE28:'
2928                                    ||asked_for_rec.PRICING_ATTRIBUTE28,1,'Y');
2929               END IF;
2930 
2931               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2932               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2933               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2934               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2935               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2936                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2937               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2938                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2939               ELSE
2940                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2941               END IF;
2942               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2943               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE28';
2944               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2945               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2946               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2947               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2948               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2949               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE28;
2950               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2951               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2952               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2953               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2954               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
2955               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
2956               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
2957               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
2958               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
2959               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
2960               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
2961               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
2962               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
2963               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
2964               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
2965               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
2966               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
2967 		    l_counter := l_counter + 1;
2968 
2969         end if;
2970         if asked_for_rec.PRICING_ATTRIBUTE29 is not null then
2971               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
2972                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE29:'
2973                                    ||asked_for_rec.PRICING_ATTRIBUTE29,1,'Y');
2974               END IF;
2975 
2976               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
2977               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
2978               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
2979               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
2980               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
2981                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
2982               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
2983                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
2984               ELSE
2985                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
2986               END IF;
2987               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
2988               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE29';
2989               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
2990               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
2991               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
2992               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
2993               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
2994               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE29;
2995               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
2996               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
2997               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
2998               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
2999               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3000               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3001               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3002               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3003               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3004               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3005               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3006               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3007               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3008               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3009               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3010               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3011               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3012 		    l_counter := l_counter + 1;
3013 
3014         end if;
3015         if asked_for_rec.PRICING_ATTRIBUTE30 is not null then
3016               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3017                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE30:'
3018                                    ||asked_for_rec.PRICING_ATTRIBUTE30,1,'Y');
3019               END IF;
3020 
3021               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3022               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3023               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3024               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3025               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3026                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3027               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3028                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3029               ELSE
3030                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3031               END IF;
3032               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3033               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE30';
3034               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3035               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3036               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3037               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3038               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3039               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE30;
3040               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3041               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3042               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3043               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3044               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3045               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3046               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3047               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3048               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3049               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3050               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3051               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3052               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3053               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3054               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3055               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3056               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3057 		    l_counter := l_counter + 1;
3058 
3059         end if;
3060         if asked_for_rec.PRICING_ATTRIBUTE31 is not null then
3061               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3062                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE31:'
3063                                    ||asked_for_rec.PRICING_ATTRIBUTE31,1,'Y');
3064               END IF;
3065 
3066               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3067               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3068               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3069               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3070               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3071                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3072               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3073                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3074               ELSE
3075                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3076               END IF;
3077               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3078               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE31';
3079               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3080               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3081               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3082               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3083               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3084               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE31;
3085               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3086               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3087               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3088               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3089               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3090               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3091               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3092               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3093               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3094               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3095               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3096               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3097               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3098               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3099               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3100               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3101               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3102 		    l_counter := l_counter + 1;
3103 
3104         end if;
3105         if asked_for_rec.PRICING_ATTRIBUTE32 is not null then
3106               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3107                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE32:'
3108                                    ||asked_for_rec.PRICING_ATTRIBUTE32,1,'Y');
3109               END IF;
3110 
3111               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3112               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3113               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3114               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3115               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3116                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3117               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3118                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3119               ELSE
3120                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3121               END IF;
3122               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3123               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE32';
3124               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3125               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3126               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3127               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3128               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3129               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE32;
3130               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3131               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3132               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3133               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3134               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3135               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3136               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3137               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3138               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3139               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3140               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3141               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3142               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3143               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3144               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3145               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3146               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3147 		    l_counter := l_counter + 1;
3148 
3149         end if;
3150         if asked_for_rec.PRICING_ATTRIBUTE33 is not null then
3151               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3152                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE33:'
3153                                    ||asked_for_rec.PRICING_ATTRIBUTE33,1,'Y');
3154               END IF;
3155 
3156               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3157               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3158               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3159               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3160               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3161                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3162               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3163                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3164               ELSE
3165                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3166               END IF;
3167               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3168               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE33';
3169               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3170               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3171               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3172               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3173               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3174               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE33;
3175               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3176               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3177               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3178               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3179               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3180               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3181               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3182               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3183               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3184               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3185               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3186               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3187               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3188               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3189               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3190               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3191               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3192 		    l_counter := l_counter + 1;
3193 
3194         end if;
3195         if asked_for_rec.PRICING_ATTRIBUTE34 is not null then
3196               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3197                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE34:'
3198                                    ||asked_for_rec.PRICING_ATTRIBUTE34,1,'Y');
3199               END IF;
3200 
3201               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3202               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3203               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3204               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3205               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3206                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3207               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3208                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3209               ELSE
3210                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3211               END IF;
3212               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3213               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE34';
3214               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3215               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3216               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3217               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3218               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3219               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE34;
3220               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3221               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3222               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3223               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3224               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3225               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3226               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3227               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3228               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3229               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3230               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3231               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3232               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3233               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3234               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3235               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3236               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3237 		    l_counter := l_counter + 1;
3238 
3239         end if;
3240         if asked_for_rec.PRICING_ATTRIBUTE35 is not null then
3241               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3242                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE35:'
3243                                    ||asked_for_rec.PRICING_ATTRIBUTE35,1,'Y');
3244               END IF;
3245 
3246               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3247               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3248               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3249               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3250               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3251                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3252               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3253                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3254               ELSE
3255                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3256               END IF;
3257               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3258               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE35';
3259               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3260               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3261               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3262               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3263               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3264               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE35;
3265               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3266               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3267               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3268               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3269               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3270               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3271               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3272               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3273               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3274               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3275               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3276               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3277               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3278               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3279               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3280               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3281               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3282               l_counter := l_counter + 1;
3283 
3284         end if;
3285         if asked_for_rec.PRICING_ATTRIBUTE36 is not null then
3286               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3287                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE36:'
3288                                    ||asked_for_rec.PRICING_ATTRIBUTE36,1,'Y');
3289               END IF;
3290 
3291               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3292               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3293               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3294               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3295               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3296                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3297               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3298                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3299               ELSE
3300                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3301               END IF;
3302               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3303               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE36';
3304               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3305               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3306               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3307               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3308               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3309               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE36;
3310               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3311               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3312               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3313               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3314               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3315               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3316               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3317               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3318               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3319               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3320               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3321               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3322               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3323               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3324               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3325               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3326               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3327 		    l_counter := l_counter + 1;
3328 
3329         end if;
3330         if asked_for_rec.PRICING_ATTRIBUTE37 is not null then
3331               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3332                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE37:'
3333                                    ||asked_for_rec.PRICING_ATTRIBUTE37,1,'Y');
3334               END IF;
3335 
3336               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3337               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3338               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3339               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3340               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3341                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3342               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3343                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3344               ELSE
3345                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3346               END IF;
3347               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3348               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE37';
3349               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3350               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3351               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3352               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3353               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3354               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE37;
3355               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3356               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3357               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3358               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3359               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3360               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3361               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3362               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3363               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3364               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3365               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3366               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3367               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3368               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3369               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3370               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3371               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3372 		    l_counter := l_counter + 1;
3373 
3374         end if;
3375         if asked_for_rec.PRICING_ATTRIBUTE38 is not null then
3376               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3377                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE38:'
3378                                    ||asked_for_rec.PRICING_ATTRIBUTE38,1,'Y');
3379               END IF;
3380 
3381               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3382               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3383               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3384               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3385               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3386                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3387               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3388                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3389               ELSE
3390                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3391               END IF;
3392               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3393               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE38';
3394               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3395               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3396               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3397               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3398               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3399               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE38;
3400               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3401               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3402               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3403               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3404               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3405               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3406               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3407               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3408               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3409               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3410               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3411               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3412               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3413               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3414               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3415               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3416               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3417 		    l_counter := l_counter + 1;
3418 
3419         end if;
3420         if asked_for_rec.PRICING_ATTRIBUTE39 is not null then
3421               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3422                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE39:'
3423                                    ||asked_for_rec.PRICING_ATTRIBUTE39,1,'Y');
3424               END IF;
3425 
3426               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3427               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3428               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3429               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3430               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3431                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3432               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3433                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3434               ELSE
3435                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3436               END IF;
3437               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3438               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE39';
3439               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3440               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3441               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3442               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3443               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3444               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE39;
3445               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3446               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3447               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3448               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3449               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3450               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3451               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3452               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3453               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3454               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3455               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3456               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3457               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3458               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3459               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3460               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3461               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3462 		    l_counter := l_counter + 1;
3463 
3464         end if;
3465         if asked_for_rec.PRICING_ATTRIBUTE40 is not null then
3466               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3467                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE40:'
3468                                    ||asked_for_rec.PRICING_ATTRIBUTE40,1,'Y');
3469               END IF;
3470 
3471               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3472               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3473               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3474               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3475               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3476                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3477               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3478                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3479               ELSE
3480                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3481               END IF;
3482               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3483               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE40';
3484               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3485               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3486               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3487               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3488               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3489               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE40;
3490               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3491               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3492               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3493               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3494               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3495               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3496               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3497               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3498               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3499               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3500               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3501               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3502               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3503               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3504               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3505               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3506               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3507 		    l_counter := l_counter + 1;
3508 
3509         end if;
3510         if asked_for_rec.PRICING_ATTRIBUTE41 is not null then
3511               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3512                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE41:'
3513                                    ||asked_for_rec.PRICING_ATTRIBUTE41,1,'Y');
3514               END IF;
3515 
3516               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3517               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3518               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3519               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3520               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3521                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3522               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3523                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3524               ELSE
3525                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3526               END IF;
3527               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3528               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE41';
3529               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3530               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3531               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3532               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3533               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3534               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE41;
3535               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3536               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3537               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3538               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3539               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3540               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3541               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3542               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3543               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3544               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3545               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3546               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3547               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3548               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3549               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3550               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3551               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3552 		    l_counter := l_counter + 1;
3553 
3554         end if;
3555         if asked_for_rec.PRICING_ATTRIBUTE42 is not null then
3556               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3557                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE42:'
3558                                    ||asked_for_rec.PRICING_ATTRIBUTE42,1,'Y');
3559               END IF;
3560 
3561               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3562               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3563               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3564               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3565               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3566                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3567               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3568                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3569               ELSE
3570                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3571               END IF;
3572               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3573               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE42';
3574               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3575               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3576               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3577               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3578               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3579               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE42;
3580               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3581               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3582               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3583               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3584               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3585               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3586               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3587               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3588               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3589               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3590               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3591               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3592               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3593               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3594               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3595               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3596               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3597 		    l_counter := l_counter + 1;
3598 
3599         end if;
3600         if asked_for_rec.PRICING_ATTRIBUTE43 is not null then
3601               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3602                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE43:'
3603                                    ||asked_for_rec.PRICING_ATTRIBUTE43,1,'Y');
3604               END IF;
3605 
3606               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3607               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3608               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3609               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3610               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3611                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3612               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3613                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3614               ELSE
3615                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3616               END IF;
3617               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3618               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE43';
3619               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3620               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3621               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3622               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3623               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3624               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE43;
3625               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3626               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3627               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3628               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3629               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3630               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3631               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3632               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3633               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3634               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3635               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3636               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3637               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3638               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3639               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3640               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3641               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3642 		    l_counter := l_counter + 1;
3643 
3644         end if;
3645         if asked_for_rec.PRICING_ATTRIBUTE44 is not null then
3646               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3647                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE44:'
3648                                    ||asked_for_rec.PRICING_ATTRIBUTE44,1,'Y');
3649               END IF;
3650 
3651               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3652               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3653               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3654               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3655               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3656                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3657               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3658                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3659               ELSE
3660                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3661               END IF;
3662               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3663               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE44';
3664               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3665               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3666               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3667               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3668               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3669               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE44;
3670               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3671               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3672               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3673               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3674               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3675               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3676               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3677               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3678               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3679               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3680               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3681               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3682               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3683               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3684               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3685               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3686               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3687 		    l_counter := l_counter + 1;
3688 
3689         end if;
3690         if asked_for_rec.PRICING_ATTRIBUTE45 is not null then
3691               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3692                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE45:'
3693                                    ||asked_for_rec.PRICING_ATTRIBUTE45,1,'Y');
3694               END IF;
3695 
3696               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3697               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3698               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3699               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3700               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3701                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3702               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3703                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3704               ELSE
3705                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3706               END IF;
3707               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3708               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE45';
3709               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3710               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3711               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3712               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3713               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3714               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE45;
3715               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3716               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3717               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3718               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3719               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3720               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3721               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3722               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3723               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3724               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3725               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3726               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3727               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3728               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3729               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3730               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3731               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3732 		    l_counter := l_counter + 1;
3733 
3734         end if;
3735         if asked_for_rec.PRICING_ATTRIBUTE46 is not null then
3736               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3737                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE46:'
3738                                    ||asked_for_rec.PRICING_ATTRIBUTE46,1,'Y');
3739               END IF;
3740 
3741               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3742               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3743               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3744               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3745               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3746                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3747               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3748                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3749               ELSE
3750                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3751               END IF;
3752               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3753               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE46';
3754               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3755               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3756               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3757               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3758               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3759               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE46;
3760               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3761               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3762               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3763               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3764               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3765               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3766               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3767               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3768               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3769               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3770               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3771               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3772               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3773               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3774               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3775               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3776               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3777 		    l_counter := l_counter + 1;
3778 
3779         end if;
3780         if asked_for_rec.PRICING_ATTRIBUTE47 is not null then
3781               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3782                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE47:'
3783                                    ||asked_for_rec.PRICING_ATTRIBUTE47,1,'Y');
3784               END IF;
3785 
3786               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3787               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3788               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3789               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3790               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3791                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3792               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3793                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3794               ELSE
3795                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3796               END IF;
3797               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3798               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE47';
3799               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3800               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3801               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3802               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3803               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3804               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE47;
3805               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3806               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3807               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3808               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3809               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3810               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3811               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3812               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3813               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3814               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3815               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3816               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3817               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3818               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3819               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3820               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3821               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3822 		    l_counter := l_counter + 1;
3823 
3824         end if;
3825         if asked_for_rec.PRICING_ATTRIBUTE48 is not null then
3826               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3827                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE48:'
3828                                    ||asked_for_rec.PRICING_ATTRIBUTE48,1,'Y');
3829               END IF;
3830 
3831               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3832               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3833               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3834               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3835               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3836                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3837               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3838                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3839               ELSE
3840                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3841               END IF;
3842               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3843               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE48';
3844               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3845               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3846               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3847               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3848               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3849               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE48;
3850               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3851               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3852               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3853               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3854               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3855               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3856               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3857               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3858               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3859               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3860               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3861               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3862               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3863               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3864               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3865               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3866               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3867 		    l_counter := l_counter + 1;
3868 
3869         end if;
3870         if asked_for_rec.PRICING_ATTRIBUTE49 is not null then
3871               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3872                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE49:'
3873                                    ||asked_for_rec.PRICING_ATTRIBUTE49,1,'Y');
3874               END IF;
3875 
3876               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3877               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3878               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3879               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3880               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3881                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3882               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3883                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3884               ELSE
3885                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3886               END IF;
3887               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3888               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE49';
3889               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3890               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3891               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3892               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3893               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3894               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE49;
3895               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3896               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3897               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3898               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3899               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3900               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3901               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3902               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3903               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3904               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3905               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3906               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3907               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3908               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3909               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3910               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3911               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3912 		    l_counter := l_counter + 1;
3913 
3914         end if;
3915         if asked_for_rec.PRICING_ATTRIBUTE50 is not null then
3916               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3917                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE50:'
3918                                    ||asked_for_rec.PRICING_ATTRIBUTE50,1,'Y');
3919               END IF;
3920 
3921               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3922               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3923               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3924               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3925               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3926                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3927               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3928                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3929               ELSE
3930                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3931               END IF;
3932               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3933               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE50';
3934               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3935               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3936               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3937               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3938               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3939               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE50;
3940               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3941               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3942               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3943               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3944               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3945               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3946               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3947               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3948               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3949               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3950               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3951               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3952               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3953               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3954               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
3955               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
3956               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
3957 		    l_counter := l_counter + 1;
3958 
3959         end if;
3960         if asked_for_rec.PRICING_ATTRIBUTE51 is not null then
3961               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
3962                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE51:'
3963                                    ||asked_for_rec.PRICING_ATTRIBUTE51,1,'Y');
3964               END IF;
3965 
3966               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
3967               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
3968               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
3969               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
3970               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
3971                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
3972               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
3973                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
3974               ELSE
3975                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
3976               END IF;
3977               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
3978               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE51';
3979               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
3980               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
3981               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
3982               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
3983               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
3984               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE51;
3985               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
3986               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
3987               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
3988               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
3989               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
3990               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
3991               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
3992               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
3993               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
3994               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
3995               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
3996               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
3997               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
3998               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
3999               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4000               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4001               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4002 		    l_counter := l_counter + 1;
4003 
4004         end if;
4005         if asked_for_rec.PRICING_ATTRIBUTE52 is not null then
4006               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4007                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE52:'
4008                                    ||asked_for_rec.PRICING_ATTRIBUTE52,1,'Y');
4009               END IF;
4010 
4011               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4012               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4013               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4014               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4015               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4016                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4017               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4018                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4019               ELSE
4020                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4021               END IF;
4022               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4023               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE52';
4024               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4025               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4026               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4027               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4028               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4029               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE52;
4030               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4031               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4032               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4033               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4034               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4035               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4036               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4037               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4038               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4039               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4040               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4041               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4042               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4043               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4044               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4045               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4046               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4047 		    l_counter := l_counter + 1;
4048 
4049         end if;
4050         if asked_for_rec.PRICING_ATTRIBUTE53 is not null then
4051               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4052                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE53:'
4053                                    ||asked_for_rec.PRICING_ATTRIBUTE53,1,'Y');
4054               END IF;
4055 
4056               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4057               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4058               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4059               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4060               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4061                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4062               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4063                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4064               ELSE
4065                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4066               END IF;
4067               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4068               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE53';
4069               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4070               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4071               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4072               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4073               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4074               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE53;
4075               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4076               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4077               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4078               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4079               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4080               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4081               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4082               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4083               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4084               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4085               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4086               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4087               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4088               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4089               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4090               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4091               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4092 		    l_counter := l_counter + 1;
4093 
4094         end if;
4095         if asked_for_rec.PRICING_ATTRIBUTE54 is not null then
4096               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4097                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE54:'
4098                                    ||asked_for_rec.PRICING_ATTRIBUTE54,1,'Y');
4099               END IF;
4100 
4101               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4102               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4103               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4104               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4105               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4106                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4107               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4108                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4109               ELSE
4110                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4111               END IF;
4112               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4113               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE54';
4114               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4115               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4116               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4117               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4118               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4119               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE54;
4120               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4121               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4122               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4123               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4124               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4125               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4126               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4127               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4128               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4129               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4130               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4131               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4132               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4133               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4134               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4135               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4136               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4137 		    l_counter := l_counter + 1;
4138 
4139         end if;
4140         if asked_for_rec.PRICING_ATTRIBUTE55 is not null then
4141               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4142                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE55:'
4143                                    ||asked_for_rec.PRICING_ATTRIBUTE55,1,'Y');
4144               END IF;
4145 
4146               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4147               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4148               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4149               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4150               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4151                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4152               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4153                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4154               ELSE
4155                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4156               END IF;
4157               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4158               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE55';
4159               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4160               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4161               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4162               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4163               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4164               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE55;
4165               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4166               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4167               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4168               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4169               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4170               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4171               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4172               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4173               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4174               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4175               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4176               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4177               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4178               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4179               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4180               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4181               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4182 		    l_counter := l_counter + 1;
4183 
4184         end if;
4185         if asked_for_rec.PRICING_ATTRIBUTE56 is not null then
4186               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4187                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE56:'
4188                                    ||asked_for_rec.PRICING_ATTRIBUTE56,1,'Y');
4189               END IF;
4190 
4191               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4192               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4193               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4194               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4195               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4196                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4197               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4198                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4199               ELSE
4200                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4201               END IF;
4202               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4203               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE56';
4204               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4205               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4206               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4207               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4208               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4209               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE56;
4210               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4211               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4212               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4213               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4214               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4215               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4216               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4217               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4218               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4219               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4220               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4221               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4222               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4223               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4224               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4225               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4226               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4227 		    l_counter := l_counter + 1;
4228 
4229         end if;
4230         if asked_for_rec.PRICING_ATTRIBUTE57 is not null then
4231               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4232                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE57:'
4233                                    ||asked_for_rec.PRICING_ATTRIBUTE57,1,'Y');
4234               END IF;
4235 
4236               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4237               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4238               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4239               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4240               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4241                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4242               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4243                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4244               ELSE
4245                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4246               END IF;
4247               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4248               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE57';
4249               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4250               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4251               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4252               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4253               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4254               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE57;
4255               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4256               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4257               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4258               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4259               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4260               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4261               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4262               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4263               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4264               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4265               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4266               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4267               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4268               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4269               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4270               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4271               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4272 		    l_counter := l_counter + 1;
4273 
4274         end if;
4275         if asked_for_rec.PRICING_ATTRIBUTE58 is not null then
4276               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4277                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE58:'
4278                                    ||asked_for_rec.PRICING_ATTRIBUTE58,1,'Y');
4279               END IF;
4280 
4281               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4282               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4283               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4284               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4285               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4286                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4287               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4288                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4289               ELSE
4290                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4291               END IF;
4292               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4293               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE58';
4294               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4295               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4296               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4297               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4298               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4299               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE58;
4300               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4301               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4302               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4303               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4304               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4305               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4306               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4307               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4308               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4309               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4310               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4311               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4312               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4313               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4314               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4315               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4316               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4317 		    l_counter := l_counter + 1;
4318 
4319         end if;
4320         if asked_for_rec.PRICING_ATTRIBUTE59 is not null then
4321               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4322                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE59:'
4323                                    ||asked_for_rec.PRICING_ATTRIBUTE59,1,'Y');
4324               END IF;
4325 
4326               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index ;
4327               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4328               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4329               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4330               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4331                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4332               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4333                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4334               ELSE
4335                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4336               END IF;
4337               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4338               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE59';
4339               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4340               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4341               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4342               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4343               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4344               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE59;
4345               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4346               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4347               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4348               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4349               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4350               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4351               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4352               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4353               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4354               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4355               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4356               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4357               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4358               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4359               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4360               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4361               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4362 		    l_counter := l_counter + 1;
4363 
4364         end if;
4365 
4366         if asked_for_rec.PRICING_ATTRIBUTE60 is not null then
4367               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4368                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE60:'
4369                                    ||asked_for_rec.PRICING_ATTRIBUTE60,1,'Y');
4370               END IF;
4371 
4372               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4373               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4374               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4375               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4376               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4377                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4378               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4379                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4380               ELSE
4381                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4382               END IF;
4383               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4384               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE60';
4385               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4386               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4387               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4388               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4389               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4390               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE60;
4391               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4392               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4393               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4394               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4395               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4396               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4397               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4398               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4399               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4400               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4401               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4402               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4403               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4404               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4405               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4406               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4407               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4408 		    l_counter := l_counter + 1;
4409 
4410         end if;
4411         if asked_for_rec.PRICING_ATTRIBUTE61 is not null then
4412               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4413                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE61:'
4414                                    ||asked_for_rec.PRICING_ATTRIBUTE61,1,'Y');
4415               END IF;
4416 
4417               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4418               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4419               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4420               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4421               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4422                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4423               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4424                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4425               ELSE
4426                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4427               END IF;
4428               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4429               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE61';
4430               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4431               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4432               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4433               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4434               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4435               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE61;
4436               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4437               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4438               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4439               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4440               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4441               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4442               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4443               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4444               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4445               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4446               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4447               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4448               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4449               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4450               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4451               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4452               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4453 		    l_counter := l_counter + 1;
4454 
4455         end if;
4456         if asked_for_rec.PRICING_ATTRIBUTE62 is not null then
4457               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4458                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE62:'
4459                                    ||asked_for_rec.PRICING_ATTRIBUTE62,1,'Y');
4460               END IF;
4461 
4462               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4463               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4464               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4465               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4466               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4467                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4468               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4469                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4470               ELSE
4471                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4472               END IF;
4473               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4474               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE62';
4475               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4476               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4477               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4478               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4479               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4480               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE62;
4481               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4482               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4483               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4484               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4485               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4486               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4487               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4488               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4489               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4490               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4491               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4492               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4493               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4494               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4495               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4496               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4497               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4498 		    l_counter := l_counter + 1;
4499 
4500         end if;
4501         if asked_for_rec.PRICING_ATTRIBUTE63 is not null then
4502               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4503                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE63:'
4504                                    ||asked_for_rec.PRICING_ATTRIBUTE63,1,'Y');
4505               END IF;
4506 
4507               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4508               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4509               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4510               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4511               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4512                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4513               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4514                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4515               ELSE
4516                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4517               END IF;
4518               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4519               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE63';
4520               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4521               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4522               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4523               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4524               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4525               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE63;
4526               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4527               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4528               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4529               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4530               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4531               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4532               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4533               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4534               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4535               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4536               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4537               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4538               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4539               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4540               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4541               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4542               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4543 		    l_counter := l_counter + 1;
4544 
4545         end if;
4546         if asked_for_rec.PRICING_ATTRIBUTE64 is not null then
4547               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4548                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE64:'
4549                                    ||asked_for_rec.PRICING_ATTRIBUTE64,1,'Y');
4550               END IF;
4551 
4552               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4553               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4554               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4555               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4556               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4557                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4558               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4559                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4560               ELSE
4561                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4562               END IF;
4563               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4564               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE64';
4565               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4566               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4567               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4568               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4569               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4570               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE64;
4571               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4572               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4573               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4574               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4575               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4576               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4577               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4578               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4579               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4580               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4581               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4582               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4583               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4584               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4585               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4586               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4587               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4588 		    l_counter := l_counter + 1;
4589 
4590         end if;
4591         if asked_for_rec.PRICING_ATTRIBUTE65 is not null then
4592               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4593                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE65:'
4594                                    ||asked_for_rec.PRICING_ATTRIBUTE65,1,'Y');
4595               END IF;
4596 
4597               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4598               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4599               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4600               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4601               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4602                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4603               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4604                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4605               ELSE
4606                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4607               END IF;
4608               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4609               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE65';
4610               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4611               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4612               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4613               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4614               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4615               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE65;
4616               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4617               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4618               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4619               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4620               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4621               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4622               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4623               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4624               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4625               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4626               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4627               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4628               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4629               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4630               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4631               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4632               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4633 		    l_counter := l_counter + 1;
4634 
4635         end if;
4636         if asked_for_rec.PRICING_ATTRIBUTE66 is not null then
4637               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4638                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE66:'
4639                                    ||asked_for_rec.PRICING_ATTRIBUTE66,1,'Y');
4640               END IF;
4641 
4642               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4643               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4644               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4645               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4646               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4647                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4648               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4649                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4650               ELSE
4651                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4652               END IF;
4653               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4654               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE66';
4655               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4656               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4657               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4658               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4659               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4660               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE66;
4661               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4662               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4663               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4664               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4665               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4666               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4667               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4668               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4669               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4670               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4671               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4672               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4673               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4674               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4675               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4676               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4677               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4678 		    l_counter := l_counter + 1;
4679 
4680         end if;
4681         if asked_for_rec.PRICING_ATTRIBUTE67 is not null then
4682               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4683                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE67:'
4684                                    ||asked_for_rec.PRICING_ATTRIBUTE67,1,'Y');
4685               END IF;
4686 
4687               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4688               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4689               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4690               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4691               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4692                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4693               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4694                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4695               ELSE
4696                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4697               END IF;
4698               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4699               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE67';
4700               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4701               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4702               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4703               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4704               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4705               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE67;
4706               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4707               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4708               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4709               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4710               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4711               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4712               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4713               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4714               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4715               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4716               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4717               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4718               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4719               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4720               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4721               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4722               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4723 		    l_counter := l_counter + 1;
4724 
4725         end if;
4726         if asked_for_rec.PRICING_ATTRIBUTE68 is not null then
4727               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4728                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE68:'
4729                                    ||asked_for_rec.PRICING_ATTRIBUTE68,1,'Y');
4730               END IF;
4731 
4732               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4733               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4734               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4735               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4736               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4737                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4738               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4739                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4740               ELSE
4741                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4742               END IF;
4743               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4744               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE68';
4745               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4746               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4747               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4748               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4749               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4750               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE68;
4751               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4752               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4753               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4754               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4755               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4756               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4757               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4758               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4759               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4760               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4761               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4762               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4763               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4764               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4765               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4766               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4767               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4768 		    l_counter := l_counter + 1;
4769 
4770         end if;
4771         if asked_for_rec.PRICING_ATTRIBUTE69 is not null then
4772               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4773                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE69:'
4774                                    ||asked_for_rec.PRICING_ATTRIBUTE69,1,'Y');
4775               END IF;
4776 
4777               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4778               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4779               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4780               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4781               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4782                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4783               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4784                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4785               ELSE
4786                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4787               END IF;
4788               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4789               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE69';
4790               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4791               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4792               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4793               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4794               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4795               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE69;
4796               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4797               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4798               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4799               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4800               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4801               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4802               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4803               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4804               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4805               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4806               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4807               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4808               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4809               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4810               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4811               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4812               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4813 		    l_counter := l_counter + 1;
4814 
4815         end if;
4816         if asked_for_rec.PRICING_ATTRIBUTE70 is not null then
4817               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4818                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE70:'
4819                                    ||asked_for_rec.PRICING_ATTRIBUTE70,1,'Y');
4820               END IF;
4821 
4822               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4823               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4824               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4825               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4826               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4827                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4828               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4829                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4830               ELSE
4831                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4832               END IF;
4833               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4834               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE70';
4835               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4836               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4837               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4838               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4839               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4840               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE70;
4841               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4842               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4843               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4844               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4845               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4846               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4847               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4848               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4849               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4850               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4851               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4852               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4853               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4854               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4855               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4856               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4857               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4858 		    l_counter := l_counter + 1;
4859 
4860         end if;
4861         if asked_for_rec.PRICING_ATTRIBUTE71 is not null then
4862               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4863                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE71:'
4864                                    ||asked_for_rec.PRICING_ATTRIBUTE71,1,'Y');
4865               END IF;
4866 
4867               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4868               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4869               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4870               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4871               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4872                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4873               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4874                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4875               ELSE
4876                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4877               END IF;
4878               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4879               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE71';
4880               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4881               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4882               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4883               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4884               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4885               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE71;
4886               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4887               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4888               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4889               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4890               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4891               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4892               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4893               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4894               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4895               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4896               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4897               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4898               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4899               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4900               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4901               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4902               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4903 		    l_counter := l_counter + 1;
4904 
4905         end if;
4906         if asked_for_rec.PRICING_ATTRIBUTE72 is not null then
4907               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4908                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE72:'
4909                                    ||asked_for_rec.PRICING_ATTRIBUTE72,1,'Y');
4910               END IF;
4911 
4912               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4913               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4914               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4915               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4916               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4917                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4918               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4919                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4920               ELSE
4921                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4922               END IF;
4923               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4924               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE72';
4925               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4926               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4927               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4928               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4929               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4930               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE72;
4931               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4932               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4933               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4934               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4935               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4936               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4937               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4938               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4939               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4940               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4941               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4942               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4943               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4944               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4945               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4946               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4947               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4948 		    l_counter := l_counter + 1;
4949 
4950         end if;
4951         if asked_for_rec.PRICING_ATTRIBUTE73 is not null then
4952               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4953                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE73:'
4954                                    ||asked_for_rec.PRICING_ATTRIBUTE73,1,'Y');
4955               END IF;
4956 
4957               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
4958               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
4959               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
4960               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
4961               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
4962                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
4963               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
4964                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
4965               ELSE
4966                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
4967               END IF;
4968               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
4969               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE73';
4970               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
4971               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
4972               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
4973               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
4974               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
4975               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE73;
4976               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
4977               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
4978               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
4979               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
4980               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
4981               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
4982               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
4983               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
4984               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
4985               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
4986               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
4987               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
4988               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
4989               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
4990               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
4991               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
4992               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
4993 		    l_counter := l_counter + 1;
4994 
4995         end if;
4996         if asked_for_rec.PRICING_ATTRIBUTE74 is not null then
4997               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
4998                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE74:'
4999                                    ||asked_for_rec.PRICING_ATTRIBUTE74,1,'Y');
5000               END IF;
5001 
5002               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5003               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5004               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5005               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5006               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5007                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5008               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5009                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5010               ELSE
5011                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5012               END IF;
5013               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5014               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE74';
5015               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5016               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5017               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5018               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5019               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5020               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE74;
5021               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5022               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5023               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5024               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5025               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5026               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5027               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5028               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5029               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5030               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5031               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5032               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5033               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5034               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5035               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5036               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5037               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5038 		    l_counter := l_counter + 1;
5039 
5040         end if;
5041         if asked_for_rec.PRICING_ATTRIBUTE75 is not null then
5042               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5043                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE75:'
5044                                    ||asked_for_rec.PRICING_ATTRIBUTE75,1,'Y');
5045               END IF;
5046 
5047               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5048               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5049               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5050               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5051               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5052                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5053               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5054                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5055               ELSE
5056                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5057               END IF;
5058               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5059               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE75';
5060               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5061               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5062               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5063               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5064               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5065               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE75;
5066               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5067               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5068               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5069               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5070               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5071               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5072               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5073               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5074               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5075               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5076               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5077               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5078               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5079               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5080               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5081               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5082               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5083 		    l_counter := l_counter + 1;
5084 
5085         end if;
5086         if asked_for_rec.PRICING_ATTRIBUTE76 is not null then
5087               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5088                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE76:'
5089                                    ||asked_for_rec.PRICING_ATTRIBUTE76,1,'Y');
5090               END IF;
5091 
5092               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5093               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5094               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5095               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5096               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5097                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5098               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5099                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5100               ELSE
5101                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5102               END IF;
5103               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5104               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE76';
5105               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5106               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5107               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5108               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5109               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5110               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE76;
5111               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5112               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5113               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5114               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5115               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5116               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5117               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5118               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5119               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5120               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5121               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5122               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5123               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5124               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5125               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5126               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5127               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5128 		    l_counter := l_counter + 1;
5129 
5130         end if;
5131         if asked_for_rec.PRICING_ATTRIBUTE77 is not null then
5132               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5133                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE77:'
5134                                    ||asked_for_rec.PRICING_ATTRIBUTE77,1,'Y');
5135               END IF;
5136 
5137               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5138               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5139               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5140               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5141               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5142                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5143               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5144                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5145               ELSE
5146                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5147               END IF;
5148               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5149               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE77';
5150               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5151               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5152               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5153               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5154               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5155               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE77;
5156               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5157               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5158               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5159               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5160               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5161               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5162               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5163               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5164               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5165               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5166               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5167               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5168               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5169               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5170               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5171               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5172               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5173 		    l_counter := l_counter + 1;
5174 
5175         end if;
5176         if asked_for_rec.PRICING_ATTRIBUTE78 is not null then
5177               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5178                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE78:'
5179                                    ||asked_for_rec.PRICING_ATTRIBUTE78,1,'Y');
5180               END IF;
5181 
5182               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5183               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5184               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5185               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5186               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5187                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5188               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5189                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5190               ELSE
5191                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5192               END IF;
5193               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5194               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE78';
5195               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5196               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5197               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5198               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5199               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5200               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE78;
5201               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5202               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5203               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5204               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5205               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5206               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5207               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5208               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5209               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5210               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5211               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5212               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5213               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5214               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5215               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5216               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5217               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5218 		    l_counter := l_counter + 1;
5219 
5220         end if;
5221         if asked_for_rec.PRICING_ATTRIBUTE79 is not null then
5222               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5223                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE79:'
5224                                    ||asked_for_rec.PRICING_ATTRIBUTE79,1,'Y');
5225               END IF;
5226 
5227               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5228               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5229               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5230               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5231               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5232                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5233               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5234                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5235               ELSE
5236                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5237               END IF;
5238               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5239               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE79';
5240               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5241               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5242               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5243               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5244               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5245               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE79;
5246               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5247               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5248               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5249               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5250               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5251               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5252               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5253               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5254               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5255               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5256               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5257               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5258               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5259               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5260               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5261               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5262               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5263 		    l_counter := l_counter + 1;
5264 
5265         end if;
5266         if asked_for_rec.PRICING_ATTRIBUTE80 is not null then
5267               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5268                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE80:'
5269                                    ||asked_for_rec.PRICING_ATTRIBUTE80,1,'Y');
5270               END IF;
5271 
5272               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5273               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5274               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5275               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5276               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5277                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5278               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5279                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5280               ELSE
5281                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5282               END IF;
5283               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5284               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE80';
5285               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5286               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5287               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5288               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5289               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5290               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE80;
5291               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5292               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5293               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5294               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5295               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5296               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5297               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5298               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5299               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5300               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5301               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5302               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5303               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5304               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5305               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5306               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5307               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5308 		    l_counter := l_counter + 1;
5309 
5310         end if;
5311         if asked_for_rec.PRICING_ATTRIBUTE81 is not null then
5312               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5313                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE81:'
5314                                    ||asked_for_rec.PRICING_ATTRIBUTE81,1,'Y');
5315               END IF;
5316 
5317               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5318               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5319               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5320               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5321               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5322                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5323               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5324                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5325               ELSE
5326                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5327               END IF;
5328               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5329               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE81';
5330               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5331               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5332               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5333               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5334               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5335               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE81;
5336               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5337               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5338               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5339               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5340               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5341               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5342               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5343               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5344               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5345               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5346               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5347               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5348               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5349               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5350               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5351               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5352               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5353 		    l_counter := l_counter + 1;
5354 
5355         end if;
5356         if asked_for_rec.PRICING_ATTRIBUTE82 is not null then
5357               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5358                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE82:'
5359                                    ||asked_for_rec.PRICING_ATTRIBUTE82,1,'Y');
5360               END IF;
5361 
5362               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5363               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5364               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5365               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5366               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5367                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5368               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5369                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5370               ELSE
5371                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5372               END IF;
5373               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5374               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE82';
5375               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5376               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5377               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5378               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5379               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5380               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE82;
5381               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5382               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5383               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5384               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5385               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5386               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5387               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5388               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5389               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5390               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5391               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5392               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5393               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5394               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5395               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5396               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5397               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5398 		    l_counter := l_counter + 1;
5399 
5400         end if;
5401         if asked_for_rec.PRICING_ATTRIBUTE83 is not null then
5402               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5403                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE83:'
5404                                    ||asked_for_rec.PRICING_ATTRIBUTE83,1,'Y');
5405               END IF;
5406 
5407               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5408               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5409               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5410               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5411               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5412                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5413               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5414                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5415               ELSE
5416                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5417               END IF;
5418               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5419               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE83';
5420               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5421               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5422               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5423               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5424               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5425               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE83;
5426               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5427               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5428               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5429               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5430               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5431               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5432               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5433               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5434               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5435               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5436               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5437               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5438               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5439               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5440               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5441               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5442               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5443 		    l_counter := l_counter + 1;
5444 
5445         end if;
5446         if asked_for_rec.PRICING_ATTRIBUTE84 is not null then
5447               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5448                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE84:'
5449                                    ||asked_for_rec.PRICING_ATTRIBUTE84,1,'Y');
5450               END IF;
5451 
5452               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5453               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5454               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5455               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5456               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5457                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5458               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5459                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5460               ELSE
5461                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5462               END IF;
5463               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5464               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE84';
5465               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5466               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5467               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5468               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5469               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5470               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE84;
5471               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5472               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5473               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5474               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5475               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5476               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5477               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5478               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5479               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5480               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5481               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5482               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5483               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5484               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5485               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5486               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5487               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5488 		    l_counter := l_counter + 1;
5489 
5490         end if;
5491         if asked_for_rec.PRICING_ATTRIBUTE85 is not null then
5492               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5493                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE85:'
5494                                    ||asked_for_rec.PRICING_ATTRIBUTE85,1,'Y');
5495               END IF;
5496 
5497               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5498               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5499               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5500               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5501               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5502                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5503               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5504                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5505               ELSE
5506                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5507               END IF;
5508               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5509               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE85';
5510               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5511               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5512               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5513               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5514               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5515               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE85;
5516               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5517               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5518               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5519               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5520               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5521               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5522               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5523               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5524               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5525               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5526               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5527               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5528               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5529               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5530               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5531               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5532               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5533 		    l_counter := l_counter + 1;
5534 
5535         end if;
5536         if asked_for_rec.PRICING_ATTRIBUTE86 is not null then
5537               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5538                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE86:'
5539                                    ||asked_for_rec.PRICING_ATTRIBUTE86,1,'Y');
5540               END IF;
5541 
5542               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5543               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5544               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5545               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5546               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5547                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5548               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5549                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5550               ELSE
5551                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5552               END IF;
5553               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5554               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE86';
5555               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5556               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5557               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5558               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5559               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5560               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE86;
5561               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5562               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5563               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5564               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5565               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5566               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5567               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5568               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5569               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5570               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5571               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5572               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5573               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5574               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5575               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5576               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5577               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5578 		    l_counter := l_counter + 1;
5579 
5580         end if;
5581         if asked_for_rec.PRICING_ATTRIBUTE87 is not null then
5582               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5583                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE87:'
5584                                    ||asked_for_rec.PRICING_ATTRIBUTE87,1,'Y');
5585               END IF;
5586 
5587               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5588               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5589               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5590               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5591               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5592                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5593               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5594                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5595               ELSE
5596                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5597               END IF;
5598               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5599               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE87';
5600               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5601               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5602               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5603               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5604               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5605               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE87;
5606               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5607               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5608               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5609               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5610               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5611               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5612               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5613               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5614               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5615               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5616               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5617               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5618               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5619               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5620               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5621               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5622               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5623 		    l_counter := l_counter + 1;
5624 
5625         end if;
5626         if asked_for_rec.PRICING_ATTRIBUTE88 is not null then
5627               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5628                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE88:'
5629                                    ||asked_for_rec.PRICING_ATTRIBUTE88,1,'Y');
5630               END IF;
5631 
5632               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5633               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5634               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5635               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5636               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5637                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5638               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5639                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5640               ELSE
5641                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5642               END IF;
5643               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5644               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE88';
5645               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5646               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5647               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5648               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5649               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5650               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE88;
5651               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5652               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5653               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5654               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5655               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5656               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5657               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5658               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5659               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5660               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5661               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5662               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5663               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5664               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5665               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5666               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5667               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5668 		    l_counter := l_counter + 1;
5669 
5670         end if;
5671         if asked_for_rec.PRICING_ATTRIBUTE89 is not null then
5672               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5673                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE89:'
5674                                    ||asked_for_rec.PRICING_ATTRIBUTE89,1,'Y');
5675               END IF;
5676 
5677               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5678               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5679               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5680               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5681               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5682                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5683               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5684                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5685               ELSE
5686                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5687               END IF;
5688               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5689               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE89';
5690               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5691               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5692               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5693               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5694               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5695               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE89;
5696               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5697               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5698               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5699               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5700               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5701               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5702               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5703               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5704               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5705               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5706               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5707               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5708               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5709               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5710               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5711               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5712               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5713 		    l_counter := l_counter + 1;
5714 
5715         end if;
5716         if asked_for_rec.PRICING_ATTRIBUTE90 is not null then
5717               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5718                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE90:'
5719                                    ||asked_for_rec.PRICING_ATTRIBUTE90,1,'Y');
5720               END IF;
5721 
5722               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5723               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5724               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5725               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5726               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5727                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5728               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5729                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5730               ELSE
5731                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5732               END IF;
5733               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5734               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE90';
5735               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5736               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5737               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5738               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5739               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5740               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE90;
5741               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5742               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5743               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5744               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5745               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5746               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5747               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5748               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5749               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5750               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5751               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5752               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5753               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5754               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5755               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5756               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5757               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5758 		    l_counter := l_counter + 1;
5759 
5760         end if;
5761         if asked_for_rec.PRICING_ATTRIBUTE91 is not null then
5762               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5763                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE91:'
5764                                    ||asked_for_rec.PRICING_ATTRIBUTE91,1,'Y');
5765               END IF;
5766 
5767               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5768               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5769               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5770               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5771               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5772                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5773               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5774                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5775               ELSE
5776                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5777               END IF;
5778               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5779               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE91';
5780               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5781               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5782               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5783               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5784               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5785               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE91;
5786               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5787               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5788               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5789               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5790               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5791               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5792               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5793               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5794               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5795               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5796               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5797               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5798               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5799               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5800               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5801               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5802               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5803 		    l_counter := l_counter + 1;
5804 
5805         end if;
5806         if asked_for_rec.PRICING_ATTRIBUTE92 is not null then
5807               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5808                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE92:'
5809                                    ||asked_for_rec.PRICING_ATTRIBUTE92,1,'Y');
5810               END IF;
5811 
5812               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5813               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5814               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5815               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5816               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5817                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5818               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5819                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5820               ELSE
5821                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5822               END IF;
5823               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5824               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE92';
5825               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5826               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5827               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5828               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5829               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5830               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE92;
5831               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5832               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5833               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5834               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5835               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5836               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5837               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5838               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5839               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5840               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5841               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5842               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5843               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5844               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5845               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5846               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5847               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5848 		    l_counter := l_counter + 1;
5849 
5850         end if;
5851         if asked_for_rec.PRICING_ATTRIBUTE93 is not null then
5852               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5853                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE93:'
5854                                    ||asked_for_rec.PRICING_ATTRIBUTE93,1,'Y');
5855               END IF;
5856 
5857               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5858               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5859               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5860               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5861               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5862                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5863               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5864                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5865               ELSE
5866                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5867               END IF;
5868               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5869               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE93';
5870               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5871               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5872               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5873               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5874               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5875               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE93;
5876               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5877               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5878               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5879               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5880               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5881               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5882               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5883               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5884               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5885               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5886               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5887               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5888               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5889               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5890               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5891               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5892               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5893 		    l_counter := l_counter + 1;
5894 
5895         end if;
5896         if asked_for_rec.PRICING_ATTRIBUTE94 is not null then
5897               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5898                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE94:'
5899                                    ||asked_for_rec.PRICING_ATTRIBUTE94,1,'Y');
5900               END IF;
5901 
5902               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5903               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5904               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5905               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5906               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5907                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5908               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5909                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5910               ELSE
5911                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5912               END IF;
5913               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5914               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE94';
5915               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5916               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5917               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5918               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5919               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5920               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE94;
5921               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5922               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5923               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5924               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5925               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5926               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5927               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5928               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5929               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5930               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5931               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5932               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5933               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5934               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5935               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5936               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5937               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5938 		    l_counter := l_counter + 1;
5939 
5940         end if;
5941         if asked_for_rec.PRICING_ATTRIBUTE95 is not null then
5942               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5943                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE95:'
5944                                    ||asked_for_rec.PRICING_ATTRIBUTE95,1,'Y');
5945               END IF;
5946 
5947               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5948               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5949               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5950               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5951               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5952                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5953               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5954                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
5955               ELSE
5956                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
5957               END IF;
5958               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
5959               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE95';
5960               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
5961               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
5962               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
5963               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
5964               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
5965               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE95;
5966               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
5967               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
5968               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
5969               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
5970               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
5971               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
5972               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
5973               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
5974               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
5975               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
5976               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
5977               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
5978               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
5979               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
5980               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
5981               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
5982               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
5983 		    l_counter := l_counter + 1;
5984 
5985         end if;
5986         if asked_for_rec.PRICING_ATTRIBUTE96 is not null then
5987               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
5988                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE96:'
5989                                    ||asked_for_rec.PRICING_ATTRIBUTE96,1,'Y');
5990               END IF;
5991 
5992               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
5993               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
5994               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
5995               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
5996               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
5997                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
5998               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
5999                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6000               ELSE
6001                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6002               END IF;
6003               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6004               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE96';
6005               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6006               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6007               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6008               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6009               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6010               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE96;
6011               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6012               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6013               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6014               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6015               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6016               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6017               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6018               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6019               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6020               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6021               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6022               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6023               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6024               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6025               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6026               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6027               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6028 		    l_counter := l_counter + 1;
6029 
6030         end if;
6031         if asked_for_rec.PRICING_ATTRIBUTE97 is not null then
6032               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6033                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE97:'
6034                                    ||asked_for_rec.PRICING_ATTRIBUTE97,1,'Y');
6035               END IF;
6036 
6037               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6038               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6039               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6040               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6041               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6042                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6043               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6044                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6045               ELSE
6046                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6047               END IF;
6048               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6049               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE97';
6050               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6051               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6052               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6053               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6054               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6055               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE97;
6056               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6057               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6058               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6059               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6060               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6061               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6062               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6063               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6064               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6065               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6066               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6067               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6068               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6069               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6070               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6071               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6072               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6073 		    l_counter := l_counter + 1;
6074 
6075         end if;
6076         if asked_for_rec.PRICING_ATTRIBUTE98 is not null then
6077               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6078                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE98:'
6079                                    ||asked_for_rec.PRICING_ATTRIBUTE98,1,'Y');
6080               END IF;
6081 
6082               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6083               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6084               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6085               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6086               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6087                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6088               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6089                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6090               ELSE
6091                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6092               END IF;
6093               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6094               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE98';
6095               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6096               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6097               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6098               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6099               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6100               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE98;
6101               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6102               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6103               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6104               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6105               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6106               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6107               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6108               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6109               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6110               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6111               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6112               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6113               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6114               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6115               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6116               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6117               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6118 		    l_counter := l_counter + 1;
6119 
6120         end if;
6121         if asked_for_rec.PRICING_ATTRIBUTE99 is not null then
6122               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6123                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE99:'
6124                                    ||asked_for_rec.PRICING_ATTRIBUTE99,1,'Y');
6125               END IF;
6126 
6127               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6128               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6129               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6130               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6131               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6132                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6133               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6134                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6135               ELSE
6136                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6137               END IF;
6138               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6139               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE99';
6140               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6141               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6142               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6143               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6144               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6145               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE99;
6146               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6147               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6148               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6149               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6150               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6151               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6152               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6153               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6154               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6155               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6156               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6157               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6158               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6159               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6160               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6161               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6162               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6163 		    l_counter := l_counter + 1;
6164 
6165         end if;
6166         if asked_for_rec.PRICING_ATTRIBUTE100 is not null then
6167               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6168                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE100:'
6169                                    ||asked_for_rec.PRICING_ATTRIBUTE100,1,'Y');
6170               END IF;
6171 
6172               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6173               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6174               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6175               G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6176               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6177                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6178               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6179                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6180               ELSE
6181                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6182               END IF;
6183               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6184               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'PRICING_ATTRIBUTE100';
6185               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6186               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6187               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6188               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6189               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6190               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE100;
6191               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6192               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6193               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6194               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6195               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6196               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6197               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6198               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6199               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6200               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6201               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6202               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6203               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6204               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6205               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6206               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6207               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6208 		    l_counter := l_counter + 1;
6209 
6210         end if;
6211 
6212       else -- Copy the Qualifiers
6213 	 if p_pricing_event = 'BATCH' then
6214 	   --added the and condition to accomodate the change made in the forms UI to pass pricing_attribute1 only when pricing_attribute2 is null
6215         if asked_for_rec.PRICING_ATTRIBUTE1 is not null and asked_for_rec.PRICING_ATTRIBUTE2 is null then -- Promotion
6216               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6217                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE1:'
6218                                    ||asked_for_rec.PRICING_ATTRIBUTE1,1,'Y');
6219               END IF;
6220 
6221               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6222               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6223               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6224               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6225                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6226               ELSE
6227                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6228               END IF;
6229               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6230                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6231               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6232                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6233               ELSE
6234                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6235               END IF;
6236               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6237               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE1';
6238               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6239               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6240               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6241               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6242               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6243               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE1;
6244               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6245               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6246               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6247               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6248               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6249               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6250               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6251               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6252               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6253               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6254               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6255               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6256               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6257               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6258               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6259               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6260               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6261 		    l_counter := l_counter + 1;
6262 
6263         end if;
6264         if asked_for_rec.PRICING_ATTRIBUTE2 is not null then --Deal Component
6265               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6266                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE2:'
6267                                    ||asked_for_rec.PRICING_ATTRIBUTE2,1,'Y');
6268               END IF;
6269 
6270               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6271               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6272               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6273               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6274                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6275               ELSE
6276                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6277               END IF;
6278               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6279                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6280               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6281                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6282               ELSE
6283                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6284               END IF;
6285               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6286               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE2';
6287               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6288               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6289               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6290               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6291               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6292               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE2;
6293               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6294               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6295               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6296               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6297               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6298               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6299               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6300               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6301               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6302               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6303               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6304               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6305               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6306               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6307               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6308               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6309               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6310 		    l_counter := l_counter + 1;
6311 
6312         end if;
6313         if asked_for_rec.PRICING_ATTRIBUTE3 is not null then -- Coupons
6314               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6315                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: asked_for_rec.PRICING_ATTRIBUTE3:'
6316                                    ||asked_for_rec.PRICING_ATTRIBUTE3,1,'Y');
6317               END IF;
6318 
6319               G_ATTR_LINE_INDEX_tbl(l_counter)          := l_line_index;
6320               G_ATTR_LINE_DETAIL_INDEX_tbl(l_counter)   := NULL;
6321               G_ATTR_ATTRIBUTE_LEVEL_tbl(l_counter)     := QP_PREQ_GRP.G_LINE_LEVEL;
6322               IF NVL(ASO_PRICING_INT.G_HEADER_REC.quote_status_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
6323                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_NOT_VALIDATED;
6324               ELSE
6325                  G_ATTR_VALIDATED_FLAG_tbl(l_counter)      := QP_PREQ_GRP.G_VALIDATED;
6326               END IF;
6327               IF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_ITEM_CONTEXT) THEN
6328                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRODUCT_TYPE;
6329               ELSIF (asked_for_rec.pricing_context = QP_PREQ_GRP.G_LIST_HEADER_CONTEXT) THEN
6330                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_QUALIFIER_TYPE;
6331               ELSE
6332                   G_ATTR_ATTRIBUTE_TYPE_tbl(l_counter) := QP_PREQ_GRP.G_PRICING_TYPE;
6333               END IF;
6334               G_ATTR_PRICING_CONTEXT_tbl(l_counter)     := asked_for_rec.pricing_context;
6335               G_ATTR_PRICING_ATTRIBUTE_tbl(l_counter)   := 'QUALIFIER_ATTRIBUTE3';
6336               G_ATTR_APPLIED_FLAG_tbl(l_counter)        := QP_PREQ_GRP.G_LIST_NOT_APPLIED;
6337               G_ATTR_PRICING_STATUS_CODE_tbl(l_counter) := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6338               G_ATTR_PRICING_ATTR_FLAG_tbl (l_counter)  := QP_PREQ_GRP.G_YES;
6339               G_ATTR_LIST_HEADER_ID_tbl(l_counter)      := NULL;
6340               G_ATTR_LIST_LINE_ID_tbl(l_counter)        := NULL;
6341               G_ATTR_VALUE_FROM_tbl(l_counter)          := asked_for_rec.PRICING_ATTRIBUTE3;
6342               G_ATTR_SETUP_VALUE_FROM_tbl(l_counter)    := NULL;
6343               G_ATTR_VALUE_TO_tbl(l_counter)            := NULL;
6344               G_ATTR_SETUP_VALUE_TO_tbl(l_counter)      := NULL;
6345               G_ATTR_GROUPING_NUMBER_tbl(l_counter)     := NULL;
6346               G_ATTR_NO_QUAL_IN_GRP_tbl(l_counter)      := NULL;
6347               G_ATTR_COMP_OPERATOR_TYPE_tbl(l_counter)  := NULL;
6348               G_ATTR_PRICING_STATUS_TEXT_tbl(l_counter) := NULL;
6349               G_ATTR_QUAL_PRECEDENCE_tbl(l_counter)     := NULL;
6350               G_ATTR_DATATYPE_tbl(l_counter)            := NULL;
6351               G_ATTR_QUALIFIER_TYPE_tbl(l_counter)      := NULL;
6352               G_ATTR_PRODUCT_UOM_CODE_TBL(l_counter)    := NULL;
6353               G_ATTR_EXCLUDER_FLAG_TBL(l_counter)       := NULL;
6354               G_ATTR_PRICING_PHASE_ID_TBL(l_counter)    := NULL;
6355               G_ATTR_INCOM_GRP_CODE_TBL(l_counter)      := NULL;
6356               G_ATTR_LDET_TYPE_CODE_TBL(l_counter)      := NULL;
6357               G_ATTR_MODIFIER_LEVEL_CODE_TBL(l_counter) := NULL;
6358               G_ATTR_PRIMARY_UOM_FLAG_TBL(l_counter)    := NULL;
6359 	      l_counter := l_counter + 1;
6360 
6361         end if;
6362 	end if;-- p_pricing_event = 'BATCH'
6363   end if;--asked_for_rec.flex_title = 'QP_ATTR_DEFNS_PRICING'
6364 end loop;
6365     px_index_counter := l_counter;
6366     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6367       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_counter:'||l_counter,1,'Y');
6368       aso_debug_pub.add('ASO_PRICING_CORE_PVT:End of Direct Insert Append_asked_for',1,'Y');
6369     END IF;
6370 
6371 end Append_asked_for;
6372 
6373 /*New copy_Header_to_request to use direct insert*/
6374 PROCEDURE Copy_Header_To_Request(
6375     p_Request_Type                   VARCHAR2,
6376     p_price_line_index               NUMBER,
6377     px_index_counter                 NUMBER)
6378 IS
6379 BEGIN
6380    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6381      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the direct insert Copy_Header_To_Request',1,'Y');
6382      aso_debug_pub.add('ASO_PRICING_CORE_PVT: px_index_counter:'||px_index_counter,1,'Y');
6383      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');
6384    END IF;
6385    G_LINE_INDEX_TBL(px_index_counter)              := p_price_line_index;
6386    G_LINE_TYPE_CODE_TBL(px_index_counter)          := 'ORDER';
6387    /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
6388    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6389      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Copy_Header_To_Req: ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE:'
6390                                ||ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,1,'Y');
6391    END IF;
6392    if NVL(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
6393           G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(sysdate);
6394    else
6395           G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE);
6396    end if;
6397    G_ACTIVE_DATE_FIRST_TBL(px_index_counter)       := TRUNC(sysdate);
6398    G_ACTIVE_DATE_FIRST_TYPE_TBL(px_index_counter)  := 'NO TYPE';
6399    G_ACTIVE_DATE_SECOND_TBL(px_index_counter)      := TRUNC(sysdate);
6400    G_ACTIVE_DATE_SECOND_TYPE_TBL(px_index_counter) := 'NO TYPE';
6401    G_LINE_QUANTITY_TBL(px_index_counter)           := null;
6402    G_LINE_UOM_CODE_TBL(px_index_counter)           := null;
6403    G_REQUEST_TYPE_CODE_TBL(px_index_counter)       := p_request_type;
6404    G_PRICED_QUANTITY_TBL(px_index_counter)         := null;
6405    G_UOM_QUANTITY_TBL(px_index_counter)            := null;
6406    G_PRICED_UOM_CODE_TBL(px_index_counter)         := null;
6407    G_CURRENCY_CODE_TBL(px_index_counter)           := ASO_PRICING_INT.G_HEADER_REC.currency_code;
6408    G_UNIT_PRICE_TBL(px_index_counter)              := null;
6409    G_PERCENT_PRICE_TBL(px_index_counter)           := null;
6410    G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)     := null;
6411    G_PROCESSED_FLAG_TBL(px_index_counter)          := null;
6412    G_PRICE_FLAG_TBL(px_index_counter)              := 'Y';
6413    G_LINE_ID_TBL(px_index_counter)                 := ASO_PRICING_INT.G_HEADER_REC.quote_header_id;
6414    G_ROUNDING_FLAG_TBL(px_index_counter)           := null;
6415    G_ROUNDING_FACTOR_TBL(px_index_counter)         := null;
6416    G_PROCESSING_ORDER_TBL(px_index_counter)        := NULL;
6417    G_PRICING_STATUS_CODE_tbl(px_index_counter)     := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6418    G_PRICING_STATUS_TEXT_tbl(px_index_counter)     := NULL;
6419    G_QUALIFIERS_EXIST_FLAG_TBL(px_index_counter)   := 'N';
6420    G_PRICING_ATTRS_EXIST_FLAG_TBL(px_index_counter):= 'N';
6421    G_PRICE_LIST_ID_TBL(px_index_counter)           := NULL;
6422    G_PL_VALIDATED_FLAG_TBL(px_index_counter)       := 'N';
6423    G_PRICE_REQUEST_CODE_TBL(px_index_counter)      := NULL;
6424    G_USAGE_PRICING_TYPE_TBL(px_index_counter)      := 'REGULAR';
6425    G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := NULL;
6426    G_LINE_CATEGORY_TBL(px_index_counter):= NULL;
6427    G_CHRG_PERIODICITY_CODE_TBL(px_index_counter)    := NULL;
6428    /* Changes Made for OKS uptake bug 4900084  */
6429    G_CONTRACT_START_DATE_TBL(px_index_counter)      := NULL;
6430    G_CONTRACT_END_DATE_TBL(px_index_counter)        := NULL;
6431 
6432    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6433      aso_debug_pub.add('ASO_PRICING_CORE_PVT: End of the direct insert Copy_Header_To_Request',1,'Y');
6434    END IF;
6435 
6436 end copy_Header_to_request;
6437 
6438 /*New copy_Line_to_request to use direct insert*/
6439 PROCEDURE Copy_Line_To_Request(
6440     p_Request_Type                      VARCHAR2,
6441     p_price_line_index                  NUMBER,
6442     px_index_counter                    NUMBER)
6443 is
6444     l_uom_rate        NUMBER;
6445 begin
6446    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6447      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start of Direct Insert of Copy_Line_To_Request',1,'Y');
6448      aso_debug_pub.add('ASO_PRICING_CORE_PVT:px_index_counter:'||px_index_counter,1,'Y');
6449    END IF;
6450    G_LINE_INDEX_TBL(px_index_counter)               := p_price_line_index;
6451    G_LINE_TYPE_CODE_TBL(px_index_counter)           :=  'LINE';
6452 
6453    /*FastTrak: Price effective date is assigned to the price frozen unless the price frozen date is null*/
6454    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6455      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Copy_Line_To_Request: G_HEADER_REC.PRICE_FROZEN_DATE:'
6456                                ||ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,1,'Y');
6457    END IF;
6458    if NVL(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
6459       G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(sysdate);
6460    else
6461       G_PRICING_EFFECTIVE_DATE_TBL(px_index_counter) := trunc(ASO_PRICING_INT.G_HEADER_REC.PRICE_FROZEN_DATE);
6462    end if;
6463    G_ACTIVE_DATE_FIRST_TBL(px_index_counter)        := TRUNC(sysdate);
6464    G_ACTIVE_DATE_FIRST_TYPE_TBL(px_index_counter)   := 'NO TYPE';
6465    G_ACTIVE_DATE_SECOND_TBL(px_index_counter)       := TRUNC(sysdate);
6466    G_ACTIVE_DATE_SECOND_TYPE_TBL(px_index_counter)  := 'NO TYPE';
6467    G_LINE_QUANTITY_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.quantity;
6468    G_LINE_UOM_CODE_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.uom_code;
6469    G_REQUEST_TYPE_CODE_TBL(px_index_counter)        := p_Request_Type;
6470    -- Added for Service Item after pathcset E
6471    If ASO_PRICING_INT.G_LINE_REC.service_period is not null
6472       AND ASO_PRICING_INT.G_LINE_REC.service_period <> fnd_api.g_miss_char then
6473       If (ASO_PRICING_INT.G_LINE_REC.service_period = ASO_PRICING_INT.G_LINE_REC.uom_code) Then
6474           G_UOM_QUANTITY_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.service_duration;
6475           G_CONTRACT_START_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.start_date_active;
6476           G_CONTRACT_END_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.end_date_active;
6477 
6478        Else
6479           /* Changes Made for OKS uptake bug 4900084
6480 
6481           INV_CONVERT.INV_UM_CONVERSION(
6482                    From_Unit  => ASO_PRICING_INT.G_LINE_REC.service_period
6483                    ,To_Unit   => ASO_PRICING_INT.G_LINE_REC.uom_code
6484                    ,Item_ID   => ASO_PRICING_INT.G_LINE_REC.Inventory_item_id
6485                    ,Uom_Rate  => l_Uom_rate);
6486           G_UOM_QUANTITY_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.service_duration * l_uom_rate; */
6487 
6488           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6489               aso_debug_pub.add('ASO_PRICING_CORE_PVT: before call to OKS_OMINT_PUB.GET_TARGET_DURATION',1,'Y');
6490           END IF;
6491 
6492 
6493           G_UOM_QUANTITY_TBL(px_index_counter) :=		OKS_OMINT_PUB.GET_TARGET_DURATION
6494 	                                         ( p_start_date => ASO_PRICING_INT.G_LINE_REC.start_date_active,
6495 	                                           p_end_date   => ASO_PRICING_INT.G_LINE_REC.end_date_active,
6496 									   p_source_uom => ASO_PRICING_INT.G_LINE_REC.service_period,
6497 									   p_source_duration => ASO_PRICING_INT.G_LINE_REC.service_duration,
6498 									   p_target_uom => ASO_PRICING_INT.G_LINE_REC.uom_code,
6499 									   p_org_id     => ASO_PRICING_INT.G_LINE_REC.org_id);
6500 
6501            G_CONTRACT_START_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.start_date_active;
6502 		 G_CONTRACT_END_DATE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.end_date_active;
6503 
6504           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6505 		              aso_debug_pub.add('ASO_PRICING_CORE_PVT: after  call to OKS_OMINT_PUB.GET_TARGET_DURATION',1,'Y');
6506 		END IF;
6507 
6508       End If;
6509    Else
6510 	 G_UOM_QUANTITY_TBL(px_index_counter) := null;
6511 	 G_CONTRACT_START_DATE_TBL(px_index_counter) := null;
6512 	 G_CONTRACT_END_DATE_TBL(px_index_counter) := null;
6513    End If;
6514    G_PRICED_QUANTITY_TBL(px_index_counter)          := ASO_PRICING_INT.G_LINE_REC.pricing_quantity;
6515    G_PRICED_UOM_CODE_TBL(px_index_counter)          := ASO_PRICING_INT.G_LINE_REC.pricing_quantity_uom;
6516    G_CURRENCY_CODE_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.currency_code;
6517    If ASO_PRICING_INT.G_LINE_REC.line_list_price <> FND_API.G_MISS_NUM Then
6518       G_UNIT_PRICE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.line_list_price;
6519    Else
6520       G_UNIT_PRICE_TBL(px_index_counter) := NULL;
6521    End If;
6522    G_PERCENT_PRICE_TBL(px_index_counter)            := null;
6523    If NVL(ASO_PRICING_INT.G_LINE_REC.line_list_price,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM then
6524       G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)      := ASO_PRICING_INT.G_LINE_REC.line_list_price;
6525    else
6526 	 G_ADJUSTED_UNIT_PRICE_TBL(px_index_counter)      := null;
6527    end if;
6528    G_PROCESSED_FLAG_TBL(px_index_counter)           := QP_PREQ_GRP.G_NOT_PROCESSED;
6529 
6530    -- Bug 2430534.Should set this flag only for child service line, normal line to 'Y'
6531    -- If the line is from order or customer product set it to 'N'.
6532    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6533      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req p_Line_rec.LINE_CATEGORY_CODE  :'
6534                          ||ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE,1,'Y');
6535    END IF;
6536    /*For PRG Line need to setup the free lines with price_flag to 'P'*/
6537    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6538      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req p_Line_rec.PRICING_LINE_TYPE_INDICATOR  :'
6539                          ||ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR,1,'Y');
6540    END IF;
6541 
6542    IF ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR = 'F' THEN
6543     	     G_PRICE_FLAG_TBL(px_index_counter) := 'P';
6544    ELSE
6545      IF ASO_PRICING_INT.G_LINE_REC.LINE_CATEGORY_CODE
6546       IN ('SERVICE_REF_ORDER_LINE','SERVICE_REF_CUSTOMER_LINE') THEN
6547     	        G_PRICE_FLAG_TBL(px_index_counter) := 'N';
6548      ELSE
6549    	      G_PRICE_FLAG_TBL(px_index_counter) := 'Y';
6550      END IF;
6551    END IF;
6552 
6553     -- for rel 12.0 Deal Integeration
6554    IF ASO_PRICING_INT.G_LINE_REC.PRICING_LINE_TYPE_INDICATOR = 'D' THEN
6555     	     G_PRICE_FLAG_TBL(px_index_counter) := 'P';
6556    end if;
6557 
6558    G_LINE_ID_TBL(px_index_counter)                  := ASO_PRICING_INT.G_LINE_REC.quote_line_id;
6559    G_ROUNDING_FLAG_TBL(px_index_counter)            := null;
6560    G_ROUNDING_FACTOR_TBL(px_index_counter)          := null;
6561    G_PROCESSING_ORDER_TBL(px_index_counter)         := NULL;
6562    G_PRICING_STATUS_CODE_tbl(px_index_counter)      := QP_PREQ_GRP.G_STATUS_UNCHANGED;
6563    G_PRICING_STATUS_TEXT_tbl(px_index_counter)      := NULL;
6564    G_QUALIFIERS_EXIST_FLAG_TBL(px_index_counter)    :='N';
6565    G_PRICING_ATTRS_EXIST_FLAG_TBL(px_index_counter) :='N';
6566    G_PRICE_LIST_ID_TBL(px_index_counter)            := -9999;
6567    G_PL_VALIDATED_FLAG_TBL(px_index_counter)        := 'N';
6568    G_PRICE_REQUEST_CODE_TBL(px_index_counter)       := NULL;
6569    G_USAGE_PRICING_TYPE_TBL(px_index_counter)       :='REGULAR';
6570    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6571      aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Copy line to req SELLING_PRICE_CHANGE: '
6572                         ||ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE,1,'Y');
6573    END IF;
6574    If ASO_PRICING_INT.G_LINE_REC.SELLING_PRICE_CHANGE = 'Y' then
6575       G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := ASO_PRICING_INT.G_LINE_REC.line_quote_price;
6576    else
6577 	 G_UPD_ADJUSTED_UNIT_PRICE_TBL(px_index_counter) := NULL;
6578    End If;
6579 
6580    G_LINE_CATEGORY_TBL(px_index_counter)            := ASO_PRICING_INT.G_LINE_REC.line_category_code;
6581    G_CHRG_PERIODICITY_CODE_TBL(px_index_counter)    := ASO_PRICING_INT.G_LINE_REC.charge_periodicity_code;
6582 
6583    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6584      aso_debug_pub.add('ASO_PRICING_CORE_PVT:End of Direct Insert of Copy_Line_To_Request',1,'Y');
6585    END IF;
6586 
6587 end Copy_Line_To_Request;
6588 
6589 /*Query both automatic and manual(applied) header and line adjs*/
6590 PROCEDURE Query_Price_Adj_All
6591 (p_quote_header_id    IN  NUMBER,
6592  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
6593 IS
6594  l_adj_counter   NUMBER;
6595  l_rel_counter   NUMBER;
6596  l_adj_id_tbl    JTF_NUMBER_TABLE;
6597 
6598 BEGIN
6599  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6600    aso_debug_pub.add('ASO_PRICING_CORE_PVT: Inside of the Query_Price_Adj_All',1,'Y');
6601  END IF;
6602 
6603  UPDATE ASO_PRICE_ADJUSTMENTS apa
6604  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
6605                                   'LUMPSUM',operand,
6606                                   'AMT',(operand*l.quantity)/l.PRICING_QUANTITY,
6607                                   'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
6608                           FROM  ASO_QUOTE_LINES_ALL l
6609                           WHERE l.quote_header_id = apa.quote_header_id
6610 					 AND l.quote_line_id = apa.quote_line_id
6611                           )
6612  WHERE apa.quote_header_id = p_quote_header_id
6613  AND apa.quote_line_id is not null
6614  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
6615  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6616      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
6617  END IF;
6618 
6619  --Only support % at the header level
6620  UPDATE ASO_PRICE_ADJUSTMENTS
6621  SET OPERAND_PER_PQTY = operand
6622  WHERE quote_header_id = p_quote_header_id
6623  AND quote_line_id is null
6624  AND (applied_flag = 'Y' OR updated_flag = 'Y');
6625 
6626  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6627      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
6628  END IF;
6629 
6630        SELECT
6631 		 PRICE_ADJUSTMENT_ID,
6632            PRICE_ADJUSTMENT_ID,
6633 		 PRICE_ADJUSTMENT_ID,
6634            'NULL', --line_detail_type_code
6635            PRICE_BREAK_TYPE_CODE,
6636            NULL,
6637 		 decode(quote_line_id,NULL,1,quote_line_id),
6638            MODIFIER_HEADER_ID,
6639            MODIFIER_LINE_ID,
6640            MODIFIER_LINE_TYPE_CODE,
6641            NULL,--List type code that we do not store currently
6642            NULL,--Created from SQL
6643            PRICING_GROUP_SEQUENCE,
6644            PRICING_PHASE_ID,
6645            ARITHMETIC_OPERATOR,
6646            nvl(OPERAND_PER_PQTY,OPERAND),
6647            NULL,--substitution_attribute
6648            MODIFIED_FROM,
6649            MODIFIED_TO,
6650            NULL,--ask_for_flag that we do not store currently
6651            NULL,--formula_id
6652            'X',--pricing_status_code
6653            NULL,--pricing_status_text
6654            NULL,--product_precedence
6655            NULL,--incompatibility_group
6656            'N',--processed_flag
6657            APPLIED_FLAG,
6658            AUTOMATIC_FLAG,
6659            UPDATE_ALLOWABLE_FLAG,
6660            NULL,--primary_uom_flag
6661            ON_INVOICE_FLAG,
6662            MODIFIER_LEVEL_CODE,
6663            BENEFIT_QTY,
6664            BENEFIT_UOM_CODE,
6665            LIST_LINE_NO,
6666            ACCRUAL_FLAG,
6667            ACCRUAL_CONVERSION_RATE,
6668            NULL,--estim_accrual_rate
6669            'N',--recurring_flag
6670            NULL,--selected_vol_attr
6671            NULL,--rounding_factor
6672            NULL,--hdr_limit_exist
6673            NULL,--Line_limit_exist
6674            CHARGE_TYPE_CODE,
6675            CHARGE_SUBTYPE_CODE,
6676            NULL,--currency_detail_id
6677            NULL,--currency_hdr_id
6678            NULL,--selling_round
6679            NULL,--order_currency
6680            NULL,--pricing_effect_date
6681            NULL,--base_currency
6682            RANGE_BREAK_QUANTITY,
6683            UPDATED_FLAG,
6684            MODIFIER_MECHANISM_TYPE_CODE,
6685            CHANGE_REASON_CODE,
6686            CHANGE_REASON_TEXT
6687 	 BULK COLLECT INTO
6688 		   l_adj_id_tbl,
6689              G_LDET_LINE_DTL_INDEX_TBL,
6690 		   G_LDET_PRICE_ADJ_ID_TBL,
6691              G_LDET_LINE_DTL_TYPE_TBL,
6692              G_LDET_PRICE_BREAK_TYPE_TBL,
6693              G_LDET_LIST_PRICE_TBL,
6694              G_LDET_LINE_INDEX_TBL,
6695              G_LDET_LIST_HEADER_ID_TBL,
6696              G_LDET_LIST_LINE_ID_TBL,
6697              G_LDET_LIST_LINE_TYPE_TBL,
6698              G_LDET_LIST_TYPE_CODE_TBL,
6699              G_LDET_CREATED_FROM_SQL_TBL,
6700              G_LDET_PRICING_GRP_SEQ_TBL,
6701              G_LDET_PRICING_PHASE_ID_TBL,
6702              G_LDET_OPERAND_CALC_CODE_TBL,
6703              G_LDET_OPERAND_VALUE_TBL,
6704              G_LDET_SUBSTN_TYPE_TBL,
6705              G_LDET_SUBSTN_VALUE_FROM_TBL,
6706              G_LDET_SUBSTN_VALUE_TO_TBL,
6707              G_LDET_ASK_FOR_FLAG_TBL,
6708              G_LDET_PRICE_FORMULA_ID_TBL,
6709              G_LDET_PRICING_STATUS_CODE_TBL,
6710              G_LDET_PRICING_STATUS_TXT_TBL,
6711              G_LDET_PRODUCT_PRECEDENCE_TBL,
6712              G_LDET_INCOMPAT_GRP_CODE_TBL,
6713              G_LDET_PROCESSED_FLAG_TBL,
6714              G_LDET_APPLIED_FLAG_TBL,
6715              G_LDET_AUTOMATIC_FLAG_TBL,
6716              G_LDET_OVERRIDE_FLAG_TBL,
6717              G_LDET_PRIMARY_UOM_FLAG_TBL,
6718              G_LDET_PRINT_ON_INV_FLAG_TBL,
6719              G_LDET_MODIFIER_LEVEL_TBL,
6720              G_LDET_BENEFIT_QTY_TBL,
6721              G_LDET_BENEFIT_UOM_CODE_TBL,
6722              G_LDET_LIST_LINE_NO_TBL,
6723              G_LDET_ACCRUAL_FLAG_TBL,
6724              G_LDET_ACCR_CONV_RATE_TBL,
6725              G_LDET_ESTIM_ACCR_RATE_TBL,
6726              G_LDET_RECURRING_FLAG_TBL,
6727              G_LDET_SELECTED_VOL_ATTR_TBL,
6728              G_LDET_ROUNDING_FACTOR_TBL,
6729              G_LDET_HDR_LIMIT_EXISTS_TBL,
6730              G_LDET_LINE_LIMIT_EXISTS_TBL,
6731              G_LDET_CHARGE_TYPE_TBL,
6732              G_LDET_CHARGE_SUBTYPE_TBL,
6733              G_LDET_CURRENCY_DTL_ID_TBL,
6734              G_LDET_CURRENCY_HDR_ID_TBL,
6735              G_LDET_SELLING_ROUND_TBL,
6736              G_LDET_ORDER_CURRENCY_TBL,
6737              G_LDET_PRICING_EFF_DATE_TBL,
6738              G_LDET_BASE_CURRENCY_TBL,
6739              G_LDET_LINE_QUANTITY_TBL,
6740              G_LDET_UPDATED_FLAG_TBL,
6741              G_LDET_CALC_CODE_TBL,
6742              G_LDET_CHG_REASON_CODE_TBL,
6743              G_LDET_CHG_REASON_TEXT_TBL
6744       FROM ASO_PRICE_ADJUSTMENTS adj
6745       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
6746 	 AND   (NVL(adj.updated_flag,'N') = 'Y' OR  nvl(adj.automatic_flag,'N') = 'Y');
6747 
6748    x_adj_id_tbl := l_adj_id_tbl;
6749 
6750    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6751      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
6752    END IF;
6753 
6754 END Query_price_Adj_All;
6755 
6756 /*Query only Header Adjs*/
6757 PROCEDURE Query_Price_Adj_Header
6758 (p_quote_header_id    IN NUMBER)
6759 IS
6760 BEGIN
6761 
6762  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6763     aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Price_Adj_Header',1,'Y');
6764  END IF;
6765 
6766  --Only support % at the header level
6767  UPDATE ASO_PRICE_ADJUSTMENTS
6768  SET OPERAND_PER_PQTY = operand
6769  WHERE quote_header_id = p_quote_header_id
6770  AND quote_line_id is null
6771  AND (applied_flag = 'Y' OR updated_flag = 'Y');
6772 
6773  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6774      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
6775  END IF;
6776 
6777        SELECT
6778            PRICE_ADJUSTMENT_ID,
6779 		 PRICE_ADJUSTMENT_ID,
6780            'NULL', --line_detail_type_code
6781            PRICE_BREAK_TYPE_CODE,
6782            NULL,
6783            1,
6784            MODIFIER_HEADER_ID,
6785            MODIFIER_LINE_ID,
6786            MODIFIER_LINE_TYPE_CODE,
6787            NULL,--List type code that we do not store currently
6788            NULL,--Created from SQL
6789            PRICING_GROUP_SEQUENCE,
6790            PRICING_PHASE_ID,
6791            ARITHMETIC_OPERATOR,
6792            nvl(OPERAND_PER_PQTY,OPERAND),
6793            NULL,--substitution_attribute
6794            MODIFIED_FROM,
6795            MODIFIED_TO,
6796            NULL,--ask_for_flag that we do not store currently
6797            NULL,--formula_id
6798            'X',--pricing_status_code
6799            NULL,--pricing_status_text
6800            NULL,--product_precedence
6801            NULL,--incompatibility_group
6802            'N',--processed_flag
6803            APPLIED_FLAG,
6804            AUTOMATIC_FLAG,
6805            UPDATE_ALLOWABLE_FLAG,
6806            NULL,--primary_uom_flag
6807            ON_INVOICE_FLAG,
6808            MODIFIER_LEVEL_CODE,
6809            BENEFIT_QTY,
6810            BENEFIT_UOM_CODE,
6811            LIST_LINE_NO,
6812            ACCRUAL_FLAG,
6813            ACCRUAL_CONVERSION_RATE,
6814            NULL,--estim_accrual_rate
6815            'N',--recurring_flag
6816            NULL,--selected_vol_attr
6817            NULL,--rounding_factor
6818            NULL,--hdr_limit_exist
6819            NULL,--Line_limit_exist
6820            CHARGE_TYPE_CODE,
6821            CHARGE_SUBTYPE_CODE,
6822            NULL,--currency_detail_id
6823            NULL,--currency_hdr_id
6824            NULL,--selling_round
6825            NULL,--order_currency
6826            NULL,--pricing_effect_date
6827            NULL,--base_currency
6828            RANGE_BREAK_QUANTITY,
6829            UPDATED_FLAG,
6830            MODIFIER_MECHANISM_TYPE_CODE,
6831            CHANGE_REASON_CODE,
6832            CHANGE_REASON_TEXT
6833 	 BULK COLLECT INTO
6834              G_LDET_LINE_DTL_INDEX_TBL,
6835 		   G_LDET_PRICE_ADJ_ID_TBL,
6836              G_LDET_LINE_DTL_TYPE_TBL,
6837              G_LDET_PRICE_BREAK_TYPE_TBL,
6838              G_LDET_LIST_PRICE_TBL,
6839              G_LDET_LINE_INDEX_TBL,
6840              G_LDET_LIST_HEADER_ID_TBL,
6841              G_LDET_LIST_LINE_ID_TBL,
6842              G_LDET_LIST_LINE_TYPE_TBL,
6843              G_LDET_LIST_TYPE_CODE_TBL,
6844              G_LDET_CREATED_FROM_SQL_TBL,
6845              G_LDET_PRICING_GRP_SEQ_TBL,
6846              G_LDET_PRICING_PHASE_ID_TBL,
6847              G_LDET_OPERAND_CALC_CODE_TBL,
6848              G_LDET_OPERAND_VALUE_TBL,
6849              G_LDET_SUBSTN_TYPE_TBL,
6850              G_LDET_SUBSTN_VALUE_FROM_TBL,
6851              G_LDET_SUBSTN_VALUE_TO_TBL,
6852              G_LDET_ASK_FOR_FLAG_TBL,
6853              G_LDET_PRICE_FORMULA_ID_TBL,
6854              G_LDET_PRICING_STATUS_CODE_TBL,
6855              G_LDET_PRICING_STATUS_TXT_TBL,
6856              G_LDET_PRODUCT_PRECEDENCE_TBL,
6857              G_LDET_INCOMPAT_GRP_CODE_TBL,
6858              G_LDET_PROCESSED_FLAG_TBL,
6859              G_LDET_APPLIED_FLAG_TBL,
6860              G_LDET_AUTOMATIC_FLAG_TBL,
6861              G_LDET_OVERRIDE_FLAG_TBL,
6862              G_LDET_PRIMARY_UOM_FLAG_TBL,
6863              G_LDET_PRINT_ON_INV_FLAG_TBL,
6864              G_LDET_MODIFIER_LEVEL_TBL,
6865              G_LDET_BENEFIT_QTY_TBL,
6866              G_LDET_BENEFIT_UOM_CODE_TBL,
6867              G_LDET_LIST_LINE_NO_TBL,
6868              G_LDET_ACCRUAL_FLAG_TBL,
6869              G_LDET_ACCR_CONV_RATE_TBL,
6870              G_LDET_ESTIM_ACCR_RATE_TBL,
6871              G_LDET_RECURRING_FLAG_TBL,
6872              G_LDET_SELECTED_VOL_ATTR_TBL,
6873              G_LDET_ROUNDING_FACTOR_TBL,
6874              G_LDET_HDR_LIMIT_EXISTS_TBL,
6875              G_LDET_LINE_LIMIT_EXISTS_TBL,
6876              G_LDET_CHARGE_TYPE_TBL,
6877              G_LDET_CHARGE_SUBTYPE_TBL,
6878              G_LDET_CURRENCY_DTL_ID_TBL,
6879              G_LDET_CURRENCY_HDR_ID_TBL,
6880              G_LDET_SELLING_ROUND_TBL,
6881              G_LDET_ORDER_CURRENCY_TBL,
6882              G_LDET_PRICING_EFF_DATE_TBL,
6883              G_LDET_BASE_CURRENCY_TBL,
6884              G_LDET_LINE_QUANTITY_TBL,
6885              G_LDET_UPDATED_FLAG_TBL,
6886              G_LDET_CALC_CODE_TBL,
6887              G_LDET_CHG_REASON_CODE_TBL,
6888              G_LDET_CHG_REASON_TEXT_TBL
6889       FROM ASO_PRICE_ADJUSTMENTS adj
6890       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
6891       AND   adj.QUOTE_LINE_ID IS NULL
6892 	 AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N'
6893       AND   NVL(updated_flag,'N') = 'Y';
6894 
6895 END Query_price_Adj_header;
6896 
6897 /*Query line adjs only*/
6898 /*only for the free lines before the second implicit call*/
6899 PROCEDURE Query_Price_Adj_Line
6900 (p_quote_header_id    IN  NUMBER,
6901  p_qte_line_id_tbl    IN  JTF_NUMBER_TABLE,
6902  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
6903 IS
6904  l_adj_counter   NUMBER;
6905  l_rel_counter   NUMBER;
6906  l_adj_id_tbl    JTF_NUMBER_TABLE;
6907 
6908 BEGIN
6909    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6910      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the Query_Price_Adj_line',1,'Y');
6911    END IF;
6912 
6913  UPDATE ASO_PRICE_ADJUSTMENTS apa
6914  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
6915                                   'LUMPSUM',operand,
6916                                   'AMT',(operand*l.quantity)/l.PRICING_QUANTITY,
6917                                   'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
6918                           FROM  ASO_QUOTE_LINES_ALL l
6919                           WHERE l.quote_header_id = apa.quote_header_id
6920 					 AND l.quote_line_id = apa.quote_line_id
6921                           )
6922  WHERE apa.quote_header_id = p_quote_header_id
6923  AND apa.quote_line_id is not null
6924  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
6925  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6926      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
6927  END IF;
6928 
6929  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
6930 	If p_qte_line_id_tbl.count is not null then
6931 	   For i in 1..p_qte_line_id_tbl.count loop
6932 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:Querying for the following quote line ids:',1,'Y');
6933 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_line_id_tbl(i):'||p_qte_line_id_tbl(i),1,'Y');
6934 	   End Loop;
6935 	End If;
6936    END IF;
6937 
6938        SELECT
6939 		 PRICE_ADJUSTMENT_ID,
6940            PRICE_ADJUSTMENT_ID,
6941 		 PRICE_ADJUSTMENT_ID,
6942            'NULL', --line_detail_type_code
6943            PRICE_BREAK_TYPE_CODE,
6944            NULL,
6945            quote_line_id,
6946            MODIFIER_HEADER_ID,
6947            MODIFIER_LINE_ID,
6948            MODIFIER_LINE_TYPE_CODE,
6949            NULL,--List type code that we do not store currently
6950            NULL,--Created from SQL
6951            PRICING_GROUP_SEQUENCE,
6952            PRICING_PHASE_ID,
6953            ARITHMETIC_OPERATOR,
6954            nvl(OPERAND_PER_PQTY,OPERAND),
6955            NULL,--substitution_attribute
6956            MODIFIED_FROM,
6957            MODIFIED_TO,
6958            NULL,--ask_for_flag that we do not store currently
6959            NULL,--formula_id
6960            'X',--pricing_status_code
6961            NULL,--pricing_status_text
6962            NULL,--product_precedence
6963            NULL,--incompatibility_group
6964            'N',--processed_flag
6965            APPLIED_FLAG,
6966            AUTOMATIC_FLAG,
6967            UPDATE_ALLOWABLE_FLAG,
6968            NULL,--primary_uom_flag
6969            ON_INVOICE_FLAG,
6970            MODIFIER_LEVEL_CODE,
6971            BENEFIT_QTY,
6972            BENEFIT_UOM_CODE,
6973            LIST_LINE_NO,
6974            ACCRUAL_FLAG,
6975            ACCRUAL_CONVERSION_RATE,
6976            NULL,--estim_accrual_rate
6977            'N',--recurring_flag
6978            NULL,--selected_vol_attr
6979            NULL,--rounding_factor
6980            NULL,--hdr_limit_exist
6981            NULL,--Line_limit_exist
6982            CHARGE_TYPE_CODE,
6983            CHARGE_SUBTYPE_CODE,
6984            NULL,--currency_detail_id
6985            NULL,--currency_hdr_id
6986            NULL,--selling_round
6987            NULL,--order_currency
6988            NULL,--pricing_effect_date
6989            NULL,--base_currency
6990            RANGE_BREAK_QUANTITY,
6991            UPDATED_FLAG,
6992            MODIFIER_MECHANISM_TYPE_CODE,
6993            CHANGE_REASON_CODE,
6994            CHANGE_REASON_TEXT
6995 	 BULK COLLECT INTO
6996 		   l_adj_id_tbl,
6997              G_LDET_LINE_DTL_INDEX_TBL,
6998 		   G_LDET_PRICE_ADJ_ID_TBL,
6999              G_LDET_LINE_DTL_TYPE_TBL,
7000              G_LDET_PRICE_BREAK_TYPE_TBL,
7001              G_LDET_LIST_PRICE_TBL,
7002              G_LDET_LINE_INDEX_TBL,
7003              G_LDET_LIST_HEADER_ID_TBL,
7004              G_LDET_LIST_LINE_ID_TBL,
7005              G_LDET_LIST_LINE_TYPE_TBL,
7006              G_LDET_LIST_TYPE_CODE_TBL,
7007              G_LDET_CREATED_FROM_SQL_TBL,
7008              G_LDET_PRICING_GRP_SEQ_TBL,
7009              G_LDET_PRICING_PHASE_ID_TBL,
7010              G_LDET_OPERAND_CALC_CODE_TBL,
7011              G_LDET_OPERAND_VALUE_TBL,
7012              G_LDET_SUBSTN_TYPE_TBL,
7013              G_LDET_SUBSTN_VALUE_FROM_TBL,
7014              G_LDET_SUBSTN_VALUE_TO_TBL,
7015              G_LDET_ASK_FOR_FLAG_TBL,
7016              G_LDET_PRICE_FORMULA_ID_TBL,
7017              G_LDET_PRICING_STATUS_CODE_TBL,
7018              G_LDET_PRICING_STATUS_TXT_TBL,
7019              G_LDET_PRODUCT_PRECEDENCE_TBL,
7020              G_LDET_INCOMPAT_GRP_CODE_TBL,
7021              G_LDET_PROCESSED_FLAG_TBL,
7022              G_LDET_APPLIED_FLAG_TBL,
7023              G_LDET_AUTOMATIC_FLAG_TBL,
7024              G_LDET_OVERRIDE_FLAG_TBL,
7025              G_LDET_PRIMARY_UOM_FLAG_TBL,
7026              G_LDET_PRINT_ON_INV_FLAG_TBL,
7027              G_LDET_MODIFIER_LEVEL_TBL,
7028              G_LDET_BENEFIT_QTY_TBL,
7029              G_LDET_BENEFIT_UOM_CODE_TBL,
7030              G_LDET_LIST_LINE_NO_TBL,
7031              G_LDET_ACCRUAL_FLAG_TBL,
7032              G_LDET_ACCR_CONV_RATE_TBL,
7033              G_LDET_ESTIM_ACCR_RATE_TBL,
7034              G_LDET_RECURRING_FLAG_TBL,
7035              G_LDET_SELECTED_VOL_ATTR_TBL,
7036              G_LDET_ROUNDING_FACTOR_TBL,
7037              G_LDET_HDR_LIMIT_EXISTS_TBL,
7038              G_LDET_LINE_LIMIT_EXISTS_TBL,
7039              G_LDET_CHARGE_TYPE_TBL,
7040              G_LDET_CHARGE_SUBTYPE_TBL,
7041              G_LDET_CURRENCY_DTL_ID_TBL,
7042              G_LDET_CURRENCY_HDR_ID_TBL,
7043              G_LDET_SELLING_ROUND_TBL,
7044              G_LDET_ORDER_CURRENCY_TBL,
7045              G_LDET_PRICING_EFF_DATE_TBL,
7046              G_LDET_BASE_CURRENCY_TBL,
7047              G_LDET_LINE_QUANTITY_TBL,
7048              G_LDET_UPDATED_FLAG_TBL,
7049              G_LDET_CALC_CODE_TBL,
7050              G_LDET_CHG_REASON_CODE_TBL,
7051              G_LDET_CHG_REASON_TEXT_TBL
7052       FROM ASO_PRICE_ADJUSTMENTS adj,
7053            TABLE (CAST(P_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) Lines
7054       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7055       AND   adj.QUOTE_LINE_ID = Lines.column_value
7056 	 AND   adj.QUOTE_LINE_ID IS NOT NULL
7057 	 AND   adj.modifier_line_type_code = 'DIS';
7058 
7059 	--We won't need this since in the second implicit call the only Adj record for free line
7060 	--is the PRG related DIS record.
7061 	 /*AND EXISTS ( SELECT null
7062 			      FROM ASO_PRICE_ADJUSTMENTS adj2,
7063                           ASO_PRICE_ADJ_RELATIONSHIPS rlt
7064                      WHERE rlt.rltd_price_adj_id = adj.price_adjustment_id
7065                      AND   adj2.modifier_line_type_code = 'PRG'
7066                      AND   adj2.quote_header_id = adj.quote_header_id
7067                      AND   adj2.price_adjustment_id = rlt.price_adjustment_id));*/
7068 
7069    x_adj_id_tbl := l_adj_id_tbl;
7070    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7071      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
7072    END IF;
7073 
7074 END Query_price_Adj_line;
7075 
7076 /*Query both header and line adjs*/
7077 PROCEDURE Query_Price_Adjustments
7078 (p_quote_header_id    IN  NUMBER,
7079  p_qte_line_id_tbl    IN  JTF_NUMBER_TABLE,
7080  x_adj_id_tbl         OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE)
7081 IS
7082  l_adj_counter   NUMBER;
7083  l_rel_counter   NUMBER;
7084  l_adj_id_tbl    JTF_NUMBER_TABLE;
7085 
7086 BEGIN
7087    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7088      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of the Query_Price_Adjustments',1,'Y');
7089    END IF;
7090 --bug8599987 changed to operand from 'AMT',(operand*l.quantity)/l.PRICING_QUANTITY
7091 --bug8599987 changed to operand from 'NEWPRICE',(operand*l.quantity)/l.PRICING_QUANTITY)
7092  UPDATE ASO_PRICE_ADJUSTMENTS apa
7093  SET OPERAND_PER_PQTY = (SELECT decode(arithmetic_operator,'%',operand,
7094                                   'LUMPSUM',operand,
7095                                   'AMT',operand,
7096                                   'NEWPRICE',operand)
7097                           FROM  ASO_QUOTE_LINES_ALL l
7098                           WHERE l.quote_header_id = apa.quote_header_id
7099 					 AND l.quote_line_id = apa.quote_line_id
7100                           )
7101  WHERE apa.quote_header_id = p_quote_header_id
7102  AND apa.quote_line_id is not null
7103  AND   (apa.applied_flag = 'Y' or apa.updated_flag = 'Y');
7104  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7105      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Line level: '||sql%ROWCOUNT,1,'Y');
7106  END IF;
7107 
7108  --Only support % at the header level
7109  UPDATE ASO_PRICE_ADJUSTMENTS
7110  SET OPERAND_PER_PQTY = operand
7111  WHERE quote_header_id = p_quote_header_id
7112  AND quote_line_id is null
7113  AND (applied_flag = 'Y' OR updated_flag = 'Y');
7114 
7115  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7116      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Operand per pqty updated rows - Header Level: '||sql%ROWCOUNT,1,'Y');
7117 	If p_qte_line_id_tbl.count is not null then
7118 	   For i in 1..p_qte_line_id_tbl.count loop
7119 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:Querying for the following quote line ids:',1,'Y');
7120 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_line_id_tbl(i):'||p_qte_line_id_tbl(i),1,'Y');
7121 	   End Loop;
7122 	End If;
7123    END IF;
7124 
7125        SELECT
7126 		 PRICE_ADJUSTMENT_ID,
7127            PRICE_ADJUSTMENT_ID,
7128 		 PRICE_ADJUSTMENT_ID,
7129            'NULL', --line_detail_type_code
7130            PRICE_BREAK_TYPE_CODE,
7131            NULL,
7132 		 1,
7133            MODIFIER_HEADER_ID,
7134            MODIFIER_LINE_ID,
7135            MODIFIER_LINE_TYPE_CODE,
7136            NULL,--List type code that we do not store currently
7137            NULL,--Created from SQL
7138            PRICING_GROUP_SEQUENCE,
7139            PRICING_PHASE_ID,
7140            ARITHMETIC_OPERATOR,
7141 		 nvl(OPERAND_PER_PQTY,OPERAND),
7142            NULL,--substitution_attribute
7143            MODIFIED_FROM,
7144            MODIFIED_TO,
7145            NULL,--ask_for_flag that we do not store currently
7146            NULL,--formula_id
7147            'X',--pricing_status_code
7148            NULL,--pricing_status_text
7149            NULL,--product_precedence
7150            NULL,--incompatibility_group
7151            'N',--processed_flag
7152            APPLIED_FLAG,
7153            AUTOMATIC_FLAG,
7154            UPDATE_ALLOWABLE_FLAG,
7155            NULL,--primary_uom_flag
7156            ON_INVOICE_FLAG,
7157            MODIFIER_LEVEL_CODE,
7158            BENEFIT_QTY,
7159            BENEFIT_UOM_CODE,
7160            LIST_LINE_NO,
7161            ACCRUAL_FLAG,
7162            ACCRUAL_CONVERSION_RATE,
7163            NULL,--estim_accrual_rate
7164            'N',--recurring_flag
7165            NULL,--selected_vol_attr
7166            NULL,--rounding_factor
7167            NULL,--hdr_limit_exist
7168            NULL,--Line_limit_exist
7169            CHARGE_TYPE_CODE,
7170            CHARGE_SUBTYPE_CODE,
7171            NULL,--currency_detail_id
7172            NULL,--currency_hdr_id
7173            NULL,--selling_round
7174            NULL,--order_currency
7175            NULL,--pricing_effect_date
7176            NULL,--base_currency
7177            RANGE_BREAK_QUANTITY,
7178            UPDATED_FLAG,
7179            MODIFIER_MECHANISM_TYPE_CODE,
7180            CHANGE_REASON_CODE,
7181            CHANGE_REASON_TEXT
7182 	 BULK COLLECT INTO
7183 		   l_adj_id_tbl,
7184              G_LDET_LINE_DTL_INDEX_TBL,
7185 		   G_LDET_PRICE_ADJ_ID_TBL,
7186              G_LDET_LINE_DTL_TYPE_TBL,
7187              G_LDET_PRICE_BREAK_TYPE_TBL,
7188              G_LDET_LIST_PRICE_TBL,
7189              G_LDET_LINE_INDEX_TBL,
7190              G_LDET_LIST_HEADER_ID_TBL,
7191              G_LDET_LIST_LINE_ID_TBL,
7192              G_LDET_LIST_LINE_TYPE_TBL,
7193              G_LDET_LIST_TYPE_CODE_TBL,
7194              G_LDET_CREATED_FROM_SQL_TBL,
7195              G_LDET_PRICING_GRP_SEQ_TBL,
7196              G_LDET_PRICING_PHASE_ID_TBL,
7197              G_LDET_OPERAND_CALC_CODE_TBL,
7198              G_LDET_OPERAND_VALUE_TBL,
7199              G_LDET_SUBSTN_TYPE_TBL,
7200              G_LDET_SUBSTN_VALUE_FROM_TBL,
7201              G_LDET_SUBSTN_VALUE_TO_TBL,
7202              G_LDET_ASK_FOR_FLAG_TBL,
7203              G_LDET_PRICE_FORMULA_ID_TBL,
7204              G_LDET_PRICING_STATUS_CODE_TBL,
7205              G_LDET_PRICING_STATUS_TXT_TBL,
7206              G_LDET_PRODUCT_PRECEDENCE_TBL,
7207              G_LDET_INCOMPAT_GRP_CODE_TBL,
7208              G_LDET_PROCESSED_FLAG_TBL,
7209              G_LDET_APPLIED_FLAG_TBL,
7210              G_LDET_AUTOMATIC_FLAG_TBL,
7211              G_LDET_OVERRIDE_FLAG_TBL,
7212              G_LDET_PRIMARY_UOM_FLAG_TBL,
7213              G_LDET_PRINT_ON_INV_FLAG_TBL,
7214              G_LDET_MODIFIER_LEVEL_TBL,
7215              G_LDET_BENEFIT_QTY_TBL,
7216              G_LDET_BENEFIT_UOM_CODE_TBL,
7217              G_LDET_LIST_LINE_NO_TBL,
7218              G_LDET_ACCRUAL_FLAG_TBL,
7219              G_LDET_ACCR_CONV_RATE_TBL,
7220              G_LDET_ESTIM_ACCR_RATE_TBL,
7221              G_LDET_RECURRING_FLAG_TBL,
7222              G_LDET_SELECTED_VOL_ATTR_TBL,
7223              G_LDET_ROUNDING_FACTOR_TBL,
7224              G_LDET_HDR_LIMIT_EXISTS_TBL,
7225              G_LDET_LINE_LIMIT_EXISTS_TBL,
7226              G_LDET_CHARGE_TYPE_TBL,
7227              G_LDET_CHARGE_SUBTYPE_TBL,
7228              G_LDET_CURRENCY_DTL_ID_TBL,
7229              G_LDET_CURRENCY_HDR_ID_TBL,
7230              G_LDET_SELLING_ROUND_TBL,
7231              G_LDET_ORDER_CURRENCY_TBL,
7232              G_LDET_PRICING_EFF_DATE_TBL,
7233              G_LDET_BASE_CURRENCY_TBL,
7234              G_LDET_LINE_QUANTITY_TBL,
7235              G_LDET_UPDATED_FLAG_TBL,
7236              G_LDET_CALC_CODE_TBL,
7237              G_LDET_CHG_REASON_CODE_TBL,
7238              G_LDET_CHG_REASON_TEXT_TBL
7239       FROM ASO_PRICE_ADJUSTMENTS adj
7240       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7241       AND   NVL(adj.updated_flag,'N') = 'Y'
7242       AND   adj.QUOTE_LINE_ID IS NULL
7243 	 AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N'
7244    UNION ALL
7245       SELECT
7246 		 PRICE_ADJUSTMENT_ID,
7247            PRICE_ADJUSTMENT_ID,
7248 		 PRICE_ADJUSTMENT_ID,
7249            'NULL', --line_detail_type_code
7250            PRICE_BREAK_TYPE_CODE,
7251            NULL,
7252            quote_line_id,
7253            MODIFIER_HEADER_ID,
7254            MODIFIER_LINE_ID,
7255            MODIFIER_LINE_TYPE_CODE,
7256            NULL,--List type code that we do not store currently
7257            NULL,--Created from SQL
7258            PRICING_GROUP_SEQUENCE,
7259            PRICING_PHASE_ID,
7260            ARITHMETIC_OPERATOR,
7261 		 nvl(OPERAND_PER_PQTY,OPERAND),
7262            NULL,--substitution_attribute
7263            MODIFIED_FROM,
7264            MODIFIED_TO,
7265            NULL,--ask_for_flag that we do not store currently
7266            NULL,--formula_id
7267            'X',--pricing_status_code
7268            NULL,--pricing_status_text
7269            NULL,--product_precedence
7270            NULL,--incompatibility_group
7271            'N',--processed_flag
7272            APPLIED_FLAG,
7273            AUTOMATIC_FLAG,
7274            UPDATE_ALLOWABLE_FLAG,
7275            NULL,--primary_uom_flag
7276            ON_INVOICE_FLAG,
7277            MODIFIER_LEVEL_CODE,
7278            BENEFIT_QTY,
7279            BENEFIT_UOM_CODE,
7280            LIST_LINE_NO,
7281            ACCRUAL_FLAG,
7282            ACCRUAL_CONVERSION_RATE,
7283            NULL,--estim_accrual_rate
7284            'N',--recurring_flag
7285            NULL,--selected_vol_attr
7286            NULL,--rounding_factor
7287            NULL,--hdr_limit_exist
7288            NULL,--Line_limit_exist
7289            CHARGE_TYPE_CODE,
7290            CHARGE_SUBTYPE_CODE,
7291            NULL,--currency_detail_id
7292            NULL,--currency_hdr_id
7293            NULL,--selling_round
7294            NULL,--order_currency
7295            NULL,--pricing_effect_date
7296            NULL,--base_currency
7297            RANGE_BREAK_QUANTITY,
7298            UPDATED_FLAG,
7299            MODIFIER_MECHANISM_TYPE_CODE,
7300            CHANGE_REASON_CODE,
7301            CHANGE_REASON_TEXT
7302       FROM ASO_PRICE_ADJUSTMENTS adj,
7303            TABLE (CAST(P_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) Lines
7304       WHERE adj.QUOTE_HEADER_ID   = p_quote_header_id
7305       AND   adj.QUOTE_LINE_ID = Lines.column_value
7306 	 AND   adj.QUOTE_LINE_ID IS NOT NULL
7307       AND   (( NVL(adj.updated_flag,'N') = 'Y'
7308               AND   EXISTS ( SELECT null from ASO_QUOTE_LINES_ALL lines2
7309                    WHERE  lines2.quote_line_id = adj.quote_line_id
7310                    AND    nvl(lines2.RECALCULATE_FLAG,'N') = 'N' )
7311               AND   NVL(ASO_PRICING_INT.G_HEADER_REC.RECALCULATE_FLAG,'N') = 'N')
7312 		    OR ( adj.modifier_line_type_code = 'PRG'
7313                  OR
7314                  ( adj.modifier_line_type_code = 'DIS' and exists ( select null from aso_price_adjustments adj2,
7315                                                                                    aso_price_adj_relationships rlt
7316                                                             where rlt.rltd_price_adj_id = adj.price_adjustment_id
7317                                                             and   adj2.modifier_line_type_code = 'PRG'
7318                                                             and   adj2.quote_header_id = adj.quote_header_id
7319                                                             and   adj2.price_adjustment_id = rlt.price_adjustment_id))));
7320 
7321    x_adj_id_tbl := l_adj_id_tbl;
7322    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7323      aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_adj_id_tbl.count:'||nvl(x_adj_id_tbl.count,0),1,'Y');
7324    END IF;
7325 
7326 END Query_price_Adjustments;
7327 
7328 PROCEDURE Query_Relationships(p_qte_adj_id_tbl IN JTF_NUMBER_TABLE,
7329                               p_service_qte_line_id_tbl IN JTF_NUMBER_TABLE)
7330 IS
7331 BEGIN
7332 
7333 
7334 IF  p_service_qte_line_id_tbl.exists(1) AND p_qte_adj_id_tbl.exists(1) THEN
7335 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7336   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get both price adj rltship and service rltship',1,'Y');
7337 END IF;
7338 SELECT
7339      adj_rel.quote_line_id,
7340      adj_rel.price_adjustment_id,
7341      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),
7342      adj_rel.rltd_price_adj_id,
7343      dbadjrel.quote_line_id,
7344 	dbadj.modifier_line_id,
7345 	dbadjrel.modifier_line_id
7346 BULK COLLECT INTO
7347      G_RLTD_LINE_INDEX_TBL,
7348      G_RLTD_LINE_DTL_INDEX_TBL,
7349      G_RLTD_RELATION_TYPE_CODE_TBL,
7350      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7351      G_RLTD_RELATED_LINE_IND_TBL,
7352 	G_RLTD_LST_LN_ID_DEF_TBL,
7353 	G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7354 FROM  ASO_PRICE_ADJ_RELATIONSHIPS adj_rel,
7355       ASO_PRICE_ADJUSTMENTS dbadj,
7356 	 ASO_PRICE_ADJUSTMENTS dbadjrel,
7357       TABLE (CAST(p_qte_adj_id_tbl AS JTF_NUMBER_TABLE)) adj
7358 WHERE  dbadj.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7359 AND    dbadjrel.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7360 AND    adj_rel.price_adjustment_id = adj.column_value
7361 AND    dbadj.price_adjustment_id = adj_rel.price_adjustment_id
7362 AND    dbadjrel.price_adjustment_id = adj_rel.rltd_price_adj_id
7363 AND    dbadj.modifier_line_type_code IN (QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PROMO_GOODS_DISCOUNT)
7364 UNION ALL
7365 SELECT
7366      ldets.service_ref_line_id quote_line_id,
7367      0,
7368      QP_PREQ_GRP.G_SERVICE_LINE,
7369      0,
7370      ldets.quote_line_id related_quote_line_id,
7371 	to_number(NULL),
7372      to_number(NULL)
7373 FROM ASO_QUOTE_LINE_DETAILS ldets,
7374      TABLE (CAST(P_service_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) serviceLines,
7375      ASO_QUOTE_LINES_ALL lines
7376 WHERE ldets.quote_line_id = serviceLines.column_value
7377 AND   lines.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7378 AND   lines.quote_line_id = ldets.quote_line_id
7379 AND   ldets.service_ref_line_id IS NOT NULL;
7380 
7381 ELSIF  p_service_qte_line_id_tbl is not null and  p_service_qte_line_id_tbl.exists(1) then
7382   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7383      aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get only service rltship',1,'Y');
7384   END IF;
7385 
7386   SELECT
7387      ldets.service_ref_line_id quote_line_id,
7388      0,
7389      QP_PREQ_GRP.G_SERVICE_LINE,
7390      0,
7391      ldets.quote_line_id related_quote_line_id,
7392      to_number(NULL),
7393      to_number(NULL)
7394   BULK COLLECT INTO
7395      G_RLTD_LINE_INDEX_TBL,
7396      G_RLTD_LINE_DTL_INDEX_TBL,
7397      G_RLTD_RELATION_TYPE_CODE_TBL,
7398      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7399      G_RLTD_RELATED_LINE_IND_TBL,
7400      G_RLTD_LST_LN_ID_DEF_TBL,
7401      G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7402   FROM ASO_QUOTE_LINE_DETAILS ldets,
7403      TABLE (CAST(P_service_Qte_Line_id_tbl AS JTF_NUMBER_TABLE)) serviceLines,
7404      ASO_QUOTE_LINES_ALL lines
7405   WHERE ldets.quote_line_id = serviceLines.column_value
7406   AND   lines.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7407   AND   lines.quote_line_id = ldets.quote_line_id
7408   AND   ldets.service_ref_line_id IS NOT NULL;
7409 
7410 ELSIF  p_qte_adj_id_tbl is not null and p_qte_adj_id_tbl.exists(1) THEN
7411 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7412   aso_debug_pub.add('ASO_PRICING_CORE_PVT: Get only price adj rltship',1,'Y');
7413 END IF;
7414 SELECT
7415      adj_rel.quote_line_id,
7416      adj_rel.price_adjustment_id,
7417      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),
7418      adj_rel.rltd_price_adj_id,
7419      dbadjrel.quote_line_id,
7420 	dbadj.modifier_line_id,
7421 	dbadjrel.modifier_line_id
7422 BULK COLLECT INTO
7423      G_RLTD_LINE_INDEX_TBL,
7424      G_RLTD_LINE_DTL_INDEX_TBL,
7425      G_RLTD_RELATION_TYPE_CODE_TBL,
7426      G_RLTD_RLTD_LINE_DTL_IND_TBL,
7427      G_RLTD_RELATED_LINE_IND_TBL,
7428 	G_RLTD_LST_LN_ID_DEF_TBL,
7429 	G_RLTD_RLTD_LST_LN_ID_DEF_TBL
7430 FROM  ASO_PRICE_ADJ_RELATIONSHIPS adj_rel,
7431       ASO_PRICE_ADJUSTMENTS dbadj,
7432 	 ASO_PRICE_ADJUSTMENTS dbadjrel,
7433       TABLE (CAST(p_qte_adj_id_tbl AS JTF_NUMBER_TABLE)) adj
7434 WHERE  dbadj.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7435 AND    dbadjrel.quote_header_id = ASO_PRICING_INT.G_HEADER_REC.quote_header_id
7436 AND    adj_rel.price_adjustment_id = adj.column_value
7437 AND    dbadj.price_adjustment_id = adj_rel.price_adjustment_id
7438 AND    dbadjrel.price_adjustment_id = adj_rel.rltd_price_adj_id
7439 AND    dbadj.modifier_line_type_code IN (QP_PREQ_GRP.G_PRICE_BREAK_TYPE,QP_PREQ_GRP.G_PROMO_GOODS_DISCOUNT);
7440 
7441 END IF;
7442 
7443 END Query_relationships;
7444 
7445 PROCEDURE Print_Global_Data_Lines
7446 IS
7447 
7448 BEGIN
7449 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7450   aso_debug_pub.add('===================GLOBAL LINES==============================================',1,'Y');
7451   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_INDEX_TBL.count:'
7452                      ||nvl(G_LINE_INDEX_TBL.count,0),1,'Y');
7453 END IF;
7454 If nvl(G_LINE_INDEX_TBL.count,0) > 0 then
7455 For i in 1..G_LINE_INDEX_TBL.count loop
7456 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7457   aso_debug_pub.add('G_LINE_INDEX_TBL('||i||'):'||G_LINE_INDEX_TBL(i),1,'Y');
7458 END IF;
7459 end loop;
7460 end if;
7461 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7462   aso_debug_pub.add('  ',1,'Y');
7463   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_TYPE_CODE_TBL.count:'
7464                      ||nvl(G_LINE_TYPE_CODE_TBL.count,0),1,'Y');
7465 END IF;
7466 
7467 If nvl(G_LINE_INDEX_TBL.count,0) > 0 then
7468 For i in 1..G_LINE_TYPE_CODE_TBL.count loop
7469 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7470   aso_debug_pub.add('G_LINE_TYPE_CODE_TBL('||i||'):'||G_LINE_TYPE_CODE_TBL(i),1,'Y');
7471 END IF;
7472 end loop;
7473 end if;
7474 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7475   aso_debug_pub.add('  ',1,'Y');
7476   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_EFFECTIVE_DATE_TBL.count:'
7477                      ||nvl(G_PRICING_EFFECTIVE_DATE_TBL.count,0),1,'Y');
7478 END IF;
7479 
7480 If nvl(G_PRICING_EFFECTIVE_DATE_TBL.count,0) > 0 then
7481 For i in 1..G_PRICING_EFFECTIVE_DATE_TBL.count loop
7482 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7483   aso_debug_pub.add('G_PRICING_EFFECTIVE_DATE_TBL('||i||'):'||G_PRICING_EFFECTIVE_DATE_TBL(i),1,'Y');
7484 END IF;
7485 end loop;
7486 end if;
7487 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7488   aso_debug_pub.add('  ',1,'Y');
7489   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_FIRST_TBL.count:'
7490                      ||nvl(G_ACTIVE_DATE_FIRST_TBL.count,0),1,'Y');
7491 END IF;
7492 
7493 If nvl(G_ACTIVE_DATE_FIRST_TBL.count,0) > 0 then
7494 For i in 1..G_ACTIVE_DATE_FIRST_TBL.count loop
7495 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7496   aso_debug_pub.add('G_ACTIVE_DATE_FIRST_TBL('||i||'):'||G_ACTIVE_DATE_FIRST_TBL(i),1,'Y');
7497 END IF;
7498 end loop;
7499 end if;
7500 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7501   aso_debug_pub.add('  ',1,'Y');
7502   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_FIRST_TYPE_TBL.count:'
7503                      ||nvl(G_ACTIVE_DATE_FIRST_TYPE_TBL.count,0),1,'Y');
7504 END IF;
7505 
7506 If nvl(G_ACTIVE_DATE_FIRST_TYPE_TBL.count,0) > 0 then
7507 For i in 1..G_ACTIVE_DATE_FIRST_TYPE_TBL.count loop
7508 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7509   aso_debug_pub.add('G_ACTIVE_DATE_FIRST_TYPE_TBL('||i||'):'||G_ACTIVE_DATE_FIRST_TYPE_TBL(i),1,'Y');
7510 END IF;
7511 end loop;
7512 end if;
7513 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7514   aso_debug_pub.add('  ',1,'Y');
7515   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_SECOND_TBL.count:'
7516                      ||nvl(G_ACTIVE_DATE_SECOND_TBL.count,0),1,'Y');
7517 END IF;
7518 
7519 If nvl(G_ACTIVE_DATE_SECOND_TBL.count,0) > 0 then
7520 For i in 1..G_ACTIVE_DATE_SECOND_TBL.count loop
7521 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7522   aso_debug_pub.add('G_ACTIVE_DATE_SECOND_TBL('||i||'):'||G_ACTIVE_DATE_SECOND_TBL(i),1,'Y');
7523 END IF;
7524 end loop;
7525 end if;
7526 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7527   aso_debug_pub.add('  ',1,'Y');
7528   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ACTIVE_DATE_SECOND_TYPE_TBL.count:'
7529                      ||nvl(G_ACTIVE_DATE_SECOND_TYPE_TBL.count,0),1,'Y');
7530 END IF;
7531 
7532 If nvl(G_ACTIVE_DATE_SECOND_TYPE_TBL.count,0) > 0 then
7533 For i in 1..G_ACTIVE_DATE_SECOND_TYPE_TBL.count loop
7534 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7535   aso_debug_pub.add('G_ACTIVE_DATE_SECOND_TYPE_TBL('||i||'):'||G_ACTIVE_DATE_SECOND_TYPE_TBL(i),1,'Y');
7536 END IF;
7537 end loop;
7538 end if;
7539 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7540   aso_debug_pub.add('  ',1,'Y');
7541   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_QUANTITY_TBL.count:'
7542                      ||nvl(G_LINE_QUANTITY_TBL.count,0),1,'Y');
7543 END IF;
7544 
7545 If nvl(G_LINE_QUANTITY_TBL.count,0) > 0 then
7546 For i in 1..G_LINE_QUANTITY_TBL.count loop
7547 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7548   aso_debug_pub.add('G_LINE_QUANTITY_TBL('||i||'):'||G_LINE_QUANTITY_TBL(i),1,'Y');
7549 END IF;
7550 end loop;
7551 end if;
7552 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7553   aso_debug_pub.add('  ',1,'Y');
7554   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_UOM_CODE_TBL.count:'
7555                      ||nvl(G_LINE_UOM_CODE_TBL.count,0),1,'Y');
7556 END IF;
7557 
7558 If nvl(G_LINE_UOM_CODE_TBL.count,0) > 0 then
7559 For i in 1..G_LINE_UOM_CODE_TBL.count loop
7560 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7561   aso_debug_pub.add('G_LINE_UOM_CODE_TBL('||i||'):'||G_LINE_UOM_CODE_TBL(i),1,'Y');
7562 END IF;
7563 end loop;
7564 end if;
7565 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7566   aso_debug_pub.add('  ',1,'Y');
7567   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_REQUEST_TYPE_CODE_TBL.count:'
7568                      ||nvl(G_REQUEST_TYPE_CODE_TBL.count,0),1,'Y');
7569 END IF;
7570 
7571 If nvl(G_REQUEST_TYPE_CODE_TBL.count,0) > 0 then
7572 For i in 1..G_REQUEST_TYPE_CODE_TBL.count loop
7573 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7574   aso_debug_pub.add('G_REQUEST_TYPE_CODE_TBL('||i||'):'||G_REQUEST_TYPE_CODE_TBL(i),1,'Y');
7575 END IF;
7576 end loop;
7577 end if;
7578 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7579   aso_debug_pub.add('  ',1,'Y');
7580   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICED_QUANTITY_TBL.count:'
7581                      ||nvl(G_PRICED_QUANTITY_TBL.count,0),1,'Y');
7582 END IF;
7583 
7584 If nvl(G_PRICED_QUANTITY_TBL.count,0) > 0 then
7585 For i in 1..G_PRICED_QUANTITY_TBL.count loop
7586 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7587   aso_debug_pub.add('G_PRICED_QUANTITY_TBL('||i||'):'||G_PRICED_QUANTITY_TBL(i),1,'Y');
7588 END IF;
7589 end loop;
7590 end if;
7591 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7592   aso_debug_pub.add('  ',1,'Y');
7593   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICED_UOM_CODE_TBL.count:'
7594                      ||nvl(G_PRICED_UOM_CODE_TBL.count,0),1,'Y');
7595 END IF;
7596 
7597 If nvl(G_PRICED_UOM_CODE_TBL.count,0) > 0 then
7598 For i in 1..G_PRICED_UOM_CODE_TBL.count loop
7599 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7600   aso_debug_pub.add('G_PRICED_UOM_CODE_TBL('||i||'):'||G_PRICED_UOM_CODE_TBL(i),1,'Y');
7601 END IF;
7602 end loop;
7603 end if;
7604 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7605   aso_debug_pub.add('  ',1,'Y');
7606   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CURRENCY_CODE_TBL.count:'
7607                      ||nvl(G_CURRENCY_CODE_TBL.count,0),1,'Y');
7608 END IF;
7609 
7610 If nvl(G_CURRENCY_CODE_TBL.count,0) > 0 then
7611 For i in 1..G_CURRENCY_CODE_TBL.count loop
7612 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7613   aso_debug_pub.add('G_CURRENCY_CODE_TBL('||i||'):'||G_CURRENCY_CODE_TBL(i),1,'Y');
7614 END IF;
7615 end loop;
7616 end if;
7617 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7618   aso_debug_pub.add('  ',1,'Y');
7619   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UNIT_PRICE_TBL.count:'
7620                      ||nvl(G_UNIT_PRICE_TBL.count,0),1,'Y');
7621 END IF;
7622 
7623 If nvl(G_UNIT_PRICE_TBL.count,0) > 0 then
7624 For i in 1..G_UNIT_PRICE_TBL.count loop
7625 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7626   aso_debug_pub.add('G_UNIT_PRICE_TBL('||i||'):'||G_UNIT_PRICE_TBL(i),1,'Y');
7627 END IF;
7628 end loop;
7629 end if;
7630 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7631   aso_debug_pub.add('  ',1,'Y');
7632   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PERCENT_PRICE_TBL.count:'
7633                      ||nvl(G_PERCENT_PRICE_TBL.count,0),1,'Y');
7634 END IF;
7635 
7636 If nvl(G_PERCENT_PRICE_TBL.count,0) > 0 then
7637 For i in 1..G_PERCENT_PRICE_TBL.count loop
7638 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7639   aso_debug_pub.add('G_PERCENT_PRICE_TBL('||i||'):'||G_PERCENT_PRICE_TBL(i),1,'Y');
7640 END IF;
7641 end loop;
7642 end if;
7643 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7644   aso_debug_pub.add('  ',1,'Y');
7645   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UOM_QUANTITY_TBL.count:'
7646                      ||nvl(G_UOM_QUANTITY_TBL.count,0),1,'Y');
7647 END IF;
7648 
7649 If nvl(G_UOM_QUANTITY_TBL.count,0) > 0 then
7650 For i in 1..G_UOM_QUANTITY_TBL.count loop
7651 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7652   aso_debug_pub.add('G_UOM_QUANTITY_TBL('||i||'):'||G_UOM_QUANTITY_TBL(i),1,'Y');
7653 END IF;
7654 end loop;
7655 end if;
7656 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7657   aso_debug_pub.add('  ',1,'Y');
7658   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ADJUSTED_UNIT_PRICE_TBL.count:'
7659                      ||nvl(G_ADJUSTED_UNIT_PRICE_TBL.count,0),1,'Y');
7660 END IF;
7661 
7662 If nvl(G_ADJUSTED_UNIT_PRICE_TBL.count,0) > 0 then
7663 For i in 1..G_ADJUSTED_UNIT_PRICE_TBL.count loop
7664 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7665   aso_debug_pub.add('G_ADJUSTED_UNIT_PRICE_TBL('||i||'):'||G_ADJUSTED_UNIT_PRICE_TBL(i),1,'Y');
7666 END IF;
7667 end loop;
7668 end if;
7669 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7670   aso_debug_pub.add('  ',1,'Y');
7671   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_UPD_ADJUSTED_UNIT_PRICE_TBL.count:'
7672                      ||nvl(G_UPD_ADJUSTED_UNIT_PRICE_TBL.count,0),1,'Y');
7673 END IF;
7674 
7675 If nvl(G_UPD_ADJUSTED_UNIT_PRICE_TBL.count,0) > 0 then
7676 For i in 1..G_UPD_ADJUSTED_UNIT_PRICE_TBL.count loop
7677 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7678   aso_debug_pub.add('G_UPD_ADJUSTED_UNIT_PRICE_TBL('||i||'):'||G_UPD_ADJUSTED_UNIT_PRICE_TBL(i),1,'Y');
7679 END IF;
7680 end loop;
7681 end if;
7682 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7683   aso_debug_pub.add('  ',1,'Y');
7684   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PROCESSED_FLAG_TBL.count:'
7685                      ||nvl(G_PROCESSED_FLAG_TBL.count,0),1,'Y');
7686 END IF;
7687 
7688 If nvl(G_PROCESSED_FLAG_TBL.count,0) > 0 then
7689 For i in 1..G_PROCESSED_FLAG_TBL.count loop
7690 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7691   aso_debug_pub.add('G_PROCESSED_FLAG_TBL('||i||'):'||G_PROCESSED_FLAG_TBL(i),1,'Y');
7692 END IF;
7693 end loop;
7694 end if;
7695 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7696   aso_debug_pub.add('  ',1,'Y');
7697   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_FLAG_TBL.count:'
7698                      ||nvl(G_PRICE_FLAG_TBL.count,0),1,'Y');
7699 END IF;
7700 
7701 If nvl(G_PRICE_FLAG_TBL.count,0) > 0 then
7702 For i in 1..G_PRICE_FLAG_TBL.count loop
7703 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7704   aso_debug_pub.add('G_PRICE_FLAG_TBL('||i||'):'||G_PRICE_FLAG_TBL(i),1,'Y');
7705 END IF;
7706 end loop;
7707 end if;
7708 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7709   aso_debug_pub.add('  ',1,'Y');
7710   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_ID_TBL.count:'
7711                      ||nvl(G_LINE_ID_TBL.count,0),1,'Y');
7712 END IF;
7713 
7714 If nvl(G_LINE_ID_TBL.count,0) > 0 then
7715 For i in 1..G_LINE_ID_TBL.count loop
7716 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7717   aso_debug_pub.add('G_LINE_ID_TBL('||i||'):'||G_LINE_ID_TBL(i),1,'Y');
7718 END IF;
7719 end loop;
7720 end if;
7721 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7722   aso_debug_pub.add('  ',1,'Y');
7723   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PROCESSING_ORDER_TBL.count:'
7724                      ||nvl(G_PROCESSING_ORDER_TBL.count,0),1,'Y');
7725 END IF;
7726 
7727 If nvl(G_PROCESSING_ORDER_TBL.count,0) > 0 then
7728 For i in 1..G_PROCESSING_ORDER_TBL.count loop
7729 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7730   aso_debug_pub.add('G_PROCESSING_ORDER_TBL('||i||'):'||G_PROCESSING_ORDER_TBL(i),1,'Y');
7731 END IF;
7732 end loop;
7733 end if;
7734 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7735   aso_debug_pub.add('  ',1,'Y');
7736   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_STATUS_CODE_tbl.count:'
7737                      ||nvl(G_PRICING_STATUS_CODE_tbl.count,0),1,'Y');
7738 END IF;
7739 
7740 If nvl(G_PRICING_STATUS_CODE_tbl.count,0) > 0 then
7741 For i in 1..G_PRICING_STATUS_CODE_tbl.count loop
7742 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7743   aso_debug_pub.add('G_PRICING_STATUS_CODE_tbl('||i||'):'||G_PRICING_STATUS_CODE_tbl(i),1,'Y');
7744 END IF;
7745 end loop;
7746 end if;
7747 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7748   aso_debug_pub.add('  ',1,'Y');
7749   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_STATUS_TEXT_tbl.count:'
7750                      ||nvl(G_PRICING_STATUS_TEXT_tbl.count,0),1,'Y');
7751 END IF;
7752 
7753 If nvl(G_PRICING_STATUS_TEXT_tbl.count,0) > 0 then
7754 For i in 1..G_PRICING_STATUS_TEXT_tbl.count loop
7755 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7756   aso_debug_pub.add('G_PRICING_STATUS_TEXT_tbl('||i||'):'||G_PRICING_STATUS_TEXT_tbl(i),1,'Y');
7757 END IF;
7758 end loop;
7759 end if;
7760 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7761   aso_debug_pub.add('  ',1,'Y');
7762   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ROUNDING_FLAG_TBL.count:'
7763                      ||nvl(G_ROUNDING_FLAG_TBL.count,0),1,'Y');
7764 END IF;
7765 
7766 If nvl(G_ROUNDING_FLAG_TBL.count,0) > 0 then
7767 For i in 1..G_ROUNDING_FLAG_TBL.count loop
7768 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7769   aso_debug_pub.add('G_ROUNDING_FLAG_TBL('||i||'):'||G_ROUNDING_FLAG_TBL(i),1,'Y');
7770 END IF;
7771 end loop;
7772 end if;
7773 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7774   aso_debug_pub.add('  ',1,'Y');
7775   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_ROUNDING_FACTOR_TBL.count:'
7776                      ||nvl(G_ROUNDING_FACTOR_TBL.count,0),1,'Y');
7777 END IF;
7778 
7779 If nvl(G_ROUNDING_FACTOR_TBL.count,0) > 0 then
7780 For i in 1..G_ROUNDING_FACTOR_TBL.count loop
7781 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7782   aso_debug_pub.add('G_ROUNDING_FACTOR_TBL('||i||'):'||G_ROUNDING_FACTOR_TBL(i),1,'Y');
7783 END IF;
7784 end loop;
7785 end if;
7786 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7787   aso_debug_pub.add('  ',1,'Y');
7788   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_QUALIFIERS_EXIST_FLAG_TBL.count:'
7789                      ||nvl(G_QUALIFIERS_EXIST_FLAG_TBL.count,0),1,'Y');
7790 END IF;
7791 
7792 If nvl(G_QUALIFIERS_EXIST_FLAG_TBL.count,0) > 0 then
7793 For i in 1..G_QUALIFIERS_EXIST_FLAG_TBL.count loop
7794 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7795   aso_debug_pub.add('G_QUALIFIERS_EXIST_FLAG_TBL('||i||'):'||G_QUALIFIERS_EXIST_FLAG_TBL(i),1,'Y');
7796 END IF;
7797 end loop;
7798 end if;
7799 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7800   aso_debug_pub.add('  ',1,'Y');
7801   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICING_ATTRS_EXIST_FLAG_TBL.count:'
7802                      ||nvl(G_PRICING_ATTRS_EXIST_FLAG_TBL.count,0),1,'Y');
7803 END IF;
7804 
7805 If nvl(G_PRICING_ATTRS_EXIST_FLAG_TBL.count,0) > 0 then
7806 For i in 1..G_PRICING_ATTRS_EXIST_FLAG_TBL.count loop
7807 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7808   aso_debug_pub.add('G_PRICING_ATTRS_EXIST_FLAG_TBL('||i||'):'||G_PRICING_ATTRS_EXIST_FLAG_TBL(i),1,'Y');
7809 END IF;
7810 end loop;
7811 end if;
7812 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7813   aso_debug_pub.add('  ',1,'Y');
7814   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_LIST_ID_TBL.count:'
7815                      ||nvl(G_PRICE_LIST_ID_TBL.count,0),1,'Y');
7816 END IF;
7817 
7818 If nvl(G_PRICE_LIST_ID_TBL.count,0) > 0 then
7819 For i in 1..G_PRICE_LIST_ID_TBL.count loop
7820 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7821   aso_debug_pub.add('G_PRICE_LIST_ID_TBL('||i||'):'||G_PRICE_LIST_ID_TBL(i),1,'Y');
7822 END IF;
7823 end loop;
7824 end if;
7825 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7826   aso_debug_pub.add('  ',1,'Y');
7827   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PL_VALIDATED_FLAG_TBL.count:'
7828                      ||nvl(G_PL_VALIDATED_FLAG_TBL.count,0),1,'Y');
7829 END IF;
7830 
7831 If nvl(G_PL_VALIDATED_FLAG_TBL.count,0) > 0 then
7832 For i in 1..G_PL_VALIDATED_FLAG_TBL.count loop
7833 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7834   aso_debug_pub.add('G_PL_VALIDATED_FLAG_TBL('||i||'):'||G_PL_VALIDATED_FLAG_TBL(i),1,'Y');
7835 END IF;
7836 end loop;
7837 end if;
7838 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7839   aso_debug_pub.add('  ',1,'Y');
7840   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_PRICE_REQUEST_CODE_TBL.count:'
7841                      ||nvl(G_PRICE_REQUEST_CODE_TBL.count,0),1,'Y');
7842 END IF;
7843 
7844 If nvl(G_PRICE_REQUEST_CODE_TBL.count,0) > 0 then
7845 For i in 1..G_PRICE_REQUEST_CODE_TBL.count loop
7846 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7847   aso_debug_pub.add('G_PRICE_REQUEST_CODE_TBL('||i||'):'||G_PRICE_REQUEST_CODE_TBL(i),1,'Y');
7848 END IF;
7849 end loop;
7850 end if;
7851 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7852   aso_debug_pub.add('  ',1,'Y');
7853   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_USAGE_PRICING_TYPE_tbl.count:'
7854                      ||nvl(G_USAGE_PRICING_TYPE_tbl.count,0),1,'Y');
7855 END IF;
7856 
7857 If nvl(G_USAGE_PRICING_TYPE_tbl.count,0) > 0 then
7858 For i in 1..G_USAGE_PRICING_TYPE_tbl.count loop
7859 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7860   aso_debug_pub.add('G_USAGE_PRICING_TYPE_tbl('||i||'):'||G_USAGE_PRICING_TYPE_tbl(i),1,'Y');
7861 END IF;
7862 end loop;
7863 end if;
7864 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7865   aso_debug_pub.add('  ',1,'Y');
7866   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LINE_CATEGORY_tbl.count:'
7867                      ||nvl(G_LINE_CATEGORY_tbl.count,0),1,'Y');
7868 END IF;
7869 
7870 If nvl(G_LINE_CATEGORY_tbl.count,0) > 0 then
7871 For i in 1..G_LINE_CATEGORY_tbl.count loop
7872 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7873   aso_debug_pub.add('G_LINE_CATEGORY_tbl('||i||'):'||G_LINE_CATEGORY_tbl(i),1,'Y');
7874 END IF;
7875 end loop;
7876 end if;
7877 
7878 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7879   aso_debug_pub.add('  ',1,'Y');
7880   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CHRG_PERIODICITY_CODE_TBL.count:'
7881                      ||nvl(G_CHRG_PERIODICITY_CODE_TBL.count,0),1,'Y');
7882 END IF;
7883 
7884 If nvl(G_CHRG_PERIODICITY_CODE_TBL.count,0) > 0 then
7885 For i in 1..G_CHRG_PERIODICITY_CODE_TBL.count loop
7886 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7887   aso_debug_pub.add('G_CHRG_PERIODICITY_CODE_TBL('||i||'):'||G_CHRG_PERIODICITY_CODE_TBL(i),1,'Y');
7888 END IF;
7889 end loop;
7890 end if;
7891 
7892 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7893   aso_debug_pub.add('  ',1,'Y');
7894   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CONTRACT_START_DATE_TBL.count:'
7895                      ||nvl(G_CONTRACT_START_DATE_TBL.count,0),1,'Y');
7896 END IF;
7897 
7898 If nvl(G_CONTRACT_START_DATE_TBL.count,0) > 0 then
7899 For i in 1..G_CONTRACT_START_DATE_TBL.count loop
7900 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7901   aso_debug_pub.add('G_CONTRACT_START_DATE_TBL('||i||'):'||G_CONTRACT_START_DATE_TBL(i),1,'Y');
7902 END IF;
7903 end loop;
7904 end if;
7905 
7906 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7907   aso_debug_pub.add('  ',1,'Y');
7908   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_CONTRACT_END_DATE_TBL.count:'
7909                      ||nvl(G_CONTRACT_END_DATE_TBL.count,0),1,'Y');
7910 END IF;
7911 
7912 If nvl(G_CONTRACT_END_DATE_TBL.count,0) > 0 then
7913 For i in 1..G_CONTRACT_END_DATE_TBL.count loop
7914 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7915   aso_debug_pub.add('G_CONTRACT_END_DATE_TBL('||i||'):'||G_CONTRACT_END_DATE_TBL(i),1,'Y');
7916 END IF;
7917 end loop;
7918 end if;
7919 
7920 
7921 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7922   aso_debug_pub.add('  ',1,'Y');
7923 END IF;
7924 
7925 END Print_Global_Data_Lines;
7926 
7927 PROCEDURE Print_Global_Data_Adjustments
7928 IS
7929 BEGIN
7930 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7931    aso_debug_pub.add('-------------------GLOBAL ADJUSTMENTS---------------------------------------------',1,'Y');
7932   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_DTL_INDEX_TBL.count:'
7933                      ||nvl(G_LDET_LINE_DTL_INDEX_TBL.count,0),1,'Y');
7934 END IF;
7935 If nvl(G_LDET_LINE_DTL_INDEX_TBL.count,0) > 0 then
7936 For i in 1..G_LDET_LINE_DTL_INDEX_TBL.count loop
7937 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7938   aso_debug_pub.add('G_LDET_LINE_DTL_INDEX_TBL('||i||'):'||G_LDET_LINE_DTL_INDEX_TBL(i),1,'Y');
7939 END IF;
7940 end loop;
7941 end if;
7942 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7943   aso_debug_pub.add('  ',1,'Y');
7944   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_ADJ_ID_TBL.count:'
7945                      ||nvl(G_LDET_PRICE_ADJ_ID_TBL.count,0),1,'Y');
7946 END IF;
7947 
7948 If nvl(G_LDET_PRICE_ADJ_ID_TBL.count,0) > 0 then
7949 For i in 1..G_LDET_PRICE_ADJ_ID_TBL.count loop
7950 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7951   aso_debug_pub.add('G_LDET_PRICE_ADJ_ID_TBL('||i||'):'||G_LDET_PRICE_ADJ_ID_TBL(i),1,'Y');
7952 END IF;
7953 end loop;
7954 end if;
7955 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7956   aso_debug_pub.add('  ',1,'Y');
7957   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_DTL_TYPE_TBL.count:'
7958                      ||nvl(G_LDET_LINE_DTL_TYPE_TBL.count,0),1,'Y');
7959 END IF;
7960 
7961 If nvl(G_LDET_LINE_DTL_TYPE_TBL.count,0) > 0 then
7962 For i in 1..G_LDET_LINE_DTL_TYPE_TBL.count loop
7963 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7964   aso_debug_pub.add('G_LDET_LINE_DTL_TYPE_TBL('||i||'):'||G_LDET_LINE_DTL_TYPE_TBL(i),1,'Y');
7965 END IF;
7966 end loop;
7967 end if;
7968 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7969   aso_debug_pub.add('  ',1,'Y');
7970   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_BREAK_TYPE_TBL.count:'
7971                      ||nvl(G_LDET_PRICE_BREAK_TYPE_TBL.count,0),1,'Y');
7972 END IF;
7973 
7974 If nvl(G_LDET_PRICE_BREAK_TYPE_TBL.count,0) > 0 then
7975 For i in 1..G_LDET_PRICE_BREAK_TYPE_TBL.count loop
7976 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7977   aso_debug_pub.add('G_LDET_PRICE_BREAK_TYPE_TBL('||i||'):'||G_LDET_PRICE_BREAK_TYPE_TBL(i),1,'Y');
7978 END IF;
7979 end loop;
7980 end if;
7981 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7982   aso_debug_pub.add('  ',1,'Y');
7983   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_PRICE_TBL.count:'
7984                      ||nvl(G_LDET_LIST_PRICE_TBL.count,0),1,'Y');
7985 END IF;
7986 
7987 If nvl(G_LDET_LIST_PRICE_TBL.count,0) > 0 then
7988 For i in 1..G_LDET_LIST_PRICE_TBL.count loop
7989 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7990   aso_debug_pub.add('G_LDET_LIST_PRICE_TBL('||i||'):'||G_LDET_LIST_PRICE_TBL(i),1,'Y');
7991 END IF;
7992 end loop;
7993 end if;
7994 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
7995   aso_debug_pub.add('  ',1,'Y');
7996   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_INDEX_TBL.count:'
7997                      ||nvl(G_LDET_LINE_INDEX_TBL.count,0),1,'Y');
7998 END IF;
7999 
8000 If nvl(G_LDET_LINE_INDEX_TBL.count,0) > 0 then
8001 For i in 1..G_LDET_LINE_INDEX_TBL.count loop
8002 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8003   aso_debug_pub.add('G_LDET_LINE_INDEX_TBL('||i||'):'||G_LDET_LINE_INDEX_TBL(i),1,'Y');
8004 END IF;
8005 end loop;
8006 end if;
8007 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8008   aso_debug_pub.add('  ',1,'Y');
8009   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_HEADER_ID_TBL.count:'
8010                      ||nvl(G_LDET_LIST_HEADER_ID_TBL.count,0),1,'Y');
8011 END IF;
8012 
8013 If nvl(G_LDET_LIST_HEADER_ID_TBL.count,0) > 0 then
8014 For i in 1..G_LDET_LIST_HEADER_ID_TBL.count loop
8015 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8016   aso_debug_pub.add('G_LDET_LIST_HEADER_ID_TBL('||i||'):'||G_LDET_LIST_HEADER_ID_TBL(i),1,'Y');
8017 END IF;
8018 end loop;
8019 end if;
8020 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8021   aso_debug_pub.add('  ',1,'Y');
8022   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_ID_TBL.count:'
8023                      ||nvl(G_LDET_LIST_LINE_ID_TBL.count,0),1,'Y');
8024 END IF;
8025 
8026 If nvl(G_LDET_LIST_LINE_ID_TBL.count,0) > 0 then
8027 For i in 1..G_LDET_LIST_LINE_ID_TBL.count loop
8028 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8029   aso_debug_pub.add('G_LDET_LIST_LINE_ID_TBL('||i||'):'||G_LDET_LIST_LINE_ID_TBL(i),1,'Y');
8030 END IF;
8031 end loop;
8032 end if;
8033 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8034   aso_debug_pub.add('  ',1,'Y');
8035   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_TYPE_TBL.count:'
8036                      ||nvl(G_LDET_LIST_LINE_TYPE_TBL.count,0),1,'Y');
8037 END IF;
8038 
8039 If nvl(G_LDET_LIST_LINE_TYPE_TBL.count,0) > 0 then
8040 For i in 1..G_LDET_LIST_LINE_TYPE_TBL.count loop
8041 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8042   aso_debug_pub.add('G_LDET_LIST_LINE_TYPE_TBL('||i||'):'||G_LDET_LIST_LINE_TYPE_TBL(i),1,'Y');
8043 END IF;
8044 end loop;
8045 end if;
8046 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8047   aso_debug_pub.add('  ',1,'Y');
8048   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_TYPE_CODE_TBL.count:'
8049                      ||nvl(G_LDET_LIST_TYPE_CODE_TBL.count,0),1,'Y');
8050 END IF;
8051 
8052 If nvl(G_LDET_LIST_TYPE_CODE_TBL.count,0) > 0 then
8053 For i in 1..G_LDET_LIST_TYPE_CODE_TBL.count loop
8054 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8055   aso_debug_pub.add('G_LDET_LIST_TYPE_CODE_TBL('||i||'):'||G_LDET_LIST_TYPE_CODE_TBL(i),1,'Y');
8056 END IF;
8057 end loop;
8058 end if;
8059 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8060   aso_debug_pub.add('  ',1,'Y');
8061   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CREATED_FROM_SQL_TBL.count:'
8062                      ||nvl(G_LDET_CREATED_FROM_SQL_TBL.count,0),1,'Y');
8063 END IF;
8064 
8065 If nvl(G_LDET_CREATED_FROM_SQL_TBL.count,0) > 0 then
8066 For i in 1..G_LDET_CREATED_FROM_SQL_TBL.count loop
8067 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8068   aso_debug_pub.add('G_LDET_CREATED_FROM_SQL_TBL('||i||'):'||G_LDET_CREATED_FROM_SQL_TBL(i),1,'Y');
8069 END IF;
8070 end loop;
8071 end if;
8072 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8073   aso_debug_pub.add('  ',1,'Y');
8074   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_GRP_SEQ_TBL.count:'
8075                      ||nvl(G_LDET_PRICING_GRP_SEQ_TBL.count,0),1,'Y');
8076 END IF;
8077 
8078 If nvl(G_LDET_PRICING_GRP_SEQ_TBL.count,0) > 0 then
8079 For i in 1..G_LDET_PRICING_GRP_SEQ_TBL.count loop
8080 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8081   aso_debug_pub.add('G_LDET_PRICING_GRP_SEQ_TBL('||i||'):'||G_LDET_PRICING_GRP_SEQ_TBL(i),1,'Y');
8082 END IF;
8083 end loop;
8084 end if;
8085 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8086   aso_debug_pub.add('  ',1,'Y');
8087   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_PHASE_ID_TBL.count:'
8088                      ||nvl(G_LDET_PRICING_PHASE_ID_TBL.count,0),1,'Y');
8089 END IF;
8090 
8091 If nvl(G_LDET_PRICING_PHASE_ID_TBL.count,0) > 0 then
8092 For i in 1..G_LDET_PRICING_PHASE_ID_TBL.count loop
8093 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8094   aso_debug_pub.add('G_LDET_PRICING_PHASE_ID_TBL('||i||'):'||G_LDET_PRICING_PHASE_ID_TBL(i),1,'Y');
8095 END IF;
8096 end loop;
8097 end if;
8098 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8099   aso_debug_pub.add('  ',1,'Y');
8100   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OPERAND_CALC_CODE_TBL.count:'
8101                      ||nvl(G_LDET_OPERAND_CALC_CODE_TBL.count,0),1,'Y');
8102 END IF;
8103 
8104 If nvl(G_LDET_OPERAND_CALC_CODE_TBL.count,0) > 0 then
8105 For i in 1..G_LDET_OPERAND_CALC_CODE_TBL.count loop
8106 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8107   aso_debug_pub.add('G_LDET_OPERAND_CALC_CODE_TBL('||i||'):'||G_LDET_OPERAND_CALC_CODE_TBL(i),1,'Y');
8108 END IF;
8109 end loop;
8110 end if;
8111 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8112   aso_debug_pub.add('  ',1,'Y');
8113   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OPERAND_VALUE_TBL.count:'
8114                      ||nvl(G_LDET_OPERAND_VALUE_TBL.count,0),1,'Y');
8115 END IF;
8116 
8117 If nvl(G_LDET_OPERAND_VALUE_TBL.count,0) > 0 then
8118 For i in 1..G_LDET_OPERAND_VALUE_TBL.count loop
8119 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8120   aso_debug_pub.add('G_LDET_OPERAND_VALUE_TBL('||i||'):'||G_LDET_OPERAND_VALUE_TBL(i),1,'Y');
8121 END IF;
8122 end loop;
8123 end if;
8124 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8125   aso_debug_pub.add('  ',1,'Y');
8126   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_TYPE_TBL.count:'
8127                      ||nvl(G_LDET_SUBSTN_TYPE_TBL.count,0),1,'Y');
8128 END IF;
8129 
8130 If nvl(G_LDET_SUBSTN_TYPE_TBL.count,0) > 0 then
8131 For i in 1..G_LDET_SUBSTN_TYPE_TBL.count loop
8132 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8133   aso_debug_pub.add('G_LDET_SUBSTN_TYPE_TBL('||i||'):'||G_LDET_SUBSTN_TYPE_TBL(i),1,'Y');
8134 END IF;
8135 end loop;
8136 end if;
8137 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8138   aso_debug_pub.add('  ',1,'Y');
8139   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_VALUE_FROM_TBL.count:'
8140                      ||nvl(G_LDET_SUBSTN_VALUE_FROM_TBL.count,0),1,'Y');
8141 END IF;
8142 
8143 If nvl(G_LDET_SUBSTN_VALUE_FROM_TBL.count,0) > 0 then
8144 For i in 1..G_LDET_SUBSTN_VALUE_FROM_TBL.count loop
8145 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8146   aso_debug_pub.add('G_LDET_SUBSTN_VALUE_FROM_TBL('||i||'):'||G_LDET_SUBSTN_VALUE_FROM_TBL(i),1,'Y');
8147 END IF;
8148 end loop;
8149 end if;
8150 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8151   aso_debug_pub.add('  ',1,'Y');
8152   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SUBSTN_VALUE_TO_TBL.count:'
8153                      ||nvl(G_LDET_SUBSTN_VALUE_TO_TBL.count,0),1,'Y');
8154 END IF;
8155 
8156 If nvl(G_LDET_SUBSTN_VALUE_TO_TBL.count,0) > 0 then
8157 For i in 1..G_LDET_SUBSTN_VALUE_TO_TBL.count loop
8158 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8159   aso_debug_pub.add('G_LDET_SUBSTN_VALUE_TO_TBL('||i||'):'||G_LDET_SUBSTN_VALUE_TO_TBL(i),1,'Y');
8160 END IF;
8161 end loop;
8162 end if;
8163 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8164   aso_debug_pub.add('  ',1,'Y');
8165   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ASK_FOR_FLAG_TBL.count:'
8166                      ||nvl(G_LDET_ASK_FOR_FLAG_TBL.count,0),1,'Y');
8167 END IF;
8168 
8169 If nvl(G_LDET_ASK_FOR_FLAG_TBL.count,0) > 0 then
8170 For i in 1..G_LDET_ASK_FOR_FLAG_TBL.count loop
8171 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8172   aso_debug_pub.add('G_LDET_ASK_FOR_FLAG_TBL('||i||'):'||G_LDET_ASK_FOR_FLAG_TBL(i),1,'Y');
8173 END IF;
8174 end loop;
8175 end if;
8176 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8177   aso_debug_pub.add('  ',1,'Y');
8178   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICE_FORMULA_ID_TBL.count:'
8179                      ||nvl(G_LDET_PRICE_FORMULA_ID_TBL.count,0),1,'Y');
8180 END IF;
8181 
8182 If nvl(G_LDET_PRICE_FORMULA_ID_TBL.count,0) > 0 then
8183 For i in 1..G_LDET_PRICE_FORMULA_ID_TBL.count loop
8184 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8185   aso_debug_pub.add('G_LDET_PRICE_FORMULA_ID_TBL('||i||'):'||G_LDET_PRICE_FORMULA_ID_TBL(i),1,'Y');
8186 END IF;
8187 end loop;
8188 end if;
8189 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8190   aso_debug_pub.add('  ',1,'Y');
8191   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_STATUS_CODE_TBL.count:'
8192                      ||nvl(G_LDET_PRICING_STATUS_CODE_TBL.count,0),1,'Y');
8193 END IF;
8194 
8195 If nvl(G_LDET_PRICING_STATUS_CODE_TBL.count,0) > 0 then
8196 For i in 1..G_LDET_PRICING_STATUS_CODE_TBL.count loop
8197 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8198   aso_debug_pub.add('G_LDET_PRICING_STATUS_CODE_TBL('||i||'):'||G_LDET_PRICING_STATUS_CODE_TBL(i),1,'Y');
8199 END IF;
8200 end loop;
8201 end if;
8202 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8203   aso_debug_pub.add('  ',1,'Y');
8204   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_STATUS_TXT_TBL.count:'
8205                      ||nvl(G_LDET_PRICING_STATUS_TXT_TBL.count,0),1,'Y');
8206 END IF;
8207 
8208 If nvl(G_LDET_PRICING_STATUS_TXT_TBL.count,0) > 0 then
8209 For i in 1..G_LDET_PRICING_STATUS_TXT_TBL.count loop
8210 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8211   aso_debug_pub.add('G_LDET_PRICING_STATUS_TXT_TBL('||i||'):'||G_LDET_PRICING_STATUS_TXT_TBL(i),1,'Y');
8212 END IF;
8213 end loop;
8214 end if;
8215 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8216   aso_debug_pub.add('  ',1,'Y');
8217   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRODUCT_PRECEDENCE_TBL.count:'
8218                      ||nvl(G_LDET_PRODUCT_PRECEDENCE_TBL.count,0),1,'Y');
8219 END IF;
8220 
8221 If nvl(G_LDET_PRODUCT_PRECEDENCE_TBL.count,0) > 0 then
8222 For i in 1..G_LDET_PRODUCT_PRECEDENCE_TBL.count loop
8223 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8224   aso_debug_pub.add('G_LDET_PRODUCT_PRECEDENCE_TBL('||i||'):'||G_LDET_PRODUCT_PRECEDENCE_TBL(i),1,'Y');
8225 END IF;
8226 end loop;
8227 end if;
8228 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8229   aso_debug_pub.add('  ',1,'Y');
8230   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_INCOMPAT_GRP_CODE_TBL.count:'
8231                      ||nvl(G_LDET_INCOMPAT_GRP_CODE_TBL.count,0),1,'Y');
8232 END IF;
8233 
8234 If nvl(G_LDET_INCOMPAT_GRP_CODE_TBL.count,0) > 0 then
8235 For i in 1..G_LDET_INCOMPAT_GRP_CODE_TBL.count loop
8236 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8237   aso_debug_pub.add('G_LDET_INCOMPAT_GRP_CODE_TBL('||i||'):'||G_LDET_INCOMPAT_GRP_CODE_TBL(i),1,'Y');
8238 END IF;
8239 end loop;
8240 end if;
8241 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8242   aso_debug_pub.add('  ',1,'Y');
8243   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PROCESSED_FLAG_TBL.count:'
8244                      ||nvl(G_LDET_PROCESSED_FLAG_TBL.count,0),1,'Y');
8245 END IF;
8246 
8247 If nvl(G_LDET_PROCESSED_FLAG_TBL.count,0) > 0 then
8248 For i in 1..G_LDET_PROCESSED_FLAG_TBL.count loop
8249 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8250   aso_debug_pub.add('G_LDET_PROCESSED_FLAG_TBL('||i||'):'||G_LDET_PROCESSED_FLAG_TBL(i),1,'Y');
8251 END IF;
8252 end loop;
8253 end if;
8254 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8255   aso_debug_pub.add('  ',1,'Y');
8256   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_APPLIED_FLAG_TBL.count:'
8257                      ||nvl(G_LDET_APPLIED_FLAG_TBL.count,0),1,'Y');
8258 END IF;
8259 
8260 If nvl(G_LDET_APPLIED_FLAG_TBL.count,0) > 0 then
8261 For i in 1..G_LDET_APPLIED_FLAG_TBL.count loop
8262 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8263   aso_debug_pub.add('G_LDET_APPLIED_FLAG_TBL('||i||'):'||G_LDET_APPLIED_FLAG_TBL(i),1,'Y');
8264 END IF;
8265 end loop;
8266 end if;
8267 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8268   aso_debug_pub.add('  ',1,'Y');
8269   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_AUTOMATIC_FLAG_TBL.count:'
8270                      ||nvl(G_LDET_AUTOMATIC_FLAG_TBL.count,0),1,'Y');
8271 END IF;
8272 
8273 If nvl(G_LDET_AUTOMATIC_FLAG_TBL.count,0) > 0 then
8274 For i in 1..G_LDET_AUTOMATIC_FLAG_TBL.count loop
8275 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8276   aso_debug_pub.add('G_LDET_AUTOMATIC_FLAG_TBL('||i||'):'||G_LDET_AUTOMATIC_FLAG_TBL(i),1,'Y');
8277 END IF;
8278 end loop;
8279 end if;
8280 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8281   aso_debug_pub.add('  ',1,'Y');
8282   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_OVERRIDE_FLAG_TBL.count:'
8283                      ||nvl(G_LDET_OVERRIDE_FLAG_TBL.count,0),1,'Y');
8284 END IF;
8285 
8286 If nvl(G_LDET_OVERRIDE_FLAG_TBL.count,0) > 0 then
8287 For i in 1..G_LDET_OVERRIDE_FLAG_TBL.count loop
8288 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8289   aso_debug_pub.add('G_LDET_OVERRIDE_FLAG_TBL('||i||'):'||G_LDET_OVERRIDE_FLAG_TBL(i),1,'Y');
8290 END IF;
8291 end loop;
8292 end if;
8293 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8294   aso_debug_pub.add('  ',1,'Y');
8295   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRIMARY_UOM_FLAG_TBL.count:'
8296                      ||nvl(G_LDET_PRIMARY_UOM_FLAG_TBL.count,0),1,'Y');
8297 END IF;
8298 
8299 If nvl(G_LDET_PRIMARY_UOM_FLAG_TBL.count,0) > 0 then
8300 For i in 1..G_LDET_PRIMARY_UOM_FLAG_TBL.count loop
8301 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8302   aso_debug_pub.add('G_LDET_PRIMARY_UOM_FLAG_TBL('||i||'):'||G_LDET_PRIMARY_UOM_FLAG_TBL(i),1,'Y');
8303 END IF;
8304 end loop;
8305 end if;
8306 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8307   aso_debug_pub.add('  ',1,'Y');
8308   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRINT_ON_INV_FLAG_TBL.count:'
8309                      ||nvl(G_LDET_PRINT_ON_INV_FLAG_TBL.count,0),1,'Y');
8310 END IF;
8311 
8312 If nvl(G_LDET_PRINT_ON_INV_FLAG_TBL.count,0) > 0 then
8313 For i in 1..G_LDET_PRINT_ON_INV_FLAG_TBL.count loop
8314 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8315   aso_debug_pub.add('G_LDET_PRINT_ON_INV_FLAG_TBL('||i||'):'||G_LDET_PRINT_ON_INV_FLAG_TBL(i),1,'Y');
8316 END IF;
8317 end loop;
8318 end if;
8319 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8320   aso_debug_pub.add('  ',1,'Y');
8321   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_MODIFIER_LEVEL_TBL.count:'
8322                      ||nvl(G_LDET_MODIFIER_LEVEL_TBL.count,0),1,'Y');
8323 END IF;
8324 
8325 If nvl(G_LDET_MODIFIER_LEVEL_TBL.count,0) > 0 then
8326 For i in 1..G_LDET_MODIFIER_LEVEL_TBL.count loop
8327 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8328   aso_debug_pub.add('G_LDET_MODIFIER_LEVEL_TBL('||i||'):'||G_LDET_MODIFIER_LEVEL_TBL(i),1,'Y');
8329 END IF;
8330 end loop;
8331 end if;
8332 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8333   aso_debug_pub.add('  ',1,'Y');
8334   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BENEFIT_QTY_TBL.count:'
8335                      ||nvl(G_LDET_BENEFIT_QTY_TBL.count,0),1,'Y');
8336 END IF;
8337 
8338 If nvl(G_LDET_BENEFIT_QTY_TBL.count,0) > 0 then
8339 For i in 1..G_LDET_BENEFIT_QTY_TBL.count loop
8340 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8341   aso_debug_pub.add('G_LDET_BENEFIT_QTY_TBL('||i||'):'||G_LDET_BENEFIT_QTY_TBL(i),1,'Y');
8342 END IF;
8343 end loop;
8344 end if;
8345 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8346   aso_debug_pub.add('  ',1,'Y');
8347   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BENEFIT_UOM_CODE_TBL.count:'
8348                      ||nvl(G_LDET_BENEFIT_UOM_CODE_TBL.count,0),1,'Y');
8349 END IF;
8350 
8351 If nvl(G_LDET_BENEFIT_UOM_CODE_TBL.count,0) > 0 then
8352 For i in 1..G_LDET_BENEFIT_UOM_CODE_TBL.count loop
8353 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8354   aso_debug_pub.add('G_LDET_BENEFIT_UOM_CODE_TBL('||i||'):'||G_LDET_BENEFIT_UOM_CODE_TBL(i),1,'Y');
8355 END IF;
8356 end loop;
8357 end if;
8358 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8359   aso_debug_pub.add('  ',1,'Y');
8360   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LIST_LINE_NO_TBL.count:'
8361                      ||nvl(G_LDET_LIST_LINE_NO_TBL.count,0),1,'Y');
8362 END IF;
8363 
8364 If nvl(G_LDET_LIST_LINE_NO_TBL.count,0) > 0 then
8365 For i in 1..G_LDET_LIST_LINE_NO_TBL.count loop
8366 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8367   aso_debug_pub.add('G_LDET_LIST_LINE_NO_TBL('||i||'):'||G_LDET_LIST_LINE_NO_TBL(i),1,'Y');
8368 END IF;
8369 end loop;
8370 end if;
8371 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8372   aso_debug_pub.add('  ',1,'Y');
8373   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ACCRUAL_FLAG_TBL.count:'
8374                      ||nvl(G_LDET_ACCRUAL_FLAG_TBL.count,0),1,'Y');
8375 END IF;
8376 
8377 If nvl(G_LDET_ACCRUAL_FLAG_TBL.count,0) > 0 then
8378 For i in 1..G_LDET_ACCRUAL_FLAG_TBL.count loop
8379 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8380   aso_debug_pub.add('G_LDET_ACCRUAL_FLAG_TBL('||i||'):'||G_LDET_ACCRUAL_FLAG_TBL(i),1,'Y');
8381 END IF;
8382 end loop;
8383 end if;
8384 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8385   aso_debug_pub.add('  ',1,'Y');
8386   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ACCR_CONV_RATE_TBL.count:'
8387                      ||nvl(G_LDET_ACCR_CONV_RATE_TBL.count,0),1,'Y');
8388 END IF;
8389 
8390 If nvl(G_LDET_ACCR_CONV_RATE_TBL.count,0) > 0 then
8391 For i in 1..G_LDET_ACCR_CONV_RATE_TBL.count loop
8392 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8393   aso_debug_pub.add('G_LDET_ACCR_CONV_RATE_TBL('||i||'):'||G_LDET_ACCR_CONV_RATE_TBL(i),1,'Y');
8394 END IF;
8395 end loop;
8396 end if;
8397 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8398   aso_debug_pub.add('  ',1,'Y');
8399   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ESTIM_ACCR_RATE_TBL.count:'
8400                      ||nvl(G_LDET_ESTIM_ACCR_RATE_TBL.count,0),1,'Y');
8401 END IF;
8402 
8403 If nvl(G_LDET_ESTIM_ACCR_RATE_TBL.count,0) > 0 then
8404 For i in 1..G_LDET_ESTIM_ACCR_RATE_TBL.count loop
8405 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8406   aso_debug_pub.add('G_LDET_ESTIM_ACCR_RATE_TBL('||i||'):'||G_LDET_ESTIM_ACCR_RATE_TBL(i),1,'Y');
8407 END IF;
8408 end loop;
8409 end if;
8410 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8411   aso_debug_pub.add('  ',1,'Y');
8412   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_RECURRING_FLAG_TBL.count:'
8413                      ||nvl(G_LDET_RECURRING_FLAG_TBL.count,0),1,'Y');
8414 END IF;
8415 
8416 If nvl(G_LDET_RECURRING_FLAG_TBL.count,0) > 0 then
8417 For i in 1..G_LDET_RECURRING_FLAG_TBL.count loop
8418 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8419   aso_debug_pub.add('G_LDET_RECURRING_FLAG_TBL('||i||'):'||G_LDET_RECURRING_FLAG_TBL(i),1,'Y');
8420 END IF;
8421 end loop;
8422 end if;
8423 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8424   aso_debug_pub.add('  ',1,'Y');
8425   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SELECTED_VOL_ATTR_TBL.count:'
8426                      ||nvl(G_LDET_SELECTED_VOL_ATTR_TBL.count,0),1,'Y');
8427 END IF;
8428 
8429 If nvl(G_LDET_SELECTED_VOL_ATTR_TBL.count,0) > 0 then
8430 For i in 1..G_LDET_SELECTED_VOL_ATTR_TBL.count loop
8431 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8432   aso_debug_pub.add('G_LDET_SELECTED_VOL_ATTR_TBL('||i||'):'||G_LDET_SELECTED_VOL_ATTR_TBL(i),1,'Y');
8433 END IF;
8434 end loop;
8435 end if;
8436 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8437   aso_debug_pub.add('  ',1,'Y');
8438   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ROUNDING_FACTOR_TBL.count:'
8439                      ||nvl(G_LDET_ROUNDING_FACTOR_TBL.count,0),1,'Y');
8440 END IF;
8441 
8442 If nvl(G_LDET_ROUNDING_FACTOR_TBL.count,0) > 0 then
8443 For i in 1..G_LDET_ROUNDING_FACTOR_TBL.count loop
8444 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8445   aso_debug_pub.add('G_LDET_ROUNDING_FACTOR_TBL('||i||'):'||G_LDET_ROUNDING_FACTOR_TBL(i),1,'Y');
8446 END IF;
8447 end loop;
8448 end if;
8449 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8450   aso_debug_pub.add('  ',1,'Y');
8451   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_HDR_LIMIT_EXISTS_TBL.count:'
8452                      ||nvl(G_LDET_HDR_LIMIT_EXISTS_TBL.count,0),1,'Y');
8453 END IF;
8454 
8455 If nvl(G_LDET_HDR_LIMIT_EXISTS_TBL.count,0) > 0 then
8456 For i in 1..G_LDET_HDR_LIMIT_EXISTS_TBL.count loop
8457 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8458   aso_debug_pub.add('G_LDET_HDR_LIMIT_EXISTS_TBL('||i||'):'||G_LDET_HDR_LIMIT_EXISTS_TBL(i),1,'Y');
8459 END IF;
8460 end loop;
8461 end if;
8462 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8463   aso_debug_pub.add('  ',1,'Y');
8464   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_LIMIT_EXISTS_TBL.count:'
8465                      ||nvl(G_LDET_LINE_LIMIT_EXISTS_TBL.count,0),1,'Y');
8466 END IF;
8467 
8468 If nvl(G_LDET_LINE_LIMIT_EXISTS_TBL.count,0) > 0 then
8469 For i in 1..G_LDET_LINE_LIMIT_EXISTS_TBL.count loop
8470 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8471   aso_debug_pub.add('G_LDET_LINE_LIMIT_EXISTS_TBL('||i||'):'||G_LDET_LINE_LIMIT_EXISTS_TBL(i),1,'Y');
8472 END IF;
8473 end loop;
8474 end if;
8475 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8476   aso_debug_pub.add('  ',1,'Y');
8477   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHARGE_TYPE_TBL.count:'
8478                      ||nvl(G_LDET_CHARGE_TYPE_TBL.count,0),1,'Y');
8479 END IF;
8480 
8481 If nvl(G_LDET_CHARGE_TYPE_TBL.count,0) > 0 then
8482 For i in 1..G_LDET_CHARGE_TYPE_TBL.count loop
8483 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8484   aso_debug_pub.add('G_LDET_CHARGE_TYPE_TBL('||i||'):'||G_LDET_CHARGE_TYPE_TBL(i),1,'Y');
8485 END IF;
8486 end loop;
8487 end if;
8488 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8489   aso_debug_pub.add('  ',1,'Y');
8490   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHARGE_SUBTYPE_TBL.count:'
8491                      ||nvl(G_LDET_CHARGE_SUBTYPE_TBL.count,0),1,'Y');
8492 END IF;
8493 
8494 If nvl(G_LDET_CHARGE_SUBTYPE_TBL.count,0) > 0 then
8495 For i in 1..G_LDET_CHARGE_SUBTYPE_TBL.count loop
8496 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8497   aso_debug_pub.add('G_LDET_CHARGE_SUBTYPE_TBL('||i||'):'||G_LDET_CHARGE_SUBTYPE_TBL(i),1,'Y');
8498 END IF;
8499 end loop;
8500 end if;
8501 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8502   aso_debug_pub.add('  ',1,'Y');
8503   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CURRENCY_DTL_ID_TBL.count:'
8504                      ||nvl(G_LDET_CURRENCY_DTL_ID_TBL.count,0),1,'Y');
8505 END IF;
8506 
8507 If nvl(G_LDET_CURRENCY_DTL_ID_TBL.count,0) > 0 then
8508 For i in 1..G_LDET_CURRENCY_DTL_ID_TBL.count loop
8509 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8510   aso_debug_pub.add('G_LDET_CURRENCY_DTL_ID_TBL('||i||'):'||G_LDET_CURRENCY_DTL_ID_TBL(i),1,'Y');
8511 END IF;
8512 end loop;
8513 end if;
8514 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8515   aso_debug_pub.add('  ',1,'Y');
8516   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CURRENCY_HDR_ID_TBL.count:'
8517                      ||nvl(G_LDET_CURRENCY_HDR_ID_TBL.count,0),1,'Y');
8518 END IF;
8519 
8520 If nvl(G_LDET_CURRENCY_HDR_ID_TBL.count,0) > 0 then
8521 For i in 1..G_LDET_CURRENCY_HDR_ID_TBL.count loop
8522 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8523   aso_debug_pub.add('G_LDET_CURRENCY_HDR_ID_TBL('||i||'):'||G_LDET_CURRENCY_HDR_ID_TBL(i),1,'Y');
8524 END IF;
8525 end loop;
8526 end if;
8527 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8528   aso_debug_pub.add('  ',1,'Y');
8529   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_SELLING_ROUND_TBL.count:'
8530                      ||nvl(G_LDET_SELLING_ROUND_TBL.count,0),1,'Y');
8531 END IF;
8532 
8533 If nvl(G_LDET_SELLING_ROUND_TBL.count,0) > 0 then
8534 For i in 1..G_LDET_SELLING_ROUND_TBL.count loop
8535 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8536   aso_debug_pub.add('G_LDET_SELLING_ROUND_TBL('||i||'):'||G_LDET_SELLING_ROUND_TBL(i),1,'Y');
8537 END IF;
8538 end loop;
8539 end if;
8540 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8541   aso_debug_pub.add('  ',1,'Y');
8542   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_ORDER_CURRENCY_TBL.count:'
8543                      ||nvl(G_LDET_ORDER_CURRENCY_TBL.count,0),1,'Y');
8544 END IF;
8545 
8546 If nvl(G_LDET_ORDER_CURRENCY_TBL.count,0) > 0 then
8547 For i in 1..G_LDET_ORDER_CURRENCY_TBL.count loop
8548 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8549   aso_debug_pub.add('G_LDET_ORDER_CURRENCY_TBL('||i||'):'||G_LDET_ORDER_CURRENCY_TBL(i),1,'Y');
8550 END IF;
8551 end loop;
8552 end if;
8553 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8554   aso_debug_pub.add('  ',1,'Y');
8555   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_PRICING_EFF_DATE_TBL.count:'
8556                      ||nvl(G_LDET_PRICING_EFF_DATE_TBL.count,0),1,'Y');
8557 END IF;
8558 
8559 If nvl(G_LDET_PRICING_EFF_DATE_TBL.count,0) > 0 then
8560 For i in 1..G_LDET_PRICING_EFF_DATE_TBL.count loop
8561 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8562   aso_debug_pub.add('G_LDET_PRICING_EFF_DATE_TBL('||i||'):'||G_LDET_PRICING_EFF_DATE_TBL(i),1,'Y');
8563 END IF;
8564 end loop;
8565 end if;
8566 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8567   aso_debug_pub.add('  ',1,'Y');
8568   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_BASE_CURRENCY_TBL.count:'
8569                      ||nvl(G_LDET_BASE_CURRENCY_TBL.count,0),1,'Y');
8570 END IF;
8571 
8572 If nvl(G_LDET_BASE_CURRENCY_TBL.count,0) > 0 then
8573 For i in 1..G_LDET_BASE_CURRENCY_TBL.count loop
8574 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8575   aso_debug_pub.add('G_LDET_BASE_CURRENCY_TBL('||i||'):'||G_LDET_BASE_CURRENCY_TBL(i),1,'Y');
8576 END IF;
8577 end loop;
8578 end if;
8579 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8580   aso_debug_pub.add('  ',1,'Y');
8581   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_LINE_QUANTITY_TBL.count:'
8582                      ||nvl(G_LDET_LINE_QUANTITY_TBL.count,0),1,'Y');
8583 END IF;
8584 
8585 If nvl(G_LDET_LINE_QUANTITY_TBL.count,0) > 0 then
8586 For i in 1..G_LDET_LINE_QUANTITY_TBL.count loop
8587 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8588   aso_debug_pub.add('G_LDET_LINE_QUANTITY_TBL('||i||'):'||G_LDET_LINE_QUANTITY_TBL(i),1,'Y');
8589 END IF;
8590 end loop;
8591 end if;
8592 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8593   aso_debug_pub.add('  ',1,'Y');
8594   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_UPDATED_FLAG_TBL.count:'
8595                      ||nvl(G_LDET_UPDATED_FLAG_TBL.count,0),1,'Y');
8596 END IF;
8597 
8598 If nvl(G_LDET_UPDATED_FLAG_TBL.count,0) > 0 then
8599 For i in 1..G_LDET_UPDATED_FLAG_TBL.count loop
8600 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8601   aso_debug_pub.add('G_LDET_UPDATED_FLAG_TBL('||i||'):'||G_LDET_UPDATED_FLAG_TBL(i),1,'Y');
8602 END IF;
8603 end loop;
8604 end if;
8605 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8606   aso_debug_pub.add('  ',1,'Y');
8607   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CALC_CODE_TBL.count:'
8608                      ||nvl(G_LDET_CALC_CODE_TBL.count,0),1,'Y');
8609 END IF;
8610 
8611 If nvl(G_LDET_CALC_CODE_TBL.count,0) > 0 then
8612 For i in 1..G_LDET_CALC_CODE_TBL.count loop
8613 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8614   aso_debug_pub.add('G_LDET_CALC_CODE_TBL('||i||'):'||G_LDET_CALC_CODE_TBL(i),1,'Y');
8615 END IF;
8616 end loop;
8617 end if;
8618 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8619   aso_debug_pub.add('  ',1,'Y');
8620   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHG_REASON_CODE_TBL.count:'
8621                      ||nvl(G_LDET_CHG_REASON_CODE_TBL.count,0),1,'Y');
8622 END IF;
8623 
8624 If nvl(G_LDET_CHG_REASON_CODE_TBL.count,0) > 0 then
8625 For i in 1..G_LDET_CHG_REASON_CODE_TBL.count loop
8626 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8627   aso_debug_pub.add('G_LDET_CHG_REASON_CODE_TBL('||i||'):'||G_LDET_CHG_REASON_CODE_TBL(i),1,'Y');
8628 END IF;
8629 end loop;
8630 end if;
8631 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8632   aso_debug_pub.add('  ',1,'Y');
8633   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_LDET_CHG_REASON_TEXT_TBL.count:'
8634                      ||nvl(G_LDET_CHG_REASON_TEXT_TBL.count,0),1,'Y');
8635 END IF;
8636 
8637 If nvl(G_LDET_CHG_REASON_TEXT_TBL.count,0) > 0 then
8638 For i in 1..G_LDET_CHG_REASON_TEXT_TBL.count loop
8639 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8640   aso_debug_pub.add('G_LDET_CHG_REASON_TEXT_TBL('||i||'):'||G_LDET_CHG_REASON_TEXT_TBL(i),1,'Y');
8641 END IF;
8642 end loop;
8643 end if;
8644 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8645   aso_debug_pub.add('  ',1,'Y');
8646 END IF;
8647 
8648 END Print_Global_Data_Adjustments;
8649 
8650 Procedure Print_Global_Data_Rltships
8651 IS
8652 BEGIN
8653 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8654   aso_debug_pub.add('**********Global Relationships*****************************************',1,'Y');
8655   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LINE_INDEX_TBL.count:'
8656                      ||nvl(G_RLTD_LINE_INDEX_TBL.count,0),1,'Y');
8657 END IF;
8658 If nvl(G_RLTD_LINE_INDEX_TBL.count,0) > 0 then
8659 For i in 1..G_RLTD_LINE_INDEX_TBL.count loop
8660 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8661   aso_debug_pub.add('G_RLTD_LINE_INDEX_TBL('||i||'):'||G_RLTD_LINE_INDEX_TBL(i),1,'Y');
8662 END IF;
8663 end loop;
8664 end if;
8665 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8666   aso_debug_pub.add('  ',1,'Y');
8667   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LINE_DTL_INDEX_TBL.count:'
8668                      ||nvl(G_RLTD_LINE_DTL_INDEX_TBL.count,0),1,'Y');
8669 END IF;
8670 
8671 If nvl(G_RLTD_LINE_DTL_INDEX_TBL.count,0) > 0 then
8672 For i in 1..G_RLTD_LINE_DTL_INDEX_TBL.count loop
8673 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8674   aso_debug_pub.add('G_RLTD_LINE_DTL_INDEX_TBL('||i||'):'||G_RLTD_LINE_DTL_INDEX_TBL(i),1,'Y');
8675 END IF;
8676 end loop;
8677 end if;
8678 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8679   aso_debug_pub.add('  ',1,'Y');
8680   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RELATION_TYPE_CODE_TBL.count:'
8681                      ||nvl(G_RLTD_RELATION_TYPE_CODE_TBL.count,0),1,'Y');
8682 END IF;
8683 
8684 
8685 If nvl(G_RLTD_RELATION_TYPE_CODE_TBL.count,0) > 0 then
8686 For i in 1..G_RLTD_RELATION_TYPE_CODE_TBL.count loop
8687 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8688   aso_debug_pub.add('G_RLTD_RELATION_TYPE_CODE_TBL('||i||'):'||G_RLTD_RELATION_TYPE_CODE_TBL(i),1,'Y');
8689 END IF;
8690 end loop;
8691 end if;
8692 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8693   aso_debug_pub.add('  ',1,'Y');
8694   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RELATED_LINE_IND_TBL.count:'
8695                      ||nvl(G_RLTD_RELATED_LINE_IND_TBL.count,0),1,'Y');
8696 END IF;
8697 
8698 If nvl(G_RLTD_RELATED_LINE_IND_TBL.count,0) > 0 then
8699 For i in 1..G_RLTD_RELATED_LINE_IND_TBL.count loop
8700 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8701   aso_debug_pub.add('G_RLTD_RELATED_LINE_IND_TBL('||i||'):'||G_RLTD_RELATED_LINE_IND_TBL(i),1,'Y');
8702 END IF;
8703 end loop;
8704 end if;
8705 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8706   aso_debug_pub.add('  ',1,'Y');
8707   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RLTD_LINE_DTL_IND_TBL.count:'
8708                      ||nvl(G_RLTD_RLTD_LINE_DTL_IND_TBL.count,0),1,'Y');
8709 END IF;
8710 
8711 If nvl(G_RLTD_RLTD_LINE_DTL_IND_TBL.count,0) > 0 then
8712 For i in 1..G_RLTD_RLTD_LINE_DTL_IND_TBL.count loop
8713 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8714   aso_debug_pub.add('G_RLTD_RLTD_LINE_DTL_IND_TBL('||i||'):'||G_RLTD_RLTD_LINE_DTL_IND_TBL(i),1,'Y');
8715 END IF;
8716 end loop;
8717 end if;
8718 
8719 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8720   aso_debug_pub.add('  ',1,'Y');
8721   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_LST_LN_ID_DEF_TBL.count:'
8722                      ||nvl(G_RLTD_LST_LN_ID_DEF_TBL.count,0),1,'Y');
8723 END IF;
8724 
8725 If nvl(G_RLTD_LST_LN_ID_DEF_TBL.count,0) > 0 then
8726 For i in 1..G_RLTD_LST_LN_ID_DEF_TBL.count loop
8727 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8728   aso_debug_pub.add('G_RLTD_LST_LN_ID_DEF_TBL('||i||'):'||G_RLTD_LST_LN_ID_DEF_TBL(i),1,'Y');
8729 END IF;
8730 end loop;
8731 end if;
8732 
8733 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8734   aso_debug_pub.add('  ',1,'Y');
8735   aso_debug_pub.add('ASO_PRICING_CORE_PVT:b4 insert temp table:G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count:'
8736                      ||nvl(G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count,0),1,'Y');
8737 END IF;
8738 
8739 If nvl(G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count,0) > 0 then
8740 For i in 1..G_RLTD_RLTD_LST_LN_ID_DEF_TBL.count loop
8741 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8742   aso_debug_pub.add('G_RLTD_RLTD_LST_LN_ID_DEF_TBL('||i||'):'||G_RLTD_RLTD_LST_LN_ID_DEF_TBL(i),1,'Y');
8743 END IF;
8744 end loop;
8745 end if;
8746 
8747 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8748   aso_debug_pub.add('  ',1,'Y');
8749 END IF;
8750 END Print_Global_Data_Rltships;
8751 
8752 PROCEDURE Populate_QP_Temp_Tables
8753 IS
8754 l_return_status          varchar2(1) := FND_API.G_RET_STS_SUCCESS;
8755 l_return_status_text     varchar2(240) ;
8756 i NUMBER;
8757 
8758 BEGIN
8759 
8760 Print_Global_Data_Lines;
8761 
8762 QP_PREQ_GRP.INSERT_LINES2
8763                 (p_LINE_INDEX               =>G_LINE_INDEX_TBL,
8764                  p_LINE_TYPE_CODE           =>G_LINE_TYPE_CODE_TBL,
8765                  p_PRICING_EFFECTIVE_DATE   =>G_PRICING_EFFECTIVE_DATE_TBL,
8766                  p_ACTIVE_DATE_FIRST        =>G_ACTIVE_DATE_FIRST_TBL,
8767                  p_ACTIVE_DATE_FIRST_TYPE   =>G_ACTIVE_DATE_FIRST_TYPE_TBL,
8768                  p_ACTIVE_DATE_SECOND       =>G_ACTIVE_DATE_SECOND_TBL,
8769                  p_ACTIVE_DATE_SECOND_TYPE  =>G_ACTIVE_DATE_SECOND_TYPE_TBL,
8770                  p_LINE_QUANTITY            =>G_LINE_QUANTITY_TBL,
8771                  p_LINE_UOM_CODE            =>G_LINE_UOM_CODE_TBL,
8772                  p_REQUEST_TYPE_CODE        =>G_REQUEST_TYPE_CODE_TBL,
8773                  p_PRICED_QUANTITY          =>G_PRICED_QUANTITY_TBL,
8774                  p_PRICED_UOM_CODE          =>G_PRICED_UOM_CODE_TBL,
8775                  p_CURRENCY_CODE            =>G_CURRENCY_CODE_TBL,
8776                  p_UNIT_PRICE               =>G_UNIT_PRICE_TBL,
8777 			  p_LINE_UNIT_PRICE          =>G_UNIT_PRICE_TBL,
8778                  p_PERCENT_PRICE            =>G_PERCENT_PRICE_TBL,
8779                  p_UOM_QUANTITY             =>G_UOM_QUANTITY_TBL,
8780                  p_ADJUSTED_UNIT_PRICE      =>G_ADJUSTED_UNIT_PRICE_TBL,
8781                  p_UPD_ADJUSTED_UNIT_PRICE  =>G_UPD_ADJUSTED_UNIT_PRICE_TBL,
8782                  p_PROCESSED_FLAG           =>G_PROCESSED_FLAG_TBL,
8783                  p_PRICE_FLAG               =>G_PRICE_FLAG_TBL,
8784                  p_LINE_ID                  =>G_LINE_ID_TBL,
8785                  p_PROCESSING_ORDER         =>G_PROCESSING_ORDER_TBL,
8786                  p_PRICING_STATUS_CODE      =>G_PRICING_STATUS_CODE_tbl,
8787                  p_PRICING_STATUS_TEXT      =>G_PRICING_STATUS_TEXT_tbl,
8788                  p_ROUNDING_FLAG            =>G_ROUNDING_FLAG_TBL,
8789                  p_ROUNDING_FACTOR          =>G_ROUNDING_FACTOR_TBL,
8790                  p_QUALIFIERS_EXIST_FLAG    =>G_QUALIFIERS_EXIST_FLAG_TBL,
8791                  p_PRICING_ATTRS_EXIST_FLAG =>G_PRICING_ATTRS_EXIST_FLAG_TBL,
8792                  p_PRICE_LIST_ID            =>G_PRICE_LIST_ID_TBL,
8793                  p_VALIDATED_FLAG           =>G_PL_VALIDATED_FLAG_TBL,
8794                  p_PRICE_REQUEST_CODE       =>G_PRICE_REQUEST_CODE_TBL,
8795                  p_USAGE_PRICING_TYPE       =>G_USAGE_PRICING_TYPE_tbl,
8796                  p_line_category            =>G_LINE_CATEGORY_tbl,
8797 			  p_charge_periodicity_code  =>G_CHRG_PERIODICITY_CODE_TBL,
8798                  /* Changes Made for OKS uptake bug 4900084  */
8799 			  p_CONTRACT_START_DATE      =>G_CONTRACT_START_DATE_TBL,
8800 			  p_CONTRACT_END_DATE        =>G_CONTRACT_END_DATE_TBL,
8801                  x_status_code              =>l_return_status,
8802                  x_status_text              =>l_return_status_text);
8803 
8804 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8805    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8806      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error in insert_lines2',1,'Y');
8807      aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_return_status_text:'||l_return_status_text,1,'Y');
8808    END IF;
8809    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8810 END IF;
8811 
8812 IF G_ATTR_LINE_INDEX_tbl.count > 0 THEN
8813 QP_PREQ_GRP.INSERT_LINE_ATTRS2
8814    (    p_LINE_INDEX_tbl                => G_ATTR_LINE_INDEX_tbl,
8815         p_LINE_DETAIL_INDEX_tbl         => G_ATTR_LINE_DETAIL_INDEX_tbl,
8816         p_ATTRIBUTE_LEVEL_tbl           => G_ATTR_ATTRIBUTE_LEVEL_tbl,
8817         p_ATTRIBUTE_TYPE_tbl            => G_ATTR_ATTRIBUTE_TYPE_tbl,
8818         p_LIST_HEADER_ID_tbl            => G_ATTR_LIST_HEADER_ID_tbl,
8819         p_LIST_LINE_ID_tbl              => G_ATTR_LIST_LINE_ID_tbl,
8820         p_CONTEXT_tbl                   => G_ATTR_PRICING_CONTEXT_tbl,
8821         p_ATTRIBUTE_tbl                 => G_ATTR_PRICING_ATTRIBUTE_tbl,
8822         p_VALUE_FROM_tbl                => G_ATTR_VALUE_FROM_tbl,
8823         p_SETUP_VALUE_FROM_tbl          => G_ATTR_SETUP_VALUE_FROM_tbl,
8824         p_VALUE_TO_tbl                  => G_ATTR_VALUE_TO_tbl,
8825         p_SETUP_VALUE_TO_tbl            => G_ATTR_SETUP_VALUE_TO_tbl,
8826         p_GROUPING_NUMBER_tbl           => G_ATTR_GROUPING_NUMBER_tbl,
8827         p_NO_QUALIFIERS_IN_GRP_tbl      => G_ATTR_NO_QUAL_IN_GRP_tbl,
8828         p_COMPARISON_OPERATOR_TYPE_tbl  => G_ATTR_COMP_OPERATOR_TYPE_tbl,
8829         p_VALIDATED_FLAG_tbl            => G_ATTR_VALIDATED_FLAG_tbl,
8830         p_APPLIED_FLAG_tbl              => G_ATTR_APPLIED_FLAG_tbl,
8831         p_PRICING_STATUS_CODE_tbl       => G_ATTR_PRICING_STATUS_CODE_tbl,
8832         p_PRICING_STATUS_TEXT_tbl       => G_ATTR_PRICING_STATUS_TEXT_tbl,
8833         p_QUALIFIER_PRECEDENCE_tbl      => G_ATTR_QUAL_PRECEDENCE_tbl,
8834         p_DATATYPE_tbl                  => G_ATTR_DATATYPE_tbl,
8835         p_PRICING_ATTR_FLAG_tbl         => G_ATTR_PRICING_ATTR_FLAG_tbl,
8836         p_QUALIFIER_TYPE_tbl            => G_ATTR_QUALIFIER_TYPE_tbl,
8837         p_PRODUCT_UOM_CODE_TBL          => G_ATTR_PRODUCT_UOM_CODE_TBL,
8838         p_EXCLUDER_FLAG_TBL             => G_ATTR_EXCLUDER_FLAG_TBL,
8839         p_PRICING_PHASE_ID_TBL          => G_ATTR_PRICING_PHASE_ID_TBL,
8840         p_INCOMPATABILITY_GRP_CODE_TBL  => G_ATTR_INCOM_GRP_CODE_TBL,
8841         p_LINE_DETAIL_TYPE_CODE_TBL     => G_ATTR_LDET_TYPE_CODE_TBL,
8842         p_MODIFIER_LEVEL_CODE_TBL       => G_ATTR_MODIFIER_LEVEL_CODE_TBL,
8843         p_PRIMARY_UOM_FLAG_TBL          => G_ATTR_PRIMARY_UOM_FLAG_TBL,
8844         x_status_code                   => l_return_status,
8845         x_status_text                   => l_return_status_text );
8846 
8847        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8848            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8849              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into line attrs'||sqlerrm,1,'Y');
8850            END IF;
8851            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8852        END IF;
8853 
8854 END IF;
8855 
8856 Print_Global_Data_Adjustments;
8857 
8858 IF (G_LDET_LINE_DTL_INDEX_TBL.COUNT > 0) THEN
8859 QP_PREQ_GRP.INSERT_LDETS2
8860   (p_LINE_DETAIL_INDEX             => G_LDET_LINE_DTL_INDEX_TBL,
8861    p_LINE_DETAIL_TYPE_CODE         => G_LDET_LINE_DTL_TYPE_TBL,
8862    p_PRICE_BREAK_TYPE_CODE         => G_LDET_PRICE_BREAK_TYPE_TBL,
8863    p_LIST_PRICE                    => G_LDET_LIST_PRICE_TBL,
8864    p_LINE_INDEX                    => G_LDET_LINE_INDEX_TBL,
8865    p_CREATED_FROM_LIST_HEADER_ID   => G_LDET_LIST_HEADER_ID_TBL,
8866    p_CREATED_FROM_LIST_LINE_ID     => G_LDET_LIST_LINE_ID_TBL,
8867    p_CREATED_FROM_LIST_LINE_TYPE   => G_LDET_LIST_LINE_TYPE_TBL,
8868    p_CREATED_FROM_LIST_TYPE_CODE   => G_LDET_LIST_TYPE_CODE_TBL,
8869    p_CREATED_FROM_SQL              => G_LDET_CREATED_FROM_SQL_TBL,
8870    p_PRICING_GROUP_SEQUENCE        => G_LDET_PRICING_GRP_SEQ_TBL,
8871    p_PRICING_PHASE_ID              => G_LDET_PRICING_PHASE_ID_TBL,
8872    p_OPERAND_CALCULATION_CODE      => G_LDET_OPERAND_CALC_CODE_TBL,
8873    p_OPERAND_VALUE                 => G_LDET_OPERAND_VALUE_TBL,
8874    p_SUBSTITUTION_TYPE_CODE        => G_LDET_SUBSTN_TYPE_TBL,
8875    p_SUBSTITUTION_VALUE_FROM       => G_LDET_SUBSTN_VALUE_FROM_TBL,
8876    p_SUBSTITUTION_VALUE_TO         => G_LDET_SUBSTN_VALUE_TO_TBL,
8877    p_ASK_FOR_FLAG                  => G_LDET_ASK_FOR_FLAG_TBL,
8878    p_PRICE_FORMULA_ID              => G_LDET_PRICE_FORMULA_ID_TBL,
8879    p_PRICING_STATUS_CODE           => G_LDET_PRICING_STATUS_CODE_TBL,
8880    p_PRICING_STATUS_TEXT           => G_LDET_PRICING_STATUS_TXT_TBL,
8881    p_PRODUCT_PRECEDENCE            => G_LDET_PRODUCT_PRECEDENCE_TBL,
8882    p_INCOMPATABLILITY_GRP_CODE     => G_LDET_INCOMPAT_GRP_CODE_TBL,
8883    p_PROCESSED_FLAG                => G_LDET_PROCESSED_FLAG_TBL,
8884    p_APPLIED_FLAG                  => G_LDET_APPLIED_FLAG_TBL,
8885    p_AUTOMATIC_FLAG                => G_LDET_AUTOMATIC_FLAG_TBL,
8886    p_OVERRIDE_FLAG                 => G_LDET_OVERRIDE_FLAG_TBL,
8887    p_PRIMARY_UOM_FLAG              => G_LDET_PRIMARY_UOM_FLAG_TBL,
8888    p_PRINT_ON_INVOICE_FLAG         => G_LDET_PRINT_ON_INV_FLAG_TBL,
8889    p_MODIFIER_LEVEL_CODE           => G_LDET_MODIFIER_LEVEL_TBL,
8890    p_BENEFIT_QTY                   => G_LDET_BENEFIT_QTY_TBL,
8891    p_BENEFIT_UOM_CODE              => G_LDET_BENEFIT_UOM_CODE_TBL,
8892    p_LIST_LINE_NO                  => G_LDET_LIST_LINE_NO_TBL,
8893    p_ACCRUAL_FLAG                  => G_LDET_ACCRUAL_FLAG_TBL,
8894    p_ACCRUAL_CONVERSION_RATE       => G_LDET_ACCR_CONV_RATE_TBL,
8895    p_ESTIM_ACCRUAL_RATE            => G_LDET_ESTIM_ACCR_RATE_TBL,
8896    p_RECURRING_FLAG                => G_LDET_RECURRING_FLAG_TBL,
8897    p_SELECTED_VOLUME_ATTR          => G_LDET_SELECTED_VOL_ATTR_TBL,
8898    p_ROUNDING_FACTOR               => G_LDET_ROUNDING_FACTOR_TBL,
8899    p_HEADER_LIMIT_EXISTS           => G_LDET_HDR_LIMIT_EXISTS_TBL,
8900    p_LINE_LIMIT_EXISTS             => G_LDET_LINE_LIMIT_EXISTS_TBL,
8901    p_CHARGE_TYPE_CODE              => G_LDET_CHARGE_TYPE_TBL,
8902    p_CHARGE_SUBTYPE_CODE           => G_LDET_CHARGE_SUBTYPE_TBL,
8903    p_CURRENCY_DETAIL_ID            => G_LDET_CURRENCY_DTL_ID_TBL,
8904    p_CURRENCY_HEADER_ID            => G_LDET_CURRENCY_HDR_ID_TBL,
8905    p_SELLING_ROUNDING_FACTOR       => G_LDET_SELLING_ROUND_TBL,
8906    p_ORDER_CURRENCY                => G_LDET_ORDER_CURRENCY_TBL,
8907    p_PRICING_EFFECTIVE_DATE        => G_LDET_PRICING_EFF_DATE_TBL,
8908    p_BASE_CURRENCY_CODE            => G_LDET_BASE_CURRENCY_TBL,
8909    p_LINE_QUANTITY                 => G_LDET_LINE_QUANTITY_TBL,
8910    p_UPDATED_FLAG                  => G_LDET_UPDATED_FLAG_TBL,
8911    p_CALCULATION_CODE              => G_LDET_CALC_CODE_TBL,
8912    p_CHANGE_REASON_CODE            => G_LDET_CHG_REASON_CODE_TBL,
8913    p_CHANGE_REASON_TEXT            => G_LDET_CHG_REASON_TEXT_TBL,
8914    p_PRICE_ADJUSTMENT_ID           => G_LDET_PRICE_ADJ_ID_TBL,
8915    x_status_code                   => l_return_status,
8916    x_status_text                   => l_return_status_text);
8917 
8918    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8919       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8920         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into adj ldets'||sqlerrm,1,'Y');
8921       END IF;
8922       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8923    END IF;
8924 
8925 END IF;--G_LDET_LINE_DTL_INDEX_TBL
8926 
8927 Print_Global_Data_Rltships;
8928 
8929 IF (G_RLTD_LINE_INDEX_TBL.COUNT > 0)
8930 THEN
8931   QP_PREQ_GRP.INSERT_RLTD_LINES2 (
8932     p_LINE_INDEX                => G_RLTD_LINE_INDEX_TBL,
8933     p_LINE_DETAIL_INDEX         => G_RLTD_LINE_DTL_INDEX_TBL,
8934     p_RELATIONSHIP_TYPE_CODE    => G_RLTD_RELATION_TYPE_CODE_TBL,
8935     p_RELATED_LINE_INDEX        => G_RLTD_RELATED_LINE_IND_TBL,
8936     p_RELATED_LINE_DETAIL_INDEX => G_RLTD_RLTD_LINE_DTL_IND_TBL,
8937     p_LIST_LINE_ID              => G_RLTD_LST_LN_ID_DEF_TBL,
8938     p_RELATED_LIST_LINE_ID      => G_RLTD_RLTD_LST_LN_ID_DEF_TBL,
8939     x_status_code               => l_return_status,
8940     x_status_text               => l_return_status_text);
8941 
8942     IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8943        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8944          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Error inserting into adj relationship'||sqlerrm,1,'Y');
8945        END IF;
8946        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8947     END IF;
8948 
8949 END IF;--G_RLTD_LINE_INDEX_TBL
8950 
8951     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
8952       aso_debug_pub.add('ASO_PRICING_CORE_PVT: After direct insert into temp table: bulk insert',1,'Y');
8953     END IF;
8954 
8955 EXCEPTION
8956 WHEN OTHERS THEN
8957   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8958 
8959 END Populate_QP_Temp_Tables;
8960 
8961 
8962 PROCEDURE Delete_Promotion (
8963                            P_Api_Version_Number IN   NUMBER,
8964                            P_Init_Msg_List      IN   VARCHAR2  := FND_API.G_FALSE,
8965                            P_Commit             IN   VARCHAR2  := FND_API.G_FALSE,
8966                            p_price_attr_tbl     IN   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type,
8967                            x_return_status      OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
8968                            x_msg_count          OUT NOCOPY /* file.sql.39 change */ NUMBER,
8969                            x_msg_data           OUT NOCOPY /* file.sql.39 change */ VARCHAR2
8970 			   )
8971 IS
8972 
8973 
8974    CURSOR C_get_adj_id_HdrH(l_quote_header_id NUMBER,l_price_attribute1 VARCHAR2) IS
8975    SELECT price_adjustment_id
8976    FROM aso_price_adjustments
8977    WHERE quote_header_id = l_quote_header_id
8978    AND quote_line_id is null
8979    AND modifier_header_id = to_number(l_price_attribute1);
8980 
8981    CURSOR C_get_adj_id_HdrL(l_quote_header_id NUMBER,l_price_attribute2 VARCHAR2) IS
8982    SELECT price_adjustment_id
8983    FROM aso_price_adjustments
8984    WHERE Quote_header_id = l_quote_header_id
8985    AND quote_line_id is null
8986    AND modifier_line_id = to_number(l_price_attribute2);
8987 
8988    CURSOR C_get_adj_id_LnH(l_quote_header_id NUMBER,l_quote_line_id NUMBER,l_price_attribute1 VARCHAR2) IS
8989    SELECT price_adjustment_id
8990    FROM aso_price_adjustments
8991    WHERE Quote_header_id = l_quote_header_id
8992    AND   Quote_line_id = l_quote_line_id
8993    AND modifier_header_id = to_number(l_price_attribute1);
8994 
8995    CURSOR C_get_adj_id_LnL(l_quote_header_id NUMBER,l_quote_line_id NUMBER,l_price_attribute2 VARCHAR2)IS
8996    SELECT price_adjustment_id
8997    FROM aso_price_adjustments
8998    WHERE Quote_header_id = l_quote_header_id
8999    AND   Quote_line_id = l_quote_line_id
9000    AND modifier_line_id = to_number(l_price_attribute2);
9001 
9002 
9003 
9004     l_api_name                      CONSTANT VARCHAR2(30) := 'Delete_Promotion';
9005     l_api_version_number            CONSTANT NUMBER   := 1.0;
9006     l_price_adjustment_id                    NUMBER;
9007     i                                        NUMBER;
9008 
9009 BEGIN
9010 
9011     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9012       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside Delete_Promotion', 1, 'Y');
9013     END IF;
9014 
9015 
9016     -- Standard Start of API savepoint
9017     SAVEPOINT Delete_Promotion_PVT;
9018 
9019     -- Standard call to check for call compatibility.
9020     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
9021                                         p_api_version_number,
9022                                         l_api_name,
9023                                         G_PKG_NAME)
9024     THEN
9025           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9026     END IF;
9027 
9028 
9029     -- Initialize message list if p_init_msg_list is set to TRUE.
9030     IF FND_API.to_Boolean( p_init_msg_list )
9031     THEN
9032           FND_MSG_PUB.initialize;
9033     END IF;
9034 
9035     x_return_status := FND_API.G_RET_STS_SUCCESS;
9036    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9037      aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_price_attr_tbl.count:'||nvl(p_price_attr_tbl.count,0),1,'Y');
9038    END IF;
9039 
9040    For i in 1..p_price_attr_tbl.count loop
9041        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9042          aso_debug_pub.add('ASO_PRICING_CORE_PVT:In Delete Promotion - p_price_attr_tbl(i).operation_code:'
9043                             ||p_price_attr_tbl(i).operation_code,1,'Y');
9044        END IF;
9045        If p_price_attr_tbl(i).operation_code = 'DELETE' Then
9046           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9047             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Parameters passed to Delete_Promotion: loop '||i,1,'Y');
9048             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Quote_header_id:'||p_price_attr_tbl(i).quote_header_id,1,'Y');
9049             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Price_attribute_id:'||p_price_attr_tbl(i).price_attribute_id,1,'Y');
9050             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Quote_line_id:'||p_price_attr_tbl(i).quote_line_id,1,'Y');
9051             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Pricing_Attribute1:'||p_price_attr_tbl(i).pricing_attribute1,1,'Y');
9052             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Pricing_Attribute2:'||p_price_attr_tbl(i).pricing_attribute2,1,'Y');
9053             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Flex_title:'||p_price_attr_tbl(i).flex_title,1,'Y');
9054           END IF;
9055 
9056        If p_price_attr_tbl(i).price_attribute_id is not null then
9057 		If ((p_price_attr_tbl(i).pricing_attribute1 IS NULL
9058 		    OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR)
9059 		    AND
9060              (p_price_attr_tbl(i).pricing_attribute2 IS NULL
9061 		   OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR))
9062 		   OR (p_price_attr_tbl(i).flex_title = 'QP_ATTR_DEFNS_PRICING'
9063 			  OR (p_price_attr_tbl(i).flex_title = FND_API.G_MISS_CHAR
9064 				 OR  p_price_attr_tbl(i).flex_title IS NULL)) then
9065 		           /*Deleting the attributes or promotions from Istore*/
9066                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9067                        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');
9068                     END IF;
9069                     ASO_PRICE_ATTRIBUTES_PKG.Delete_Row
9070                                       (p_PRICE_ATTRIBUTE_ID  => p_price_attr_tbl(i).price_attribute_id);
9071           else
9072 	         --We will require at least quote_header_id AND (price_attr1 OR price_attr2 value)
9073               --Check if there is a header id
9074               If (p_price_attr_tbl(i).quote_header_id IS NULL)
9075 	            OR (p_price_attr_tbl(i).quote_header_id = FND_API.G_MISS_NUM) THEN
9076                       x_return_status := FND_API.G_RET_STS_ERROR;
9077 		            RAISE FND_API.G_EXC_ERROR;
9078               END If;
9079 
9080               If (p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR
9081 	             OR p_price_attr_tbl(i).pricing_attribute1 is null)
9082                   AND (p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR
9083 		           OR p_price_attr_tbl(i).pricing_attribute2 is null ) THEN
9084                         x_return_status := FND_API.G_RET_STS_ERROR;
9085                         RAISE FND_API.G_EXC_ERROR;
9086               End If;
9087 
9088               If (p_price_attr_tbl(i).quote_line_id IS NULL
9089                  OR p_price_attr_tbl(i).quote_line_id = FND_API.G_MISS_NUM) then
9090                  /*Delete all the header level adjustments*/
9091 
9092                  IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9093                     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments',1,'Y');
9094                  END IF;
9095 	            If (p_price_attr_tbl(i).pricing_attribute2 is null
9096 		          OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR) then
9097 
9098                     /*Delete all the adjustment record with the modifier_header_id*/
9099                     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9100                        aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments with the modifier_header_id',1,'Y');
9101                     END IF;
9102 
9103                     OPEN C_get_adj_id_HdrH(p_price_attr_tbl(i).quote_header_id,
9104                                            p_price_attr_tbl(i).pricing_attribute1);
9105                     FETCH C_get_adj_id_HdrH INTO l_price_adjustment_id;
9106 
9107 			     While C_get_adj_id_HdrH%found LOOP
9108                           ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9109                           FETCH C_get_adj_id_HdrH INTO l_price_adjustment_id;
9110 			     End Loop;
9111                     CLOSE C_get_adj_id_HdrH;
9112 
9113 	            Elsif (p_price_attr_tbl(i).pricing_attribute1 is null
9114 			         OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR) then
9115 
9116 	                   /*Delete all the adjustment record with the modifier_line_id*/
9117                         IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9118                            aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting header level adjustments with the modifier_line_id',1,'Y');
9119                         END IF;
9120 
9121                         OPEN C_get_adj_id_HdrL(p_price_attr_tbl(i).quote_header_id,
9122                                                p_price_attr_tbl(i).pricing_attribute2);
9123                         FETCH C_get_adj_id_HdrL INTO l_price_adjustment_id;
9124                         IF (C_get_adj_id_HdrL%NOTFOUND) THEN
9125 			            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9126 			               aso_debug_pub.add('ASO_PRICING_CORE_PVT:No record in C_get_adj_id_HdrL:i - '||i,1,'Y');
9127 			            END IF;
9128                            /*Do not error OUT do nothing*/
9129                         ELSE
9130                            ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9131                         END IF;
9132                         CLOSE C_get_adj_id_HdrL;
9133 	            End If;-- IF (p_price_attr_tbl(i).pricing_attribute2 is null
9134 
9135               Else/*Delete all the line level adjustments*/
9136 
9137                   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9138                      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments',1,'Y');
9139                   END IF;
9140 
9141                   If (p_price_attr_tbl(i).pricing_attribute2 is null
9142 		            OR p_price_attr_tbl(i).pricing_attribute2 = FND_API.G_MISS_CHAR) then
9143 
9144 	                /*Delete all the adjustment record with the modifier_header_id*/
9145                      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9146                         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments with the modifier_header_id',1,'Y');
9147                      END IF;
9148 
9149                      OPEN C_get_adj_id_LnH(p_price_attr_tbl(i).quote_header_id,
9150                                    p_price_attr_tbl(i).quote_line_id,
9151                                    p_price_attr_tbl(i).pricing_attribute1
9152                                    );
9153                      FETCH C_get_adj_id_LnH INTO l_price_adjustment_id;
9154 
9155 		           While C_get_adj_id_LnH%found LOOP
9156 		              ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9157 		              FETCH C_get_adj_id_LnH INTO l_price_adjustment_id;
9158                      End Loop;
9159 
9160                      CLOSE C_get_adj_id_LnH;
9161 
9162 	             Elsif (p_price_attr_tbl(i).pricing_attribute1 is null
9163 		              OR p_price_attr_tbl(i).pricing_attribute1 = FND_API.G_MISS_CHAR) then
9164 
9165 	                   /*Delete all the adjustment record with the modifier_line_id*/
9166                        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9167                           aso_debug_pub.add('ASO_PRICING_CORE_PVT:Deleting line level adjustments with the modifier_line_id',1,'Y');
9168                        END IF;
9169 
9170                        OPEN C_get_adj_id_LnL(p_price_attr_tbl(i).quote_header_id,
9171                                      p_price_attr_tbl(i).quote_line_id,
9172                                      p_price_attr_tbl(i).pricing_attribute2
9173                                      );
9174                        FETCH C_get_adj_id_LnL INTO l_price_adjustment_id;
9175                        IF (C_get_adj_id_LnL%NOTFOUND) THEN
9176 			           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9177 			              aso_debug_pub.add('ASO_PRICING_CORE_PVT:No record in C_get_adj_id_LnL:i'||i,1,'Y');
9178 			           END IF;
9179                           /*Do not error OUT - do nothing*/
9180                        ELSE
9181                           ASO_PRICE_ADJUSTMENTS_PKG.Delete_Row(p_PRICE_ADJ_ID  => l_price_adjustment_id);
9182                        END IF;
9183                        CLOSE C_get_adj_id_LnL;
9184 
9185                  End If;
9186 
9187          End If;--If (p_price_attr_tbl(i).quote_line_id IS NULL
9188 
9189         /*Delete the Price Attribute Record*/
9190 
9191          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9192             aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Deleting Adj Deleting the attribute rec',1,'Y');
9193          END IF;
9194          ASO_PRICE_ATTRIBUTES_PKG.Delete_Row
9195                 (p_PRICE_ATTRIBUTE_ID  => p_price_attr_tbl(i).price_attribute_id);
9196 
9197        End If;--If ((p_price_attr_tbl(i).pricing_attribute1 IS NULL This is the end if of else of Istore and attr
9198 
9199       End If;-- If p_price_attr_tbl(i).price_attribute_id is not null
9200 
9201    End If;-- p_price_attr_tbl(i).operation_code = 'DELETE'
9202 
9203   End Loop;
9204 
9205   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9206      aso_debug_pub.add('ASO_PRICING_CORE_PVT:Delete_Promotion Ends', 1, 'Y');
9207   END IF;
9208 
9209   -- Standard check for p_commit
9210   IF FND_API.to_Boolean( p_commit ) THEN
9211      COMMIT WORK;
9212   END IF;
9213 
9214   FND_MSG_PUB.Count_And_Get
9215       (  p_count          =>   x_msg_count,
9216          p_data           =>   x_msg_data
9217       );
9218  EXCEPTION
9219       WHEN FND_API.G_EXC_ERROR THEN
9220           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9221            P_API_NAME => L_API_NAME
9222           ,P_PKG_NAME => G_PKG_NAME
9223           ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
9224           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9225           ,P_SQLCODE => SQLCODE
9226           ,P_SQLERRM => SQLERRM
9227           ,X_MSG_COUNT => X_MSG_COUNT
9228           ,X_MSG_DATA => X_MSG_DATA
9229           ,X_RETURN_STATUS => X_RETURN_STATUS);
9230 
9231       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9232           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9233            P_API_NAME => L_API_NAME
9234           ,P_PKG_NAME => G_PKG_NAME
9235           ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
9236           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9237           ,P_SQLCODE => SQLCODE
9238           ,P_SQLERRM => SQLERRM
9239           ,X_MSG_COUNT => X_MSG_COUNT
9240           ,X_MSG_DATA => X_MSG_DATA
9241           ,X_RETURN_STATUS => X_RETURN_STATUS);
9242 
9243       WHEN OTHERS THEN
9244           ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
9245            P_API_NAME => L_API_NAME
9246           ,P_PKG_NAME => G_PKG_NAME
9247           ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
9248           ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
9249           ,P_SQLCODE => SQLCODE
9250           ,P_SQLERRM => SQLERRM
9251           ,X_MSG_COUNT => X_MSG_COUNT
9252           ,X_MSG_DATA => X_MSG_DATA
9253           ,X_RETURN_STATUS => X_RETURN_STATUS);
9254 
9255 END Delete_Promotion;
9256 
9257 
9258 PROCEDURE Copy_Price_To_Quote(
9259      P_Api_Version_Number       IN   NUMBER,
9260      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
9261      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
9262      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
9263      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
9264 	P_Insert_Type              IN   VARCHAR2 := 'HDR',
9265      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
9266      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
9267      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
9268 IS
9269 
9270 l_api_name                    CONSTANT VARCHAR2(30) := 'Copy_Price_To_Quote';
9271 l_api_version_number          CONSTANT NUMBER   := 1.0;
9272 l_line_shipping_charge        number := 0;
9273 l_hdr_shipping_charge         number := 0;
9274 l_message_text                VARCHAR2(2000);
9275 G_USER_ID                     NUMBER := FND_GLOBAL.USER_ID;
9276 G_LOGIN_ID                    NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
9277 l_last_update_date			Date	:= SYSDATE;
9278 l                             BINARY_INTEGER;
9279 l_total_list_price            NUMBER;
9280 l_ln_total_discount           NUMBER;
9281 ls_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
9282 l_profile_value               VARCHAR2(20);
9283 l_db_line_counter             NUMBER;
9284 
9285 CURSOR C_status_code IS
9286 SELECT line_id,
9287 	  pricing_status_code,
9288        pricing_status_text
9289 FROM qp_preq_lines_tmp lines
9290 WHERE lines.line_type_code='LINE'
9291 AND  lines.pricing_status_code in(
9292             QP_PREQ_GRP.g_status_invalid_price_list,
9293             QP_PREQ_GRP.g_sts_lhs_not_found,
9294             QP_PREQ_GRP.g_status_formula_error,
9295             QP_PREQ_GRP.g_status_other_errors,
9296             fnd_api.g_ret_sts_unexp_error,
9297             fnd_api.g_ret_sts_error,
9298             QP_PREQ_GRP.g_status_calc_error,
9299             QP_PREQ_GRP.g_status_uom_failure,
9300             QP_PREQ_GRP.g_status_invalid_uom,
9301             QP_PREQ_GRP.g_status_dup_price_list,
9302             QP_PREQ_GRP.g_status_invalid_uom_conv,
9303             QP_PREQ_GRP.g_status_invalid_incomp,
9304             QP_PREQ_GRP.g_status_best_price_eval_error,
9305 	       QP_PREQ_PUB.g_back_calculation_sts);
9306 
9307 CURSOR C_status_code_GSA IS
9308 SELECT pricing_status_code,
9309        pricing_status_text
9310 FROM  qp_preq_lines_tmp lines
9311 WHERE lines.line_type_code='LINE'
9312 AND   lines.pricing_status_code = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
9313 
9314 /*This cursor is just for debugging purpose*/
9315 CURSOR C_QP_PREQ_RLTD_LINES_TMP IS
9316 SELECT
9317 rltd.REQUEST_TYPE_CODE,
9318 rltd.LINE_INDEX,
9319 rltd.LINE_DETAIL_INDEX,
9320 rltd.RELATIONSHIP_TYPE_CODE,
9321 rltd.RELATED_LINE_INDEX,
9322 rltd.RELATED_LINE_DETAIL_INDEX,
9323 rltd.PRICING_STATUS_CODE,
9324 rltd.PRICING_STATUS_TEXT,
9325 rltd.LIST_LINE_ID,
9326 rltd.RELATED_LIST_LINE_ID,
9327 rltd.RELATED_LIST_LINE_TYPE,
9328 rltd.OPERAND_CALCULATION_CODE,
9329 rltd.OPERAND,
9330 rltd.PRICING_GROUP_SEQUENCE,
9331 rltd.RELATIONSHIP_TYPE_DETAIL,
9332 rltd.SETUP_VALUE_FROM,
9333 rltd.SETUP_VALUE_TO,
9334 rltd.QUALIFIER_VALUE,
9335 rltd.ADJUSTMENT_AMOUNT,
9336 rltd.SATISFIED_RANGE_VALUE,
9337 rltd.REQUEST_ID,
9338 lines.line_id,
9339 lines.process_status
9340 FROM QP_PREQ_RLTD_LINES_TMP rltd,
9341      QP_PREQ_LINES_TMP lines
9342 WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9343 AND RLTD.Relationship_Type_Code in (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
9344 AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9345 AND lines.line_type_code = 'LINE'
9346 AND lines.line_index = rltd.line_index;
9347 
9348 
9349 BEGIN
9350     -- Standard call to check for call compatibility.
9351     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
9352                                         p_api_version_number,
9353                                         l_api_name,
9354                                         G_PKG_NAME)
9355     THEN
9356           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9357     END IF;
9358 
9359 
9360     -- Initialize message list if p_init_msg_list is set to TRUE.
9361     IF FND_API.to_Boolean( p_init_msg_list )
9362     THEN
9363           FND_MSG_PUB.initialize;
9364     END IF;
9365 
9366     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9367       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Copy_Price_To_Quote ',1,'Y');
9368 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:P_control_rec.price_mode:'||P_control_rec.price_mode,1,'Y');
9369 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type:'||p_insert_type,1,'Y');
9370     END IF;
9371     x_return_status := FND_API.G_RET_STS_SUCCESS;
9372     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9373       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Post_Price_Request for p_qte_header_rec.quote_header_id'
9374                          ||p_qte_header_rec.quote_header_id,1,'Y');
9375     END IF;
9376 
9377     SELECT count(rowid)
9378     INTO l_db_line_counter
9379     FROM ASO_QUOTE_LINES_ALL
9380     WHERE quote_header_id = p_qte_header_rec.quote_header_id;
9381 
9382     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9383       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_db_line_counter:'||l_db_line_counter,1,'Y');
9384     END IF;
9385 
9386     If l_db_line_counter <> 0 Then
9387 
9388        FOR C_status_code_rec in C_status_code LOOP
9389            IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9390              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor line_id:'
9391 					       ||C_status_code_rec.line_id,1,'Y');
9392              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor pricing_status_code:'
9393 					       ||C_status_code_rec.pricing_status_code,1,'Y');
9394              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside c_status_code cursor pricing_status_text:'
9395 					       ||C_status_code_rec.pricing_status_text,1,'Y');
9396            END IF;
9397            x_return_status := FND_API.G_RET_STS_ERROR;
9398            l_message_text := C_status_code_rec.pricing_status_code || ': '||C_status_code_rec.pricing_status_text;
9399 
9400            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
9401               FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
9402               FND_MESSAGE.Set_Token('MSG_TXT', substr(l_message_text, 1,255), FALSE);
9403               FND_MSG_PUB.ADD;
9404            END IF;
9405              RAISE FND_API.G_EXC_ERROR;
9406       END LOOP;
9407 
9408       l_profile_value := FND_PROFILE.value('ASO_GSA_PRICING');
9409 	 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9410 	   aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_profile_value - ASO_GSA_PRICING:'||l_profile_value,1,'Y');
9411 	 END IF;
9412       IF ( l_profile_value = 'ERROR' ) THEN
9413        FOR C_status_code_GSA_rec in C_status_code_GSA LOOP
9414             IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9415               aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inside GSA error',1,'Y');
9416             END IF;
9417             x_return_status := FND_API.G_RET_STS_ERROR;
9418             FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
9419             FND_MSG_PUB.ADD;
9420             RAISE FND_API.G_EXC_ERROR;
9421             END LOOP;
9422       ELSE
9423        FOR C_status_code_GSA_rec in C_status_code_GSA LOOP
9424           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9425             aso_debug_pub.add('ASO_PRICING_CORE_PVT:inside GSA Warning',1,'Y');
9426           END IF;
9427           FND_MESSAGE.Set_Name('ASO', 'GSA Violation in Pricing');
9428           FND_MSG_PUB.ADD;
9429        END LOOP;
9430       END IF;
9431 
9432       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9433         aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Error Handling',1,'Y');
9434         aso_debug_pub.add('ASO_PRICING_CORE_PVT:quote header id = '||p_qte_header_rec.quote_header_id,1,'Y');
9435       END IF;
9436 
9437 /*
9438  * Updating Quote Lines
9439  */
9440 
9441 
9442 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9443         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before updating lines P_control_rec.pricing_event:'
9444 					  ||P_control_rec.pricing_event,1,'Y');
9445         aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before updating lines P_control_rec.price_mode : '
9446 					  ||P_control_rec.price_mode,1,'Y');
9447 END IF;
9448 
9449 If (P_control_rec.pricing_event = 'PRICE') then
9450 
9451 UPDATE ASO_QUOTE_LINES_all l
9452 SET (line_quote_price
9453     ,line_list_price
9454     ,line_adjusted_amount
9455     ,line_adjusted_percent
9456     ,quantity
9457     ,uom_code
9458     ,priced_price_list_id
9459     ,pricing_quantity
9460     ,pricing_quantity_uom
9461     ,last_update_date
9462     ,last_updated_by
9463     ,last_update_login
9464   )
9465    =
9466  (SELECT to_number(substr(decode(l.selling_price_change,'Y',l.line_quote_price,NVL(Lines.order_uom_selling_price,lines.line_unit_price)),1,40)) -- bug 14680110
9467                    --decode(l.selling_price_change,'Y',l.line_quote_price,NVL(Lines.order_uom_selling_price,lines.line_unit_price))
9468         ,to_number(substr(lines.line_unit_price,1,40)) -- bug 14680110
9469         ,to_number(substr((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price),1,40)) -- bug 14680110
9470         ,to_number(substr(decode(lines.line_unit_price,0,lines.line_unit_price,
9471     ((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price)/lines.line_unit_price)*100),1,40)) -- bug 14680110
9472         ,lines.line_quantity
9473         ,lines.line_uom_code
9474         ,lines.price_list_header_id
9475 	   ,lines.priced_quantity
9476 	   ,lines.priced_uom_code
9477         ,sysdate
9478         ,G_USER_ID
9479         ,G_LOGIN_ID
9480   FROM  qp_preq_lines_tmp lines
9481   WHERE lines.line_id=l.quote_line_id
9482   AND   lines.line_type_code='LINE'
9483   )
9484 WHERE l.quote_header_id=p_qte_header_rec.quote_header_id
9485 AND   l.quote_line_id IN
9486          (SELECT line_id
9487           FROM   qp_preq_lines_tmp lines
9488           WHERE  lines.pricing_status_code
9489                  IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9490           AND    lines.line_type_code='LINE');
9491 
9492 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9493   aso_debug_pub.add('ASO_PRICING_CORE_PVT:With Price Event Lines Updated '||sql%ROWCOUNT,1,'Y');
9494 END IF;
9495 
9496 else
9497  -- manual price change is possible
9498 
9499 UPDATE ASO_QUOTE_LINES_all l
9500 SET (line_quote_price
9501     ,line_list_price
9502     ,line_adjusted_amount
9503     ,line_adjusted_percent
9504     ,quantity
9505     ,uom_code
9506     ,priced_price_list_id
9507     ,pricing_quantity
9508     ,pricing_quantity_uom
9509     ,last_update_date
9510     ,last_updated_by
9511     ,last_update_login
9512     ,recalculate_flag
9513     ,selling_price_change
9514   )
9515    =
9516  (SELECT to_number(substr(NVL(Lines.order_uom_selling_price,lines.line_unit_price),1,40)) -- bug 14680110
9517         ,to_number(substr(lines.line_unit_price,1,40))  -- bug 14680110
9518         ,to_number(substr((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price),1,40))  -- bug 14680110
9519         ,to_number(substr(decode(lines.line_unit_price,0,lines.line_unit_price,
9520     ((NVL(lines.order_uom_selling_price, lines.line_unit_price)-lines.line_unit_price)/lines.line_unit_price)*100),1,40))  -- bug 14680110
9521         ,lines.line_quantity
9522         ,lines.line_uom_code
9523         ,lines.price_list_header_id
9524 	   ,lines.priced_quantity
9525 	   ,lines.priced_uom_code
9526         ,sysdate
9527         ,G_USER_ID
9528         ,G_LOGIN_ID
9529         ,'N'--recalculate_flag - reset back to the default value
9530         ,'N'--selling_price_change - reset back to the default value
9531   FROM  qp_preq_lines_tmp lines
9532   WHERE lines.line_id=l.quote_line_id
9533   AND   lines.line_type_code='LINE'
9534   AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9535   AND   lines.pricing_status_code IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9536   )
9537 WHERE l.quote_header_id=p_qte_header_rec.quote_header_id
9538 AND   l.quote_line_id IN
9539          (SELECT line_id
9540           FROM   qp_preq_lines_tmp lines
9541           WHERE  lines.pricing_status_code IN (QP_PREQ_GRP.G_STATUS_UPDATED, QP_PREQ_GRP.G_STATUS_GSA_VIOLATION)
9542           AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9543           AND    lines.line_type_code='LINE');
9544 
9545 
9546 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9547   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Lines Updated '||sql%ROWCOUNT,1,'Y');
9548 END IF;
9549 
9550 end If;--If P_control_rec.pricing_event = 'PRICE'
9551 
9552 --Bulk Insert of Price Adjustment from QP temp table for a quote Header
9553 If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER') then
9554 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9555   aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type: '||p_insert_type,1,'Y');
9556 END IF;
9557 
9558 If p_insert_type = 'HDR' then
9559 
9560 INSERT INTO ASO_PRICE_ADJUSTMENTS
9561       (price_adjustment_id,
9562       creation_date,
9563       created_by,
9564       last_update_date,
9565       last_updated_by,
9566       last_update_login,
9567       quote_header_id,
9568       quote_line_id,
9569       MODIFIER_HEADER_ID,
9570       MODIFIER_LINE_ID,
9571       MODIFIER_LINE_TYPE_CODE,
9572       MODIFIED_FROM,
9573       MODIFIED_TO,
9574       OPERAND,
9575       ARITHMETIC_OPERATOR,
9576       AUTOMATIC_FLAG,
9577       UPDATE_ALLOWABLE_FLAG,
9578       UPDATED_FLAG,
9579       APPLIED_FLAG,
9580       ON_INVOICE_FLAG,
9581       CHARGE_TYPE_CODE,
9582       PRICING_PHASE_ID,
9583       PRICING_GROUP_SEQUENCE,
9584       PRICE_BREAK_TYPE_CODE,
9585       ADJUSTED_AMOUNT,
9586       MODIFIER_LEVEL_CODE,
9587       ACCRUAL_FLAG,
9588       LIST_LINE_NO,
9589       ACCRUAL_CONVERSION_RATE,
9590       EXPIRATION_DATE,
9591       CHARGE_SUBTYPE_CODE,
9592       INCLUDE_ON_RETURNS_FLAG,
9593       BENEFIT_QTY,
9594       BENEFIT_UOM_CODE,
9595       PRORATION_TYPE_CODE,
9596       REBATE_TRANSACTION_TYPE_CODE,
9597       range_break_quantity,
9598       MODIFIER_MECHANISM_TYPE_CODE,
9599       SUBSTITUTION_ATTRIBUTE,
9600       change_reason_code,
9601       change_reason_text,
9602       update_allowed,
9603 	 operand_per_pqty,
9604 	 adjusted_amount_per_pqty
9605       )(
9606      SELECT
9607                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
9608                 sysdate
9609                ,fnd_global.user_id
9610                ,sysdate
9611                ,fnd_global.user_id
9612                ,fnd_global.login_id
9613                ,p_qte_header_rec.quote_header_id,
9614                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
9615                ldets_v.list_header_id,
9616                ldets_v.list_line_id,
9617                ldets_v.list_line_type_code,
9618                NULL,
9619                NULL,
9620                ldets_v.ORDER_QTY_OPERAND,
9621                ldets_v.Operand_Calculation_Code,
9622                ldets_v.Automatic_flag,
9623                ldets_v.Override_flag,
9624                ldets_v.UPDATED_FLAG,
9625                ldets_v.Applied_Flag,
9626                ldets_v.Print_On_Invoice_Flag,
9627                ldets_v.CHARGE_TYPE_CODE,
9628                ldets_v.Pricing_phase_id,
9629                ldets_v.PRICING_GROUP_SEQUENCE,
9630                ldets_v.PRICE_BREAK_TYPE_CODE,
9631                ldets_v.ORDER_QTY_ADJ_AMT,
9632                ldets_v.MODIFIER_LEVEL_CODE,
9633                ldets_v.ACCRUAL_FLAG,
9634                ldets_v.LIST_LINE_NO,
9635                ldets_v.ACCRUAL_CONVERSION_RATE,
9636                ldets_v.EXPIRATION_DATE,
9637                ldets_v.CHARGE_SUBTYPE_CODE,
9638                ldets_v.INCLUDE_ON_RETURNS_FLAG,
9639                ldets_v.BENEFIT_QTY,
9640                ldets_v.BENEFIT_UOM_CODE,
9641                ldets_v.PRORATION_TYPE_CODE,
9642                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
9643                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
9644                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
9645                ldets_v.SUBSTITUTION_ATTRIBUTE,
9646                ldets_v.change_reason_code,
9647                ldets_v.change_reason_text,
9648                ldets_v.OVERRIDE_FLAG,
9649 			ldets_v.operand_value,
9650 			ldets_v.adjustment_amount
9651        FROM    QP_PREQ_LINES_TMP lines,
9652                QP_LDETS_V ldets_v
9653        WHERE lines.line_index = ldets_v.line_index
9654 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9655        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
9656        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
9657        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR'));
9658 
9659 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9660   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
9661 END IF;
9662 
9663 
9664 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9665 aso_debug_pub.add('',1,'Y');
9666 aso_debug_pub.add('',1,'Y');
9667 aso_debug_pub.add('*****************QP_PREQ_RLTD_LINES_TMP*****************************************',1,'Y');
9668 For C_QP_PREQ_RLTD_LINES_TMP_REC in C_QP_PREQ_RLTD_LINES_TMP loop
9669 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');
9670 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX,1,'Y');
9671 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');
9672 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');
9673 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');
9674 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');
9675 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');
9676 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');
9677 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');
9678 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');
9679 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');
9680 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');
9681 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND,1,'Y');
9682 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');
9683 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');
9684 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');
9685 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');
9686 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE,1,'Y');
9687 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT,1,'Y');
9688 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');
9689 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID,1,'Y');
9690 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.process_status:'||C_QP_PREQ_RLTD_LINES_TMP_REC.process_status,1,'Y');
9691 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.line_id:'||C_QP_PREQ_RLTD_LINES_TMP_REC.line_id,1,'Y');
9692 aso_debug_pub.add('*****************NEXT ADJUSTMENT RELATIONSHIP*****************************************',1,'Y');
9693 
9694 End Loop;
9695 
9696 END IF;
9697 /*
9698  * Insert to Price Adj Relationships
9699  *
9700  */
9701 
9702         INSERT INTO ASO_PRICE_ADJ_RELATIONSHIPS
9703         (adj_relationship_id,
9704         creation_date,
9705         created_by,
9706         last_update_date,
9707         last_updated_by,
9708         last_update_login,
9709         quote_line_id,
9710         price_adjustment_id,
9711         rltd_price_adj_id
9712         )
9713         (SELECT  ASO_PRICE_RELATIONSHIPS_S.nextval
9714                 ,sysdate
9715                 ,fnd_global.user_id
9716                 ,sysdate
9717                 ,fnd_global.user_id
9718                 ,fnd_global.login_id
9719                 ,adj.QUOTE_LINE_ID
9720                 ,ADJ.PRICE_ADJUSTMENT_ID
9721                 ,RADJ.PRICE_ADJUSTMENT_ID
9722          FROM
9723                QP_PREQ_RLTD_LINES_TMP RLTD,
9724                QP_PREQ_LINES_TMP LINE,
9725 			QP_PREQ_LINES_TMP RLTD_LINE,
9726                ASO_PRICE_ADJUSTMENTS ADJ,
9727                ASO_PRICE_ADJUSTMENTS RADJ
9728         WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9729         AND RLTD_LINE.line_index = RLTD.related_line_index
9730         AND RLTD.Relationship_Type_Code in
9731             (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
9732         AND line.line_index = rltd.line_index
9733         AND adj.quote_header_id = p_qte_header_rec.quote_header_id
9734         AND adj.quote_line_id = line.line_id
9735         AND line.line_type_code = 'LINE'
9736         AND line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9737 	   AND rltd_line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9738         AND adj.modifier_line_id = rltd.list_line_id
9739         AND radj.quote_header_id = p_qte_header_rec.quote_header_id
9740         AND radj.quote_line_id = rltd_line.line_id
9741         AND radj.modifier_line_id = rltd.related_list_line_id);
9742 
9743 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9744   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Relationships '||sql%ROWCOUNT,1,'Y');
9745 END IF;
9746 
9747 
9748 /*
9749  * Insert into Price Adj Attributes - Line Attributes
9750  */
9751 
9752 
9753  -- Added hint to fix perf bug 5614878.
9754 
9755  INSERT INTO ASO_PRICE_ADJ_ATTRIBS
9756               (  price_adj_attrib_id,
9757                 creation_date,
9758                 created_by,
9759                 last_update_date,
9760                 last_updated_by,
9761                 last_update_login,
9762                 price_adjustment_id,
9763                 pricing_context,
9764                 pricing_attribute,
9765                 pricing_attr_value_from,
9766                 pricing_attr_value_to,
9767                 comparison_operator,
9768                 flex_title)
9769                 (SELECT /*+ ORDERED USE_NL(LINES LDETS QPLAT ADJ) INDEX(LINES) INDEX(LDETS) INDEX(QPLAT  QP_PREQ_LINE_ATTRS_TMP_N3) */
9770 			  ASO_PRICE_ADJ_ATTRIBS_S.nextval,
9771                  sysdate
9772                 ,fnd_global.user_id
9773                 ,sysdate
9774                 ,fnd_global.user_id
9775                 ,fnd_global.login_id
9776                 ,ADJ.PRICE_ADJUSTMENT_ID
9777                 ,QPLAT.CONTEXT
9778                 ,QPLAT.ATTRIBUTE
9779                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
9780                 ,QPLAT.SETUP_VALUE_TO
9781                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
9782                 ,decode(QPLAT.ATTRIBUTE_TYPE,
9783                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
9784                         'QP_ATTR_DEFNS_PRICING')
9785                FROM
9786                   ASO_PRICE_ADJUSTMENTS ADJ,
9787                   QP_PREQ_LINES_TMP LINES ,
9788                   QP_PREQ_LDETS_TMP LDETS,
9789                   QP_PREQ_LINE_ATTRS_TMP QPLAT
9790               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
9791               AND LINES.LINE_ID = ADJ.QUOTE_LINE_ID
9792               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9793               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
9794               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
9795               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9796               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
9797               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
9798               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
9799               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
9800 
9801 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9802   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Line Level Attributes'||sql%ROWCOUNT,1,'Y');
9803 END IF;
9804 
9805  -- Added hint to fix perf bug 5614878.
9806 
9807               INSERT INTO ASO_PRICE_ADJ_ATTRIBS
9808               (  price_adj_attrib_id,
9809                 creation_date,
9810                 created_by,
9811                 last_update_date,
9812                 last_updated_by,
9813                 last_update_login,
9814                 price_adjustment_id,
9815                 pricing_context,
9816                 pricing_attribute,
9817                 pricing_attr_value_from,
9818                 pricing_attr_value_to,
9819                 comparison_operator,
9820                 flex_title)
9821                 (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,
9822                  sysdate
9823                 ,fnd_global.user_id
9824                 ,sysdate
9825                 ,fnd_global.user_id
9826                 ,fnd_global.login_id
9827                 ,ADJ.PRICE_ADJUSTMENT_ID
9828                 ,QPLAT.CONTEXT
9829                 ,QPLAT.ATTRIBUTE
9830                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
9831                 ,QPLAT.SETUP_VALUE_TO
9832                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
9833                 ,decode(QPLAT.ATTRIBUTE_TYPE,
9834                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
9835                         'QP_ATTR_DEFNS_PRICING')
9836                FROM
9837                   ASO_PRICE_ADJUSTMENTS ADJ,
9838                   QP_PREQ_LINES_TMP LINES ,
9839                   QP_PREQ_LDETS_TMP LDETS,
9840                   QP_PREQ_LINE_ATTRS_TMP QPLAT
9841               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
9842               AND LINES.LINE_ID = ADJ.QUOTE_HEADER_ID
9843               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
9844               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9845               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
9846               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
9847               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
9848               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
9849               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
9850               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
9851 
9852     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9853       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Header Level Attributes'||sql%ROWCOUNT,1,'Y');
9854     END IF;
9855 
9856 
9857     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9858        aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Starts Here ******************', 1, 'Y');
9859        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');
9860        aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_insert_type :'||p_insert_type, 1, 'Y');
9861     END IF;
9862 
9863     PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
9864 
9865     PROCESS_LN_TSN(p_qte_header_rec.quote_header_id, p_insert_type);
9866 
9867 
9868     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9869        aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Ends Here ******************', 1, 'Y');
9870     END IF;
9871 
9872 Elsif p_insert_type = 'NO_HDR' then
9873    /*p_insert_type <> 'HDR'*/
9874    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9875       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Only insert line level adjustments and relationships and attribs',1,'Y');
9876    END IF;
9877 
9878 INSERT INTO ASO_PRICE_ADJUSTMENTS
9879       (price_adjustment_id,
9880       creation_date,
9881       created_by,
9882       last_update_date,
9883       last_updated_by,
9884       last_update_login,
9885       quote_header_id,
9886       quote_line_id,
9887       MODIFIER_HEADER_ID,
9888       MODIFIER_LINE_ID,
9889       MODIFIER_LINE_TYPE_CODE,
9890       MODIFIED_FROM,
9891       MODIFIED_TO,
9892       OPERAND,
9893       ARITHMETIC_OPERATOR,
9894       AUTOMATIC_FLAG,
9895       UPDATE_ALLOWABLE_FLAG,
9896       UPDATED_FLAG,
9897       APPLIED_FLAG,
9898       ON_INVOICE_FLAG,
9899       CHARGE_TYPE_CODE,
9900       PRICING_PHASE_ID,
9901       PRICING_GROUP_SEQUENCE,
9902       PRICE_BREAK_TYPE_CODE,
9903       ADJUSTED_AMOUNT,
9904       MODIFIER_LEVEL_CODE,
9905       ACCRUAL_FLAG,
9906       LIST_LINE_NO,
9907       ACCRUAL_CONVERSION_RATE,
9908       EXPIRATION_DATE,
9909       CHARGE_SUBTYPE_CODE,
9910       INCLUDE_ON_RETURNS_FLAG,
9911       BENEFIT_QTY,
9912       BENEFIT_UOM_CODE,
9913       PRORATION_TYPE_CODE,
9914       REBATE_TRANSACTION_TYPE_CODE,
9915       range_break_quantity,
9916       MODIFIER_MECHANISM_TYPE_CODE,
9917       SUBSTITUTION_ATTRIBUTE,
9918       change_reason_code,
9919       change_reason_text,
9920       update_allowed,
9921 	 operand_per_pqty,
9922 	 adjusted_amount_per_pqty
9923       )(
9924      SELECT
9925                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
9926                 sysdate
9927                ,fnd_global.user_id
9928                ,sysdate
9929                ,fnd_global.user_id
9930                ,fnd_global.login_id
9931                ,p_qte_header_rec.quote_header_id,
9932                lines.line_id,
9933                ldets_v.list_header_id,
9934                ldets_v.list_line_id,
9935                ldets_v.list_line_type_code,
9936                NULL,
9937                NULL,
9938                ldets_v.ORDER_QTY_OPERAND,
9939                ldets_v.Operand_Calculation_Code,
9940                ldets_v.Automatic_flag,
9941                ldets_v.Override_flag,
9942                ldets_v.UPDATED_FLAG,
9943                ldets_v.Applied_Flag,
9944                ldets_v.Print_On_Invoice_Flag,
9945                ldets_v.CHARGE_TYPE_CODE,
9946                ldets_v.Pricing_phase_id,
9947                ldets_v.PRICING_GROUP_SEQUENCE,
9948                ldets_v.PRICE_BREAK_TYPE_CODE,
9949                ldets_v.ORDER_QTY_ADJ_AMT,
9950                ldets_v.MODIFIER_LEVEL_CODE,
9951                ldets_v.ACCRUAL_FLAG,
9952                ldets_v.LIST_LINE_NO,
9953                ldets_v.ACCRUAL_CONVERSION_RATE,
9954                ldets_v.EXPIRATION_DATE,
9955                ldets_v.CHARGE_SUBTYPE_CODE,
9956                ldets_v.INCLUDE_ON_RETURNS_FLAG,
9957                ldets_v.BENEFIT_QTY,
9958                ldets_v.BENEFIT_UOM_CODE,
9959                ldets_v.PRORATION_TYPE_CODE,
9960                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
9961                ldets_v.Line_quantity,
9962                ldets_v.Calculation_code,
9963                ldets_v.SUBSTITUTION_ATTRIBUTE,
9964                ldets_v.change_reason_code,
9965                ldets_v.change_reason_text,
9966                ldets_v.OVERRIDE_FLAG,
9967 			ldets_v.operand_value,
9968 			ldets_v.adjustment_amount
9969        FROM    QP_PREQ_LINES_TMP lines,
9970                QP_LDETS_V ldets_v
9971        WHERE lines.line_index = ldets_v.line_index
9972 	  AND   ldets_v.modifier_level_code = 'LINE'
9973 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
9974 	  AND   nvl(ldets_v.Calculation_code,'X') <> QP_PREQ_PUB.G_FREEGOOD
9975        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
9976        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
9977        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR'));
9978 
9979 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9980   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
9981 END IF;
9982 
9983 
9984 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
9985 aso_debug_pub.add('',1,'Y');
9986 aso_debug_pub.add('',1,'Y');
9987 aso_debug_pub.add('*****************QP_PREQ_RLTD_LINES_TMP*****************************************',1,'Y');
9988 For C_QP_PREQ_RLTD_LINES_TMP_REC in C_QP_PREQ_RLTD_LINES_TMP loop
9989 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');
9990 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX:'||C_QP_PREQ_RLTD_LINES_TMP_REC.LINE_INDEX,1,'Y');
9991 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');
9992 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');
9993 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');
9994 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');
9995 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');
9996 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');
9997 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');
9998 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');
9999 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');
10000 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');
10001 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND:'||C_QP_PREQ_RLTD_LINES_TMP_REC.OPERAND,1,'Y');
10002 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');
10003 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');
10004 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');
10005 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');
10006 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE:'||C_QP_PREQ_RLTD_LINES_TMP_REC.QUALIFIER_VALUE,1,'Y');
10007 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT:'||C_QP_PREQ_RLTD_LINES_TMP_REC.ADJUSTMENT_AMOUNT,1,'Y');
10008 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');
10009 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID:'||C_QP_PREQ_RLTD_LINES_TMP_REC.REQUEST_ID,1,'Y');
10010 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.process_status:'||C_QP_PREQ_RLTD_LINES_TMP_REC.process_status,1,'Y');
10011 aso_debug_pub.add('C_QP_PREQ_RLTD_LINES_TMP_REC.line_id:'||C_QP_PREQ_RLTD_LINES_TMP_REC.line_id,1,'Y');
10012 aso_debug_pub.add('*****************NEXT ADJUSTMENT RELATIONSHIP*****************************************',1,'Y');
10013 
10014 End Loop;
10015 
10016 END IF;
10017 /*
10018  * Insert to Price Adj Relationships
10019  *
10020  */
10021 
10022         INSERT INTO ASO_PRICE_ADJ_RELATIONSHIPS
10023         (adj_relationship_id,
10024         creation_date,
10025         created_by,
10026         last_update_date,
10027         last_updated_by,
10028         last_update_login,
10029         quote_line_id,
10030         price_adjustment_id,
10031         rltd_price_adj_id
10032         )
10033         (SELECT  ASO_PRICE_RELATIONSHIPS_S.nextval
10034                 ,sysdate
10035                 ,fnd_global.user_id
10036                 ,sysdate
10037                 ,fnd_global.user_id
10038                 ,fnd_global.login_id
10039                 ,adj.QUOTE_LINE_ID
10040                 ,ADJ.PRICE_ADJUSTMENT_ID
10041                 ,RADJ.PRICE_ADJUSTMENT_ID
10042          FROM
10043                QP_PREQ_RLTD_LINES_TMP RLTD,
10044                QP_PREQ_LINES_TMP LINE,
10045 			QP_PREQ_LINES_TMP RLTD_LINE,
10046                ASO_PRICE_ADJUSTMENTS ADJ,
10047                ASO_PRICE_ADJUSTMENTS RADJ
10048         WHERE RLTD.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10049         AND RLTD_LINE.line_index = RLTD.related_line_index
10050         AND RLTD.Relationship_Type_Code in
10051             (QP_PREQ_GRP.G_PBH_LINE ,QP_PREQ_GRP.G_GENERATED_LINE )
10052         AND line.line_index = rltd.line_index
10053         AND adj.quote_header_id = p_qte_header_rec.quote_header_id
10054         AND adj.quote_line_id = line.line_id
10055         AND line.line_type_code = 'LINE'
10056         AND line.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10057         AND adj.modifier_line_id = rltd.list_line_id
10058         AND radj.quote_header_id = p_qte_header_rec.quote_header_id
10059         AND radj.quote_line_id = rltd_line.line_id
10060         AND radj.modifier_line_id = rltd.related_list_line_id);
10061 
10062 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10063   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Relationships '||sql%ROWCOUNT,1,'Y');
10064 END IF;
10065 
10066 
10067 /*
10068  * Insert into Price Adj Attributes - Line Attributes
10069  */
10070 
10071 
10072  -- Added hint to fix perf bug 5614878.
10073 
10074  INSERT INTO ASO_PRICE_ADJ_ATTRIBS
10075               (  price_adj_attrib_id,
10076                 creation_date,
10077                 created_by,
10078                 last_update_date,
10079                 last_updated_by,
10080                 last_update_login,
10081                 price_adjustment_id,
10082                 pricing_context,
10083                 pricing_attribute,
10084                 pricing_attr_value_from,
10085                 pricing_attr_value_to,
10086                 comparison_operator,
10087                 flex_title)
10088                 (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,
10089                  sysdate
10090                 ,fnd_global.user_id
10091                 ,sysdate
10092                 ,fnd_global.user_id
10093                 ,fnd_global.login_id
10094                 ,ADJ.PRICE_ADJUSTMENT_ID
10095                 ,QPLAT.CONTEXT
10096                 ,QPLAT.ATTRIBUTE
10097                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
10098                 ,QPLAT.SETUP_VALUE_TO
10099                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
10100                 ,decode(QPLAT.ATTRIBUTE_TYPE,
10101                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10102                         'QP_ATTR_DEFNS_PRICING')
10103                FROM
10104                   ASO_PRICE_ADJUSTMENTS ADJ,
10105                   QP_PREQ_LINES_TMP LINES ,
10106                   QP_PREQ_LDETS_TMP LDETS,
10107                   QP_PREQ_LINE_ATTRS_TMP QPLAT
10108               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10109               AND LINES.LINE_ID = ADJ.QUOTE_LINE_ID
10110               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10111               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
10112               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
10113               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10114               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
10115               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
10116               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
10117               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
10118 
10119 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10120   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment Attributes - Line Level Attributes'||sql%ROWCOUNT,1,'Y');
10121 END IF;
10122 
10123  PROCESS_LN_TSN(p_qte_header_rec.quote_header_id, p_insert_type);
10124 
10125 ELSE
10126 /* p_insert_type = 'HDR_ONLY' */
10127 
10128 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10129   aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_insert_type: '||p_insert_type,1,'Y');
10130   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Inserting only header level adjustments',1,'Y');
10131 END IF;
10132 
10133 INSERT INTO ASO_PRICE_ADJUSTMENTS
10134       (price_adjustment_id,
10135       creation_date,
10136       created_by,
10137       last_update_date,
10138       last_updated_by,
10139       last_update_login,
10140       quote_header_id,
10141       quote_line_id,
10142       MODIFIER_HEADER_ID,
10143       MODIFIER_LINE_ID,
10144       MODIFIER_LINE_TYPE_CODE,
10145       MODIFIED_FROM,
10146       MODIFIED_TO,
10147       OPERAND,
10148       ARITHMETIC_OPERATOR,
10149       AUTOMATIC_FLAG,
10150       UPDATE_ALLOWABLE_FLAG,
10151       UPDATED_FLAG,
10152       APPLIED_FLAG,
10153       ON_INVOICE_FLAG,
10154       CHARGE_TYPE_CODE,
10155       PRICING_PHASE_ID,
10156       PRICING_GROUP_SEQUENCE,
10157       PRICE_BREAK_TYPE_CODE,
10158       ADJUSTED_AMOUNT,
10159       MODIFIER_LEVEL_CODE,
10160       ACCRUAL_FLAG,
10161       LIST_LINE_NO,
10162       ACCRUAL_CONVERSION_RATE,
10163       EXPIRATION_DATE,
10164       CHARGE_SUBTYPE_CODE,
10165       INCLUDE_ON_RETURNS_FLAG,
10166       BENEFIT_QTY,
10167       BENEFIT_UOM_CODE,
10168       PRORATION_TYPE_CODE,
10169       REBATE_TRANSACTION_TYPE_CODE,
10170       range_break_quantity,
10171       MODIFIER_MECHANISM_TYPE_CODE,
10172       SUBSTITUTION_ATTRIBUTE,
10173       change_reason_code,
10174       change_reason_text,
10175       update_allowed,
10176 	 operand_per_pqty,
10177 	 adjusted_amount_per_pqty
10178       )(
10179      SELECT
10180                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
10181                 sysdate,
10182                fnd_global.user_id,
10183                sysdate,
10184                fnd_global.user_id,
10185                fnd_global.login_id,
10186                p_qte_header_rec.quote_header_id,
10187                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
10188                ldets_v.list_header_id,
10189                ldets_v.list_line_id,
10190                ldets_v.list_line_type_code,
10191                NULL,
10192                NULL,
10193                ldets_v.ORDER_QTY_OPERAND,
10194                ldets_v.Operand_Calculation_Code,
10195                ldets_v.Automatic_flag,
10196                ldets_v.Override_flag,
10197                ldets_v.UPDATED_FLAG,
10198                ldets_v.Applied_Flag,
10199                ldets_v.Print_On_Invoice_Flag,
10200                ldets_v.CHARGE_TYPE_CODE,
10201                ldets_v.Pricing_phase_id,
10202                ldets_v.PRICING_GROUP_SEQUENCE,
10203                ldets_v.PRICE_BREAK_TYPE_CODE,
10204                ldets_v.ORDER_QTY_ADJ_AMT,
10205                ldets_v.MODIFIER_LEVEL_CODE,
10206                ldets_v.ACCRUAL_FLAG,
10207                ldets_v.LIST_LINE_NO,
10208                ldets_v.ACCRUAL_CONVERSION_RATE,
10209                ldets_v.EXPIRATION_DATE,
10210                ldets_v.CHARGE_SUBTYPE_CODE,
10211                ldets_v.INCLUDE_ON_RETURNS_FLAG,
10212                ldets_v.BENEFIT_QTY,
10213                ldets_v.BENEFIT_UOM_CODE,
10214                ldets_v.PRORATION_TYPE_CODE,
10215                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
10216                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
10217                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
10218                ldets_v.SUBSTITUTION_ATTRIBUTE,
10219                ldets_v.change_reason_code,
10220                ldets_v.change_reason_text,
10221                ldets_v.OVERRIDE_FLAG,
10222 			ldets_v.operand_value,
10223 			ldets_v.adjustment_amount
10224        FROM    QP_PREQ_LINES_TMP lines,
10225                QP_LDETS_V ldets_v
10226        WHERE lines.line_index = ldets_v.line_index
10227 	  AND   lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10228        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
10229        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
10230        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR')
10231 	  AND   ldets_v.modifier_level_code = 'ORDER');
10232 
10233 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10234   aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert into Adjustment '||sql%ROWCOUNT,1,'Y');
10235 END IF;
10236 
10237 
10238  -- Added hint to fix perf bug 5614878.
10239 
10240               INSERT INTO ASO_PRICE_ADJ_ATTRIBS
10241               (  price_adj_attrib_id,
10242                 creation_date,
10243                 created_by,
10244                 last_update_date,
10245                 last_updated_by,
10246                 last_update_login,
10247                 price_adjustment_id,
10248                 pricing_context,
10249                 pricing_attribute,
10250                 pricing_attr_value_from,
10251                 pricing_attr_value_to,
10252                 comparison_operator,
10253                 flex_title)
10254                 (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,
10255                  sysdate
10256                 ,fnd_global.user_id
10257                 ,sysdate
10258                 ,fnd_global.user_id
10259                 ,fnd_global.login_id
10260                 ,ADJ.PRICE_ADJUSTMENT_ID
10261                 ,QPLAT.CONTEXT
10262                 ,QPLAT.ATTRIBUTE
10263                 ,nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM)
10264                 ,QPLAT.SETUP_VALUE_TO
10265                 ,QPLAT.COMPARISON_OPERATOR_TYPE_CODE
10266                 ,decode(QPLAT.ATTRIBUTE_TYPE,
10267                         'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10268                         'QP_ATTR_DEFNS_PRICING')
10269                FROM
10270                   ASO_PRICE_ADJUSTMENTS ADJ,
10271                   QP_PREQ_LINES_TMP LINES ,
10272                   QP_PREQ_LDETS_TMP LDETS,
10273                   QP_PREQ_LINE_ATTRS_TMP QPLAT
10274               WHERE ADJ.QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10275               AND LINES.LINE_ID = ADJ.QUOTE_HEADER_ID
10276               AND LDETS.LINE_INDEX = LINES.LINE_INDEX
10277               AND lines.process_status IN (QP_PREQ_GRP.G_STATUS_UPDATED,QP_PREQ_GRP.G_STATUS_UNCHANGED)
10278               AND LDETS.PRICING_PHASE_ID = ADJ.PRICING_PHASE_ID
10279               AND LDETS.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW
10280               AND LDETS.CREATED_FROM_LIST_LINE_ID = ADJ.MODIFIER_LINE_ID
10281               AND LDETS.CREATED_FROM_LIST_HEADER_ID = ADJ.MODIFIER_HEADER_ID
10282               AND QPLAT.LINE_DETAIL_INDEX = LDETS.LINE_DETAIL_INDEX
10283               AND QPLAT.PRICING_STATUS_CODE = QP_PREQ_PUB.G_STATUS_NEW);
10284 
10285     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10286       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Insert Adjustment Attributes - Header Level Attributes'||sql%ROWCOUNT,1,'Y');
10287     END IF;
10288 
10289     PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
10290 
10291 
10292 End If;--If p_insert_type = 'HDR'
10293 
10294 End if;--If p_control_rec.price_mode = 'BATCH'
10295 Else
10296    --l_db_line_counter is zero.
10297    --Just Insert ASO_PRICE_ADJUSTMENTS only.
10298 
10299 INSERT INTO ASO_PRICE_ADJUSTMENTS
10300       (price_adjustment_id,
10301       creation_date,
10302       created_by,
10303       last_update_date,
10304       last_updated_by,
10305       last_update_login,
10306       quote_header_id,
10307       quote_line_id,
10308       MODIFIER_HEADER_ID,
10309       MODIFIER_LINE_ID,
10310       MODIFIER_LINE_TYPE_CODE,
10311       MODIFIED_FROM,
10312       MODIFIED_TO,
10313       OPERAND,
10314       ARITHMETIC_OPERATOR,
10315       AUTOMATIC_FLAG,
10316       UPDATE_ALLOWABLE_FLAG,
10317       UPDATED_FLAG,
10318       APPLIED_FLAG,
10319       ON_INVOICE_FLAG,
10320       CHARGE_TYPE_CODE,
10321       PRICING_PHASE_ID,
10322       PRICING_GROUP_SEQUENCE,
10323       PRICE_BREAK_TYPE_CODE,
10324       ADJUSTED_AMOUNT,
10325       MODIFIER_LEVEL_CODE,
10326       ACCRUAL_FLAG,
10327       LIST_LINE_NO,
10328       ACCRUAL_CONVERSION_RATE,
10329       EXPIRATION_DATE,
10330       CHARGE_SUBTYPE_CODE,
10331       INCLUDE_ON_RETURNS_FLAG,
10332       BENEFIT_QTY,
10333       BENEFIT_UOM_CODE,
10334       PRORATION_TYPE_CODE,
10335       REBATE_TRANSACTION_TYPE_CODE,
10336       range_break_quantity,
10337       MODIFIER_MECHANISM_TYPE_CODE,
10338       SUBSTITUTION_ATTRIBUTE,
10339       change_reason_code,
10340       change_reason_text,
10341       update_allowed,
10342 	 operand_per_pqty,
10343 	 adjusted_amount_per_pqty
10344       )(
10345      SELECT
10346                 nvl(ldets_v.PRICE_ADJUSTMENT_ID,ASO_PRICE_ADJUSTMENTS_S.nextval),
10347                 sysdate
10348                ,fnd_global.user_id
10349                ,sysdate
10350                ,fnd_global.user_id
10351                ,fnd_global.login_id
10352                ,p_qte_header_rec.quote_header_id,
10353                decode(ldets_v.modifier_level_code,'ORDER',NULL,lines.line_id),
10354                ldets_v.list_header_id,
10355                ldets_v.list_line_id,
10356                ldets_v.list_line_type_code,
10357                NULL,
10358                NULL,
10359 			ldets_v.ORDER_QTY_OPERAND,
10360                ldets_v.Operand_Calculation_Code,
10361                ldets_v.Automatic_flag,
10362                ldets_v.Override_flag,
10363                ldets_v.UPDATED_FLAG,
10364                ldets_v.Applied_Flag,
10365                ldets_v.Print_On_Invoice_Flag,
10366                ldets_v.CHARGE_TYPE_CODE,
10367                ldets_v.Pricing_phase_id,
10368                ldets_v.PRICING_GROUP_SEQUENCE,
10369                ldets_v.PRICE_BREAK_TYPE_CODE,
10370 			ldets_v.ORDER_QTY_ADJ_AMT,
10371                ldets_v.MODIFIER_LEVEL_CODE,
10372                ldets_v.ACCRUAL_FLAG,
10373                ldets_v.LIST_LINE_NO,
10374                ldets_v.ACCRUAL_CONVERSION_RATE,
10375                ldets_v.EXPIRATION_DATE,
10376                ldets_v.CHARGE_SUBTYPE_CODE,
10377                ldets_v.INCLUDE_ON_RETURNS_FLAG,
10378                ldets_v.BENEFIT_QTY,
10379                ldets_v.BENEFIT_UOM_CODE,
10380                ldets_v.PRORATION_TYPE_CODE,
10381                ldets_v.REBATE_TRANSACTION_TYPE_CODE,
10382                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Line_quantity),
10383                decode(ldets_v.modifier_level_code,'ORDER',NULL,ldets_v.Calculation_code),
10384                ldets_v.SUBSTITUTION_ATTRIBUTE,
10385                ldets_v.change_reason_code,
10386                ldets_v.change_reason_text,
10387                ldets_v.OVERRIDE_FLAG,
10388 			ldets_v.operand_value,
10389 			ldets_v.adjustment_amount
10390        FROM    QP_PREQ_LINES_TMP lines,
10391                QP_LDETS_V ldets_v
10392        WHERE lines.line_index = ldets_v.line_index
10393        AND   ldets_v.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
10394        AND   ldets_v.process_code = QP_PREQ_GRP.G_STATUS_NEW
10395        AND   nvl(ldets_v.created_from_list_type_code,'X') not in ('PRL','AGR')
10396 	  AND   nvl(ldets_v.list_line_type_code,'X') <> 'FREIGHT_CHARGE');
10397 
10398 
10399 end if;--l_db_line_counter<>0
10400 /***********************************************************
10401 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10402    aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Starts Here ******************', 1, 'Y');
10403    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');
10404    aso_debug_pub.add('ASO_PRICING_CORE_PVT: p_insert_type :'||p_insert_type, 1, 'Y');
10405 END IF;
10406 
10407 If p_insert_type = 'HDR' then
10408 
10409    PROCESS_HDR_TSN(p_qte_header_rec.quote_header_id);
10410 
10411    PROCESS_LN_TSN(p_qte_header_rec.quote_header_id);
10412 
10413 
10414    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10415       aso_debug_pub.add('ASO_PRICING_CORE_PVT:************ TERM SUBSTITUTION Ends Here ******************', 1, 'Y');
10416    END IF;
10417 end if;
10418 *******************************************/
10419 
10420  -- Standard check for p_commit
10421 IF FND_API.to_Boolean( p_commit ) THEN
10422       COMMIT WORK;
10423 END IF;
10424 
10425  FND_MSG_PUB.Count_And_Get
10426       ( p_encoded    => 'F',
10427         p_count      =>   x_msg_count,
10428         p_data       =>   x_msg_data
10429       );
10430 
10431  for l in 1 ..x_msg_count loop
10432     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
10433     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10434       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
10435       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
10436     END IF;
10437  end loop;
10438 
10439 END Copy_Price_To_Quote;
10440 
10441 FUNCTION Modify_Global_PlsIndex_Table (
10442                p_global_tbl            IN QP_PREQ_GRP.pls_integer_type,
10443                p_search_tbl            IN Index_Link_Tbl_Type)
10444 RETURN QP_PREQ_GRP.pls_integer_type IS
10445   i NUMBER;
10446   l_global_tbl QP_PREQ_GRP.pls_integer_type;
10447 BEGIN
10448   l_global_tbl.delete;
10449   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10450       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Modify_Global_PlsIndex_Table ',1,'Y');
10451   END IF;
10452 
10453   For i in 1..p_global_tbl.count LOOP
10454        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10455           aso_debug_pub.add('ASO_PRICING_CORE_PVT:i:'||i,1,'Y');
10456           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_global_tbl(i):'||p_global_tbl(i),1,'Y');
10457        END IF;
10458 
10459 	  If p_global_tbl(i) = 1 then
10460 		IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10461 				aso_debug_pub.add('This is a header record value assigned 1',1,'Y');
10462           END IF;
10463 		l_global_tbl(i) := 1;
10464 	  Else
10465           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_search_tbl(p_global_tbl(i)):'||p_search_tbl(p_global_tbl(i)),1,'Y');
10466           l_global_tbl(i) := p_search_tbl(p_global_tbl(i));
10467 	  End If;
10468   END LOOP;--End for loop
10469   RETURN l_global_tbl;
10470 
10471 END Modify_Global_PlsIndex_Table;
10472 
10473 FUNCTION Modify_Global_NumIndex_Table (
10474                p_global_tbl            IN QP_PREQ_GRP.NUMBER_TYPE,
10475                p_search_tbl            IN Index_Link_Tbl_Type)
10476 RETURN QP_PREQ_GRP.NUMBER_TYPE IS
10477   i NUMBER;
10478   l_global_tbl QP_PREQ_GRP.NUMBER_TYPE;
10479 BEGIN
10480   l_global_tbl.delete;
10481   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10482       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Modify_Global_NumIndex_Table ',1,'Y');
10483   END IF;
10484 
10485   For i in 1..p_global_tbl.count LOOP
10486        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10487           aso_debug_pub.add('ASO_PRICING_CORE_PVT:i:'||i,1,'Y');
10488           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_global_tbl(i):'||p_global_tbl(i),1,'Y');
10489           aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_search_tbl(p_global_tbl(i)):'||p_search_tbl(p_global_tbl(i)),1,'Y');
10490        END IF;
10491       l_global_tbl(i) := p_search_tbl(p_global_tbl(i));
10492   END LOOP;--End for loop
10493   RETURN l_global_tbl;
10494 
10495 END Modify_Global_NumIndex_Table;
10496 
10497 
10498 PROCEDURE Process_Charges(
10499      P_Api_Version_Number       IN   NUMBER,
10500      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
10501      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
10502      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
10503      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
10504      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
10505      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
10506      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
10507 IS
10508 
10509 CURSOR c_qte_sum IS
10510 SELECT sum(NVL(LINE_LIST_PRICE*quantity, 0)) total_list_price,
10511 sum(NVL(line_adjusted_amount*quantity,NVL(LINE_ADJUSTED_PERCENT*LINE_LIST_PRICE*quantity,0))) ln_total_discount
10512 FROM ASO_QUOTE_LINES_ALL
10513 WHERE QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id;
10514 
10515 l_api_name                    CONSTANT VARCHAR2(30) := 'Process_Charges';
10516 l_api_version_number          CONSTANT NUMBER   := 1.0;
10517 G_USER_ID                     NUMBER := FND_GLOBAL.USER_ID;
10518 G_LOGIN_ID                    NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
10519 l_last_update_date            Date := SYSDATE;
10520 l_line_shipping_charge        NUMBER := 0;
10521 l_hdr_shipping_charge         NUMBER := 0;
10522 l_total_list_price            NUMBER;
10523 l_ln_total_discount           NUMBER;
10524 ls_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
10525 
10526 BEGIN
10527     -- Standard call to check for call compatibility.
10528     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
10529                                         p_api_version_number,
10530                                         l_api_name,
10531                                         G_PKG_NAME)
10532     THEN
10533           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10534     END IF;
10535 
10536 
10537     -- Initialize message list if p_init_msg_list is set to TRUE.
10538     IF FND_API.to_Boolean( p_init_msg_list )
10539     THEN
10540           FND_MSG_PUB.initialize;
10541     END IF;
10542 
10543     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10544       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges ',1,'Y');
10545     END IF;
10546 
10547     x_return_status := FND_API.G_RET_STS_SUCCESS;
10548     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10549       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges:p_control_rec.pricing_event: '
10550                          ||p_control_rec.pricing_event,1,'Y');
10551       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_Charges:p_control_rec.calculate_flag: '
10552                          ||p_control_rec.calculate_flag,1,'Y');
10553     END IF;
10554 
10555 If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER') then
10556 
10557 l_hdr_shipping_charge := ASO_SHIPPING_INT.Get_Header_Freight_Charges(p_qte_header_rec.quote_header_id);
10558 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10559       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_SHIPMENTS:l_hdr_shipping_charge: '
10560                          ||l_hdr_shipping_charge,1,'Y');
10561 END IF;
10562          UPDATE ASO_SHIPMENTS
10563                SET SHIP_QUOTE_PRICE = l_hdr_shipping_charge,
10564                last_update_date = l_last_update_date,
10565                last_updated_by = G_USER_ID,
10566                last_update_login = G_LOGIN_ID
10567                WHERE  QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10568                AND  QUOTE_LINE_ID is NULL;
10569 
10570 --Should not update the line levelfeight charges as in Calculate only call we only get updated order level modifiers
10571 
10572 If p_control_rec.calculate_flag <> QP_PREQ_GRP.G_CALCULATE_ONLY then
10573  /*Query the line table to pass it to ASO_SHIPPING_INT*/
10574   ls_qte_line_tbl := ASO_UTILITY_PVT.Query_Qte_Line_Rows(p_qte_header_rec.quote_header_id);
10575   FOR i IN 1..ls_qte_line_tbl.count LOOP
10576    l_line_shipping_charge := ASO_SHIPPING_INT.get_line_freight_charges
10577                               (p_qte_header_rec.quote_header_id,ls_qte_line_tbl(i).quote_line_id);
10578    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10579       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_SHIPMENTS:quote_line_id: '||ls_qte_line_tbl(i).quote_line_id
10580                          ||' line charge for the quote line:'||l_line_shipping_charge,1,'Y');
10581    END IF;
10582 
10583         UPDATE ASO_SHIPMENTS
10584              SET SHIP_QUOTE_PRICE = l_line_shipping_charge,
10585                QUANTITY = ls_qte_line_tbl(i).quantity,
10586                last_update_date = l_last_update_date,
10587                last_updated_by = G_USER_ID,
10588                last_update_login = G_LOGIN_ID
10589              WHERE  QUOTE_HEADER_ID = p_qte_header_rec.quote_header_id
10590              AND  QUOTE_LINE_ID   =  ls_qte_line_tbl(i).quote_line_id;
10591   END LOOP;
10592 
10593   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10594     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Update Shipment info and before calling get_line_freight_charges Ends', 1, 'Y');
10595     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');
10596   END IF;
10597 
10598   OPEN c_qte_sum;
10599   FETCH c_qte_sum INTO l_total_list_price, l_ln_total_discount;
10600   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10601     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_QUOTE_HEADERS_ALL l_total_list_price:'||l_total_list_price, 1, 'Y');
10602     aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Update ASO_QUOTE_HEADERS_ALL l_ln_total_discount:'||l_ln_total_discount,1,'Y');
10603   END IF;
10604   CLOSE c_qte_sum;
10605      UPDATE ASO_QUOTE_HEADERS_ALL
10606             SET total_list_price = l_total_list_price,
10607          TOTAL_ADJUSTED_AMOUNT = l_ln_total_discount,
10608          total_adjusted_percent = decode(total_list_price, 0, NULL,
10609                     (l_ln_total_discount/total_list_price)*100),
10610          total_quote_price = l_total_list_price+l_ln_total_discount+
10611                     NVL(total_tax, 0)+
10612                     NVL(total_shipping_charge, 0),
10613                last_update_date = l_last_update_date,
10614                last_updated_by = G_USER_ID,
10615                last_update_login = G_LOGIN_ID
10616      WHERE quote_header_id = p_qte_header_rec.quote_header_id;
10617 END IF; -- p_control_rec.calculate_flag <> QP_PREQ_GRP.G_CALCULATE_ONLY
10618 
10619 END If;--If (p_control_rec.pricing_event = 'BATCH') OR (p_control_rec.pricing_event = 'ORDER')
10620 
10621 -- Standard check for p_commit
10622 IF FND_API.to_Boolean( p_commit ) THEN
10623       COMMIT WORK;
10624 END IF;
10625 
10626  FND_MSG_PUB.Count_And_Get
10627       ( p_encoded    => 'F',
10628         p_count      =>   x_msg_count,
10629         p_data       =>   x_msg_data
10630       );
10631 
10632 FND_MSG_PUB.Count_And_Get
10633       ( p_encoded    => 'F',
10634         p_count      =>   x_msg_count,
10635         p_data       =>   x_msg_data
10636       );
10637 
10638  for l in 1 ..x_msg_count loop
10639     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
10640     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10641       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
10642       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
10643     END IF;
10644  end loop;
10645 
10646 END Process_Charges;
10647 
10648 
10649 PROCEDURE Process_PRG(
10650      P_Api_Version_Number       IN   NUMBER,
10651      P_Init_Msg_List            IN   VARCHAR2 := FND_API.G_FALSE,
10652      P_Commit                   IN   VARCHAR2 := FND_API.G_FALSE,
10653      P_control_rec              IN   ASO_PRICING_INT.Pricing_Control_Rec_Type,
10654      p_qte_header_rec           IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
10655 	x_qte_line_tbl             OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Line_Tbl_Type,
10656      x_return_status            OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
10657      x_msg_count                OUT NOCOPY /* file.sql.39 change */ NUMBER,
10658      x_msg_data                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
10659 IS
10660 
10661 l_api_name                    CONSTANT VARCHAR2(30) := 'Process_PRG';
10662 l_api_version_number          CONSTANT NUMBER   := 1.0;
10663 l_db_line_counter             NUMBER;
10664 l_line_counter                NUMBER;
10665 l_adj_counter                 NUMBER;
10666 l_rltn_counter                NUMBER;
10667 l_adj_attr_counter            NUMBER;
10668 l_track_var                   VARCHAR2(3):= 'N';
10669 l_adj_exists                  VARCHAR2(3):= 'N';
10670 lx_index_counter              Number;
10671 l_index_counter               Number;
10672 l_qte_line_dtl_rec            ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type:= ASO_QUOTE_PUB.G_Miss_qte_line_dtl_rec;
10673 l_shipment_rec                ASO_QUOTE_PUB.Shipment_Rec_Type;
10674 l_qte_line_rec                ASO_QUOTE_PUB.Qte_Line_Rec_Type;
10675 l_shipment_tbl                ASO_QUOTE_PUB.Shipment_Tbl_Type;
10676 l_req_control_rec             QP_PREQ_GRP.CONTROL_RECORD_TYPE;
10677 l_return_status               VARCHAR2(1);
10678 l_return_status_text          VARCHAR2(2000);
10679 l_message_text                VARCHAR2(2000);
10680 x_pass_line                   VARCHAR2(10);
10681 l_adj_search_tbl              Index_Link_Tbl_Type;
10682 l_qte_line_id_tbl             JTF_NUMBER_TABLE;
10683 l_qte_adj_id_tbl              JTF_NUMBER_TABLE;
10684 l_price_index                 Number;
10685 px_line_index_search_tbl      ASO_PRICING_CORE_PVT.Index_Link_Tbl_Type;
10686 l_global_pls_tbl              QP_PREQ_GRP.pls_integer_type;
10687 l_global_num_tbl              QP_PREQ_GRP.NUMBER_TYPE;
10688 l_parent_line_id              NUMBER;
10689 l_def_profile_value           VARCHAR2(3);
10690 
10691 
10692 
10693 -- Variables to hold values to be passed to ASO_QUOTE_PUB.Update_Quote()
10694     l_last_update_date           Date := SYSDATE;
10695     l_pub_control_rec            ASO_QUOTE_PUB.Control_Rec_Type := ASO_QUOTE_PUB.G_Miss_Control_Rec;
10696     l_qte_header_rec             ASO_QUOTE_PUB.Qte_Header_Rec_type := ASO_QUOTE_PUB.G_Miss_Qte_Header_Rec;
10697     l_qte_line_tbl               ASO_QUOTE_PUB.Qte_Line_Tbl_Type := ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl;
10698     l_qte_line_dtl_tbl           ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type := ASO_QUOTE_PUB.G_Miss_qte_line_dtl_tbl;
10699     l_Price_Adjustment_Tbl       ASO_QUOTE_PUB.Price_Adj_Tbl_Type  := ASO_QUOTE_PUB.G_Miss_Price_Adj_Tbl;
10700     l_Price_Adj_Rltship_Tbl      ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type := ASO_QUOTE_PUB.G_Miss_Price_Adj_Rltship_Tbl;
10701     l_ln_price_attributes_tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type  := ASO_QUOTE_PUB.G_Miss_Price_Attributes_Tbl;
10702     l_ln_shipment_tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type          := ASO_QUOTE_PUB.G_Miss_Shipment_Tbl;
10703     l_ln_sales_credit_tbl        ASO_QUOTE_PUB.Sales_Credit_Tbl_type      := ASO_QUOTE_PUB.G_Miss_Sales_Credit_Tbl;
10704     l_Price_Adj_Attr_Tbl         ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type    := ASO_QUOTE_PUB.G_Miss_PRICE_ADJ_ATTR_Tbl;
10705     lx_out_Qte_Header_Rec        ASO_QUOTE_PUB.Qte_Header_Rec_Type;
10706     lx_Qte_Line_Tbl              ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
10707     lx_Qte_Line_Dtl_Tbl          ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
10708     lx_Hd_Price_Attributes_Tbl   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10709     lx_Hd_Payment_Tbl            ASO_QUOTE_PUB.Payment_Tbl_Type;
10710     lx_Hd_Shipment_Tbl           ASO_QUOTE_PUB.Shipment_Tbl_Type;
10711     lx_Hd_Freight_Charge_Tbl     ASO_QUOTE_PUB.Freight_Charge_Tbl_Type ;
10712     lx_Hd_Tax_Detail_Tbl         ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10713     lx_Hd_Attr_Ext_tbl           ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10714     lx_Hd_Sales_Credit_Tbl       ASO_QUOTE_PUB.Sales_Credit_Tbl_Type;
10715     lx_Hd_Quote_Party_tbl        ASO_QUOTE_PUB.Quote_Party_Tbl_Type;
10716     lx_Line_Attr_Ext_Tbl         ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10717     lx_Line_Rltship_tbl          ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
10718     lx_Price_Adjustment_Tbl      ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
10719     lx_Price_Adj_Attr_Tbl        ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
10720     lx_Price_Adj_Rltship_Tbl     ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
10721     lx_Ln_Price_Attributes_Tbl   ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10722     lx_Ln_Payment_Tbl            ASO_QUOTE_PUB.Payment_Tbl_Type;
10723     lx_Ln_Shipment_Tbl           ASO_QUOTE_PUB.Shipment_Tbl_Type;
10724     lx_Ln_Freight_Charge_Tbl     ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10725     lx_Ln_Sales_Credit_Tbl       ASO_QUOTE_PUB.Sales_Credit_Tbl_Type;
10726     lx_Ln_Quote_Party_tbl        ASO_QUOTE_PUB.Quote_Party_Tbl_Type;
10727     lx_Ln_Tax_Detail_Tbl         ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10728     X_Qte_Header_Rec             ASO_QUOTE_PUB.Qte_Header_Rec_Type;
10729     X_Qte_Line_Dtl_Tbl           ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
10730     X_Hd_Price_Attributes_Tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10731     X_Hd_Payment_Tbl             ASO_QUOTE_PUB.Payment_Tbl_Type;
10732     X_Hd_Shipment_Tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type;
10733     X_Hd_Freight_Charge_Tbl      ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10734     X_Hd_Tax_Detail_Tbl          ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10735     X_Line_Attr_Ext_Tbl          ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
10736     X_line_rltship_tbl           ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
10737     X_Price_Adjustment_Tbl       ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
10738     X_Price_Adj_Attr_Tbl         ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
10739     X_Price_Adj_Rltship_Tbl      ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
10740     X_Ln_Price_Attributes_Tbl    ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
10741     X_Ln_Payment_Tbl             ASO_QUOTE_PUB.Payment_Tbl_Type;
10742     X_Ln_Shipment_Tbl            ASO_QUOTE_PUB.Shipment_Tbl_Type;
10743     X_Ln_Freight_Charge_Tbl      ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
10744     X_Ln_Tax_Detail_Tbl          ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
10745 
10746 /*Necessary Cursors*/
10747 
10748 CURSOR C_PRG_LINES_TMP IS
10749 SELECT
10750    lines.REQUEST_TYPE_CODE REQUEST_TYPE_CODE,
10751    lines.LINE_ID LINE_ID,
10752    lines.LINE_INDEX LINE_INDEX,
10753    lines.LINE_TYPE_CODE LINE_TYPE_CODE,
10754    lines.PRICING_EFFECTIVE_DATE PRICING_EFFECTIVE_DATE,
10755    lines.LINE_QUANTITY LINE_QUANTITY,
10756    lines.LINE_UOM_CODE LINE_UOM_CODE,
10757    lines.PRICED_QUANTITY PRICED_QUANTITY,
10758    lines.PRICED_UOM_CODE PRICED_UOM_CODE,
10759    lines.UOM_QUANTITY UOM_QUANTITY,
10760    lines.CURRENCY_CODE CURRENCY_CODE,
10761    lines.UNIT_PRICE UNIT_PRICE,
10762    lines.PERCENT_PRICE PERCENT_PRICE,
10763    lines.ADJUSTED_UNIT_PRICE ADJUSTED_UNIT_PRICE,
10764    lines.PARENT_PRICE PARENT_PRICE,
10765    lines.PARENT_QUANTITY PARENT_QUANTITY,
10766    lines.PARENT_UOM_CODE PARENT_UOM_CODE,
10767    lines.PROCESSING_ORDER PROCESSING_ORDER,
10768    lines.PROCESSED_FLAG PROCESSED_FLAG,
10769    lines.PROCESSED_CODE PROCESSED_CODE,
10770    lines.PRICE_FLAG PRICE_FLAG,
10771    lines.PRICING_STATUS_CODE PRICING_STATUS_CODE,
10772    lines.PRICING_STATUS_TEXT PRICING_STATUS_TEXT,
10773    lines.START_DATE_ACTIVE_FIRST START_DATE_ACTIVE_FIRST,
10774    lines.ACTIVE_DATE_FIRST_TYPE ACTIVE_DATE_FIRST_TYPE,
10775    lines.START_DATE_ACTIVE_SECOND START_DATE_ACTIVE_SECOND,
10776    lines.ACTIVE_DATE_SECOND_TYPE ACTIVE_DATE_SECOND_TYPE,
10777    lines.GROUP_QUANTITY GROUP_QUANTITY,
10778    lines.GROUP_AMOUNT GROUP_AMOUNT,
10779    lines.LINE_AMOUNT LINE_AMOUNT,
10780    lines.ROUNDING_FLAG ROUNDING_FLAG,
10781    lines.ROUNDING_FACTOR ROUNDING_FACTOR,
10782    lines.UPDATED_ADJUSTED_UNIT_PRICE UPDATED_ADJUSTED_UNIT_PRICE,
10783    lines.PRICE_REQUEST_CODE PRICE_REQUEST_CODE,
10784    lines.HOLD_CODE HOLD_CODE,
10785    lines.HOLD_TEXT HOLD_TEXT,
10786    lines.PRICE_LIST_HEADER_ID PRICE_LIST_HEADER_ID,
10787    lines.VALIDATED_FLAG VALIDATED_FLAG,
10788    lines.QUALIFIERS_EXIST_FLAG QUALIFIERS_EXIST_FLAG,
10789    lines.PRICING_ATTRS_EXIST_FLAG PRICING_ATTRS_EXIST_FLAG,
10790    lines.PRIMARY_QUALIFIERS_MATCH_FLAG PRIMARY_QUALIFIERS_MATCH_FLAG,
10791    lines.USAGE_PRICING_TYPE USAGE_PRICING_TYPE,
10792    lines.LINE_CATEGORY LINE_CATEGORY,
10793    lines.CONTRACT_START_DATE CONTRACT_START_DATE,
10794    lines.CONTRACT_END_DATE CONTRACT_END_DATE,
10795    lines.LINE_UNIT_PRICE LINE_UNIT_PRICE,
10796    lines.REQUEST_ID REQUEST_ID,
10797    lines.PROCESS_STATUS PROCESS_STATUS,
10798    lines.EXTENDED_PRICE EXTENDED_PRICE,
10799    lines.ORDER_UOM_SELLING_PRICE ORDER_UOM_SELLING_PRICE,
10800    lines.CATCHWEIGHT_QTY CATCHWEIGHT_QTY,
10801    lines.ACTUAL_ORDER_QUANTITY ACTUAL_ORDER_QUANTITY,
10802    attrs.ATTRIBUTE ATTRIBUTE,
10803    attrs.CONTEXT CONTEXT,
10804    attrs.VALUE_FROM VALUE_FROM
10805 FROM QP_PREQ_LINES_TMP lines,
10806      QP_PREQ_LINE_ATTRS_TMP attrs
10807 --WHERE lines.PROCESSED_CODE = QP_PREQ_PUB.G_BY_ENGINE
10808 WHERE   lines.process_status in (QP_PREQ_GRP.G_STATUS_NEW, QP_PREQ_GRP.G_STATUS_DELETED)
10809 AND   lines.line_index = attrs.line_index
10810 AND   attrs.CONTEXT = 'ITEM'
10811 AND   attrs.ATTRIBUTE = 'PRICING_ATTRIBUTE1';
10812 
10813 CURSOR C_PRG_RLTD_INFO(l_rltd_line_index NUMBER) IS
10814 SELECT
10815    LINE_INDEX,
10816    LINE_DETAIL_INDEX,
10817    RELATIONSHIP_TYPE_CODE,
10818    RELATED_LINE_INDEX,
10819    RELATED_LINE_DETAIL_INDEX,
10820    LIST_LINE_ID,
10821    RELATED_LIST_LINE_ID
10822 FROM QP_PREQ_RLTD_LINES_TMP
10823 WHERE RELATED_LINE_INDEX = l_rltd_line_index
10824 AND RELATIONSHIP_TYPE_CODE = QP_PREQ_GRP.G_GENERATED_LINE;
10825 
10826 CURSOR C_PRG_DISCOUNT_DTL(l_line_index NUMBER, l_line_detail_index NUMBER) IS
10827 SELECT
10828    LINE_DETAIL_INDEX,
10829    LINE_DETAIL_TYPE_CODE,
10830    LINE_INDEX,
10831    LIST_HEADER_ID,
10832    LIST_LINE_ID,
10833    LIST_LINE_TYPE_CODE,
10834    PRICE_BREAK_TYPE_CODE,
10835    LINE_QUANTITY,
10836    ADJUSTMENT_AMOUNT,
10837    AUTOMATIC_FLAG,
10838    PRICING_PHASE_ID,
10839    OPERAND_CALCULATION_CODE,
10840    OPERAND_VALUE,
10841    PRICING_GROUP_SEQUENCE,
10842    CREATED_FROM_LIST_TYPE_CODE,
10843    APPLIED_FLAG,
10844    PRICING_STATUS_CODE,
10845    PRICING_STATUS_TEXT,
10846    LIMIT_CODE,
10847    LIMIT_TEXT,
10848    LIST_LINE_NO,
10849    GROUP_QUANTITY,
10850    UPDATED_FLAG,
10851    PROCESS_CODE,
10852    SUBSTITUTION_VALUE_TO,
10853    SUBSTITUTION_ATTRIBUTE,
10854    ACCRUAL_FLAG,
10855    MODIFIER_LEVEL_CODE,
10856    ESTIM_GL_VALUE,
10857    ACCRUAL_CONVERSION_RATE,
10858    OVERRIDE_FLAG,
10859    PRINT_ON_INVOICE_FLAG,
10860    INVENTORY_ITEM_ID,
10861    ORGANIZATION_ID,
10862    RELATED_ITEM_ID,
10863    RELATIONSHIP_TYPE_ID,
10864    ESTIM_ACCRUAL_RATE,
10865    EXPIRATION_DATE,
10866    BENEFIT_PRICE_LIST_LINE_ID,
10867    RECURRING_FLAG,
10868    BENEFIT_LIMIT,
10869    CHARGE_TYPE_CODE,
10870    CHARGE_SUBTYPE_CODE,
10871    BENEFIT_QTY,
10872    BENEFIT_UOM_CODE,
10873    PRORATION_TYPE_CODE,
10874    INCLUDE_ON_RETURNS_FLAG,
10875    REBATE_TRANSACTION_TYPE_CODE,
10876    NUMBER_EXPIRATION_PERIODS,
10877    EXPIRATION_PERIOD_UOM,
10878    COMMENTS,
10879    CALCULATION_CODE,
10880    CHANGE_REASON_CODE,
10881    CHANGE_REASON_TEXT,
10882    PRICE_ADJUSTMENT_ID,
10883    NET_AMOUNT_FLAG,
10884    ORDER_QTY_OPERAND,
10885    ORDER_QTY_ADJ_AMT
10886 FROM QP_LDETS_V
10887 WHERE line_index = l_line_index
10888 AND line_detail_index = l_line_detail_index;
10889 
10890 CURSOR C_ADJ_ATTR_DTL(l_line_index NUMBER, l_line_detail_index NUMBER) IS
10891 SELECT
10892 QPLAT.CONTEXT CONTEXT,
10893 QPLAT.ATTRIBUTE ATTRIBUTE,
10894 nvl(QPLAT.SETUP_VALUE_FROM,QPLAT.VALUE_FROM) VALUE_FROM,
10895 QPLAT.SETUP_VALUE_TO VALUE_TO,
10896 QPLAT.COMPARISON_OPERATOR_TYPE_CODE COMPARISON_OPERATOR,
10897 decode(QPLAT.ATTRIBUTE_TYPE,
10898        'QUALIFIER','QP_ATTR_DEFNS_QUALIFIER',
10899        'QP_ATTR_DEFNS_PRICING')  FLEX_TITLE
10900 FROM QP_PREQ_LINE_ATTRS_TMP QPLAT
10901 WHERE QPLAT.LINE_INDEX = l_line_index
10902 AND   QPLAT.LINE_DETAIL_INDEX = l_line_detail_index;
10903 
10904 CURSOR C_Get_Parent_Adj_id(l_qte_line_id NUMBER, l_modifier_line_id NUMBER) IS
10905 SELECT PRICE_ADJUSTMENT_ID
10906 FROM ASO_PRICE_ADJUSTMENTS
10907 WHERE quote_line_id = l_qte_line_id
10908 AND   modifier_line_id = l_modifier_line_id;
10909 
10910 BEGIN
10911 
10912     -- Standard call to check for call compatibility.
10913     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
10914                                         p_api_version_number,
10915                                         l_api_name,
10916                                         G_PKG_NAME)
10917     THEN
10918           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10919     END IF;
10920 
10921 
10922     -- Initialize message list if p_init_msg_list is set to TRUE.
10923     IF FND_API.to_Boolean( p_init_msg_list )
10924     THEN
10925           FND_MSG_PUB.initialize;
10926     END IF;
10927 
10928     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10929       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Start Process_PRG ',1,'Y');
10930     END IF;
10931 
10932     x_return_status := FND_API.G_RET_STS_SUCCESS;
10933 
10934    l_line_counter := 1;
10935    l_adj_counter  := 1;
10936    l_rltn_counter := 1;
10937    l_adj_attr_counter := 1;
10938 
10939    /*Prepraring for Update_Quote Call*/
10940    FOR C_PRG_LINES_TMP_REC in C_PRG_LINES_TMP Loop
10941        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10942           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.PROCESS_STATUS: '
10943                             ||C_PRG_LINES_TMP_REC.PROCESS_STATUS,1,'Y');
10944        END IF;
10945 
10946        /*Setting up the line record*/
10947        If C_PRG_LINES_TMP_REC.PROCESS_STATUS = QP_PREQ_GRP.G_STATUS_NEW Then
10948 	     l_track_var := 'Y'; --If there are any new prg lines then set this to 'Y'
10949           l_qte_line_tbl(l_line_counter).OPERATION_CODE := 'CREATE';
10950        end if;
10951        If C_PRG_LINES_TMP_REC.PROCESS_STATUS = QP_PREQ_GRP.G_STATUS_DELETED Then
10952           l_qte_line_tbl(l_line_counter).OPERATION_CODE := 'DELETE';
10953           l_qte_line_tbl(l_line_counter).quote_line_id  := C_PRG_LINES_TMP_REC.line_id;
10954        end if;
10955 
10956        IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
10957           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_INDEX: '||C_PRG_LINES_TMP_REC.LINE_INDEX,1,'Y');
10958           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.VALUE_FROM(inventory_item_id): '
10959 					    ||C_PRG_LINES_TMP_REC.VALUE_FROM,1,'Y');
10960           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_QUANTITY: '
10961                              ||C_PRG_LINES_TMP_REC.LINE_QUANTITY,1,'Y');
10962           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_UOM_CODE: '
10963                              ||C_PRG_LINES_TMP_REC.LINE_UOM_CODE,1,'Y');
10964           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID: '
10965                              ||C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID,1,'Y');
10966           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.CURRENCY_CODE: '
10967                              ||C_PRG_LINES_TMP_REC.CURRENCY_CODE,1,'Y');
10968           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE: '
10969                              ||C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE,1,'Y');
10970           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE: '
10971                              ||C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE,1,'Y');
10972           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.priced_uom_code: '
10973                              ||C_PRG_LINES_TMP_REC.priced_uom_code,1,'Y');
10974           aso_debug_pub.add('ASO_PRICING_CORE_PVT:C_PRG_LINES_TMP_REC.priced_quantity: '
10975                              ||C_PRG_LINES_TMP_REC.priced_quantity,1,'Y');
10976        END IF;
10977 
10978        l_qte_line_tbl(l_line_counter).Pricing_Line_Type_Indicator:= 'F';
10979        l_qte_line_tbl(l_line_counter).QUOTE_HEADER_ID := p_qte_header_rec.quote_header_id;
10980        l_qte_line_tbl(l_line_counter).INVENTORY_ITEM_ID := C_PRG_LINES_TMP_REC.VALUE_FROM;
10981        l_qte_line_tbl(l_line_counter).QUANTITY := C_PRG_LINES_TMP_REC.LINE_QUANTITY;
10982        l_qte_line_tbl(l_line_counter).UOM_CODE := C_PRG_LINES_TMP_REC.LINE_UOM_CODE;
10983        l_qte_line_tbl(l_line_counter).PRICED_PRICE_LIST_ID := C_PRG_LINES_TMP_REC.PRICE_LIST_HEADER_ID;
10984        l_qte_line_tbl(l_line_counter).RECALCULATE_FLAG := 'N';
10985        l_qte_line_tbl(l_line_counter).SELLING_PRICE_CHANGE := 'N';
10986        l_qte_line_tbl(l_line_counter).CURRENCY_CODE := C_PRG_LINES_TMP_REC.CURRENCY_CODE;
10987        l_qte_line_tbl(l_line_counter).LINE_QUOTE_PRICE := NVL(C_PRG_LINES_TMP_REC.ORDER_UOM_SELLING_PRICE,
10988                                                               C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE);
10989        l_qte_line_tbl(l_line_counter).LINE_LIST_PRICE := C_PRG_LINES_TMP_REC.LINE_UNIT_PRICE;
10990        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;
10991 
10992       If C_PRG_LINES_TMP_REC.line_unit_price = 0 then
10993          l_qte_line_tbl(l_line_counter).LINE_ADJUSTED_PERCENT := C_PRG_LINES_TMP_REC.line_unit_price;
10994       else
10995          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;
10996       end if;
10997 	 -- priced information change
10998 	 l_qte_line_tbl(l_line_counter).pricing_quantity_uom := C_PRG_LINES_TMP_REC.priced_uom_code;
10999 	 l_qte_line_tbl(l_line_counter).pricing_quantity := C_PRG_LINES_TMP_REC.priced_quantity;
11000 
11001       /*Create detail and relationship adj records*/
11002       For C_PRG_RLTD_INFO_REC in C_PRG_RLTD_INFO(C_PRG_LINES_TMP_REC.line_index) LOOP
11003 
11004        If l_qte_line_tbl(l_line_counter).operation_code <> 'DELETE' then
11005          /*Create Adjustment table*/
11006          --l_Price_Adjustment_Tbl
11007          For C_PRG_DISCOUNT_DTL_REC in C_PRG_DISCOUNT_DTL(C_PRG_LINES_TMP_REC.line_index,
11008 											   C_PRG_RLTD_INFO_REC.related_line_detail_index) loop
11009              IF l_adj_search_tbl.exists(C_PRG_RLTD_INFO_REC.related_line_detail_index) then
11010                 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11011 		       aso_debug_pub.add('ASO_PRICING_CORE_PVT: C_PRG_RLTD_INFO_REC.related_line_detail_index:'
11012 			     			 ||C_PRG_RLTD_INFO_REC.related_line_detail_index||' already inserted',1,'Y');
11013                 END IF;
11014 			 l_adj_exists := 'Y';
11015 	         ELSE
11016               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11017 		       aso_debug_pub.add('ASO_PRICING_CORE_PVT: C_PRG_RLTD_INFO_REC.related_line_detail_index:'
11018 			     			 ||C_PRG_RLTD_INFO_REC.related_line_detail_index,1,'Y');
11019               END IF;
11020               l_adj_search_tbl(C_PRG_RLTD_INFO_REC.related_line_detail_index) := l_adj_counter;
11021               l_Price_Adjustment_Tbl(l_adj_counter).operation_code := l_qte_line_tbl(l_line_counter).operation_code;
11022               l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index := l_line_counter;
11023 
11024               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11025                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:ADJUSTMENT RECORD:',1,'Y');
11026                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operation_code: '
11027                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operation_code,1,'Y');
11028                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index: '
11029                                     ||l_Price_Adjustment_Tbl(l_adj_counter).qte_line_index,1,'Y');
11030               END IF;
11031               l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id := p_qte_header_rec.quote_header_id;
11032               l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id := C_PRG_DISCOUNT_DTL_REC.list_header_id;
11033               l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id := C_PRG_DISCOUNT_DTL_REC.list_line_id;
11034               l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code := C_PRG_DISCOUNT_DTL_REC.list_line_type_code;
11035               l_Price_Adjustment_Tbl(l_adj_counter).modified_from := NULL;
11036               l_Price_Adjustment_Tbl(l_adj_counter).modified_to := NULL;
11037               l_Price_Adjustment_Tbl(l_adj_counter).operand := C_PRG_DISCOUNT_DTL_REC.order_qty_operand;
11038               l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator := C_PRG_DISCOUNT_DTL_REC.Operand_Calculation_Code;
11039               l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag := C_PRG_DISCOUNT_DTL_REC.Automatic_flag;
11040               l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag := C_PRG_DISCOUNT_DTL_REC.Override_flag;
11041               l_Price_Adjustment_Tbl(l_adj_counter).updated_flag := C_PRG_DISCOUNT_DTL_REC.updated_flag;
11042               l_Price_Adjustment_Tbl(l_adj_counter).applied_flag := C_PRG_DISCOUNT_DTL_REC.Applied_Flag;
11043               l_Price_Adjustment_Tbl(l_adj_counter).on_invoice_flag := C_PRG_DISCOUNT_DTL_REC.Print_On_Invoice_Flag;
11044               l_Price_Adjustment_Tbl(l_adj_counter).charge_type_code := C_PRG_DISCOUNT_DTL_REC.charge_type_code;
11045               l_Price_Adjustment_Tbl(l_adj_counter).pricing_phase_id := C_PRG_DISCOUNT_DTL_REC.pricing_phase_id;
11046               l_Price_Adjustment_Tbl(l_adj_counter).pricing_group_sequence := C_PRG_DISCOUNT_DTL_REC.pricing_group_sequence;
11047               l_Price_Adjustment_Tbl(l_adj_counter).price_break_type_code := C_PRG_DISCOUNT_DTL_REC.price_break_type_code;
11048               l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount := C_PRG_DISCOUNT_DTL_REC.order_qty_adj_amt;
11049               l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code := C_PRG_DISCOUNT_DTL_REC.modifier_level_code;
11050               l_Price_Adjustment_Tbl(l_adj_counter).accrual_flag := C_PRG_DISCOUNT_DTL_REC.accrual_flag;
11051               l_Price_Adjustment_Tbl(l_adj_counter).list_line_no := C_PRG_DISCOUNT_DTL_REC.list_line_no;
11052               l_Price_Adjustment_Tbl(l_adj_counter).accrual_conversion_rate := C_PRG_DISCOUNT_DTL_REC.accrual_conversion_rate;
11053               l_Price_Adjustment_Tbl(l_adj_counter).expiration_date := C_PRG_DISCOUNT_DTL_REC.expiration_date;
11054               l_Price_Adjustment_Tbl(l_adj_counter).charge_subtype_code := C_PRG_DISCOUNT_DTL_REC.charge_subtype_code;
11055               l_Price_Adjustment_Tbl(l_adj_counter).include_on_returns_flag := C_PRG_DISCOUNT_DTL_REC.include_on_returns_flag;
11056               l_Price_Adjustment_Tbl(l_adj_counter).benefit_qty := C_PRG_DISCOUNT_DTL_REC.benefit_qty;
11057               l_Price_Adjustment_Tbl(l_adj_counter).benefit_uom_code := C_PRG_DISCOUNT_DTL_REC.benefit_uom_code;
11058               l_Price_Adjustment_Tbl(l_adj_counter).proration_type_code := C_PRG_DISCOUNT_DTL_REC.proration_type_code;
11059               l_Price_Adjustment_Tbl(l_adj_counter).rebate_transaction_type_code := C_PRG_DISCOUNT_DTL_REC.rebate_transaction_type_code;
11060               l_Price_Adjustment_Tbl(l_adj_counter).range_break_quantity := C_PRG_DISCOUNT_DTL_REC.Line_quantity;
11061               l_Price_Adjustment_Tbl(l_adj_counter).modifier_mechanism_type_code := C_PRG_DISCOUNT_DTL_REC.Calculation_code;
11062               l_Price_Adjustment_Tbl(l_adj_counter).change_reason_code := C_PRG_DISCOUNT_DTL_REC.change_reason_code;
11063               l_Price_Adjustment_Tbl(l_adj_counter).change_reason_text := C_PRG_DISCOUNT_DTL_REC.change_reason_text;
11064               l_Price_Adjustment_Tbl(l_adj_counter).update_allowed := C_PRG_DISCOUNT_DTL_REC.override_flag;
11065 		    --priced information change
11066               l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty := C_PRG_DISCOUNT_DTL_REC.operand_value;
11067               l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty := C_PRG_DISCOUNT_DTL_REC.adjustment_amount;
11068 
11069               IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11070                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id: '
11071                                     ||l_Price_Adjustment_Tbl(l_adj_counter).quote_header_id,1,'Y');
11072                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id: '
11073                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_header_id,1,'Y');
11074                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id: '
11075                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_id,1,'Y');
11076                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code: '
11077                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_line_type_code,1,'Y');
11078                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operand: '
11079                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operand,1,'Y');
11080                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator: '
11081                                     ||l_Price_Adjustment_Tbl(l_adj_counter).arithmetic_operator,1,'Y');
11082                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag: '
11083                                     ||l_Price_Adjustment_Tbl(l_adj_counter).automatic_flag,1,'Y');
11084                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag: '
11085                                     ||l_Price_Adjustment_Tbl(l_adj_counter).update_allowable_flag,1,'Y');
11086                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).updated_flag: '
11087                                     ||l_Price_Adjustment_Tbl(l_adj_counter).updated_flag,1,'Y');
11088                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).applied_flag: '
11089                                     ||l_Price_Adjustment_Tbl(l_adj_counter).applied_flag,1,'Y');
11090                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount: '
11091                                     ||l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount,1,'Y');
11092                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code: '
11093                                     ||l_Price_Adjustment_Tbl(l_adj_counter).modifier_level_code,1,'Y');
11094                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).update_allowed: '
11095                                     ||l_Price_Adjustment_Tbl(l_adj_counter).update_allowed,1,'Y');
11096                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty: '
11097                                     ||l_Price_Adjustment_Tbl(l_adj_counter).operand_per_pqty,1,'Y');
11098                  aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty: '
11099                                     ||l_Price_Adjustment_Tbl(l_adj_counter).adjusted_amount_per_pqty,1,'Y');
11100               END IF;
11101               -- l_Price_Adj_Attr_Tbl
11102               For C_ADJ_ATTR_DTL_REC in C_ADJ_ATTR_DTL(C_PRG_LINES_TMP_REC.line_index,
11103                                                         C_PRG_RLTD_INFO_REC.related_line_detail_index) LOOP
11104                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX := l_adj_counter;
11105                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE  := l_qte_line_tbl(l_line_counter).operation_code;
11106                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT := C_ADJ_ATTR_DTL_REC.CONTEXT;
11107                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE := C_ADJ_ATTR_DTL_REC.ATTRIBUTE;
11108                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM := C_ADJ_ATTR_DTL_REC.VALUE_FROM;
11109                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO := C_ADJ_ATTR_DTL_REC.VALUE_TO;
11110                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR := C_ADJ_ATTR_DTL_REC.COMPARISON_OPERATOR;
11111                   l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE := C_ADJ_ATTR_DTL_REC.FLEX_TITLE;
11112                   IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11113                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX:'
11114                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICE_ADJ_INDEX,1,'Y');
11115                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE:'
11116                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).OPERATION_CODE,1,'Y');
11117                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT:'
11118                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_CONTEXT,1,'Y');
11119                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE:'
11120                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTRIBUTE,1,'Y');
11121                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM:'
11122                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_FROM,1,'Y');
11123                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO:'
11124                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).PRICING_ATTR_VALUE_TO,1,'Y');
11125                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR:'
11126                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).COMPARISON_OPERATOR,1,'Y');
11127                      aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE:'
11128                                         ||l_Price_Adj_Attr_Tbl(l_adj_attr_counter).FLEX_TITLE,1,'Y');
11129 
11130                   END IF;
11131                   l_adj_attr_counter := l_adj_attr_counter + 1;
11132               END LOOP; -- C_ADJ_ATTR_DTL_REC
11133 
11134 	    END IF;--If l_adj_search_tbl.exists(C_PRG_RLTD_INFO_REC.related_line_detail_index)
11135 
11136          /*Create Adjustment relationship table*/
11137          --l_Price_Adj_Rltship_Tbl
11138          l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code := l_qte_line_tbl(l_line_counter).operation_code;
11139 
11140 	    --First get the quote line id of the parent record.
11141          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11142             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Parent Line index C_PRG_RLTD_INFO_REC.line_index:'
11143                                ||C_PRG_RLTD_INFO_REC.line_index,1,'Y');
11144          END IF;
11145 	    SELECT LINE_ID
11146 	    INTO l_parent_line_id
11147 	    FROM QP_PREQ_LINES_TMP
11148 	    WHERE LINE_INDEX = C_PRG_RLTD_INFO_REC.line_index;
11149 	    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11150             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_parent_line_id:'||l_parent_line_id,1,'Y');
11151          END IF;
11152          l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID := l_parent_line_id;
11153 
11154          /*Need to get price adjustment id of the parent record*/
11155          For C_Get_Parent_Adj_id_Rec in C_Get_Parent_Adj_id(l_parent_line_id,
11156 												C_PRG_RLTD_INFO_REC.list_line_id) loop
11157              l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id := C_Get_Parent_Adj_id_Rec.price_adjustment_id;
11158          end loop;--C_Get_Parent_Adj_id_Rec
11159          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);
11160          --l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index := l_adj_counter;
11161 
11162          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11163            aso_debug_pub.add('ASO_PRICING_CORE_PVT:ADJUSTMENT RELATIONSHIP RECORD:',1,'Y');
11164            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code:'
11165                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).operation_code,1,'Y');
11166            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID:'
11167                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).QUOTE_LINE_ID,1,'Y');
11168            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id:'
11169                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).price_adjustment_id,1,'Y');
11170            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index:'
11171                               ||l_Price_Adj_Rltship_Tbl(l_rltn_counter).rltd_price_adj_index,1,'Y');
11172          END IF;
11173 
11174          IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11175            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_line_counter:'||l_line_counter,1,'Y');
11176            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_adj_counter:'||l_adj_counter,1,'Y');
11177            aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_rltn_counter:'||l_rltn_counter,1,'Y');
11178          END IF;
11179          If l_adj_exists = 'N' then
11180              l_adj_counter := l_adj_counter + 1;
11181 	    End If;
11182 	    l_adj_exists := 'N';
11183 
11184      End Loop;--C_PRG_DISCOUNT_DTL_REC
11185 
11186      l_rltn_counter := l_rltn_counter + 1;
11187 
11188 	END If;--l_qte_line_tbl(l_line_counter).operation_code <> 'DELETE'
11189 
11190      END LOOP;--C_PRG_RLTD_INFO_REC
11191 
11192      l_line_counter:= l_line_counter + 1;
11193 
11194    End Loop;--C_PRG_LINES_TMP_REC
11195 
11196    /*Call update quote if l_qte_line_tbl.count is >0*/
11197    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11198       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_qte_line_tbl.count:'||nvl(l_qte_line_tbl.count,0),1,'Y');
11199 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adjustment_Tbl.count:'||nvl(l_Price_Adjustment_Tbl.count,0),1,'Y');
11200 	 aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_Price_Adj_Rltship_Tbl.count:'||nvl(l_Price_Adj_Rltship_Tbl.count,0),1,'Y');
11201    END IF;
11202 
11203    If l_qte_line_tbl.count > 0 then
11204 
11205    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11206       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Calling Update Quote for PRG lines',1,'Y');
11207    END IF;
11208 
11209 
11210    /*Setting up Header Rec*/
11211    l_qte_header_rec.quote_header_id := p_qte_header_rec.quote_header_id;
11212 
11213    Begin
11214        SELECT last_update_date into l_last_update_date
11215        FROM ASO_QUOTE_HEADERS_ALL
11216        WHERE quote_header_id = p_qte_header_rec.quote_header_id;
11217 
11218        l_qte_header_rec.last_update_date  := l_last_update_date;
11219 
11220    exception when no_data_found then
11221             x_return_status := FND_API.G_RET_STS_ERROR;
11222             IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
11223 	               FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
11224 	               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
11225 	               FND_MSG_PUB.ADD;
11226             END IF;
11227 	       raise FND_API.G_EXC_ERROR;
11228    end;
11229 
11230    -- Setting up the Control record for Update quote
11231    l_def_profile_value := FND_PROFILE.value('ASO_ENABLE_DEFAULTING_RULE');
11232    IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11233       aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_def_profile_value - ASO_ENABLE_DEFAULTING_RULE:'||l_def_profile_value,1,'Y');
11234    END IF;
11235    If l_def_profile_value = 'Y' then
11236       l_pub_control_rec.DEFAULTING_FWK_FLAG := 'Y';
11237 	 l_pub_control_rec.DEFAULTING_FLAG := FND_API.G_TRUE;
11238 	 l_pub_control_rec.APPLICATION_TYPE_CODE := 'QUOTING HTML';/* Need to be changed if iStore uptakes defaulting. It should be input parameter */
11239    Else
11240       l_pub_control_rec.DEFAULTING_FWK_FLAG := 'N';
11241 	 l_pub_control_rec.DEFAULTING_FLAG := FND_API.G_FALSE;
11242    End If;
11243 
11244    ASO_QUOTE_PUB.Update_Quote(
11245           p_api_version_number     => 1.0,
11246           p_init_msg_list          => fnd_api.g_false,
11247           p_commit                 => fnd_api.g_false,
11248 		P_Validation_Level       => FND_API.G_VALID_LEVEL_NONE,
11249 		P_Control_Rec            => l_pub_control_rec,
11250           p_qte_header_rec         => l_qte_header_rec,
11251           p_qte_line_tbl            => l_qte_line_tbl,
11252 		p_price_adjustment_Tbl   => l_price_adjustment_Tbl,
11253           P_Price_Adj_Attr_Tbl     => l_Price_Adj_Attr_Tbl,
11254 		p_price_adj_rltship_Tbl  => l_price_adj_rltship_Tbl,
11255           X_Qte_Header_Rec         => lx_out_qte_header_rec,
11256           X_Qte_Line_Tbl           => lx_Qte_Line_Tbl,
11257           X_Qte_Line_Dtl_Tbl       => lx_Qte_Line_Dtl_Tbl,
11258           X_hd_Price_Attributes_Tbl => lx_hd_Price_Attributes_Tbl,
11259           X_hd_Payment_Tbl         => lx_hd_Payment_Tbl,
11260           X_hd_Shipment_Tbl        => lx_hd_Shipment_Tbl,
11261           X_hd_Freight_Charge_Tbl  => lx_hd_Freight_Charge_Tbl,
11262           X_hd_Tax_Detail_Tbl      => lx_hd_Tax_Detail_Tbl,
11263           X_hd_Attr_Ext_Tbl        => lX_hd_Attr_Ext_Tbl,
11264           X_hd_Sales_Credit_Tbl    => lx_hd_Sales_Credit_Tbl,
11265           X_hd_Quote_Party_Tbl     => lx_hd_Quote_Party_Tbl,
11266           X_Line_Attr_Ext_Tbl      => lx_Line_Attr_Ext_Tbl,
11267           X_line_rltship_tbl       => lx_line_rltship_tbl,
11268           X_Price_Adjustment_Tbl   => lx_Price_Adjustment_Tbl,
11269           X_Price_Adj_Attr_Tbl     => lx_Price_Adj_Attr_Tbl,
11270           X_Price_Adj_Rltship_Tbl  => lx_Price_Adj_Rltship_Tbl,
11271           X_ln_Price_Attributes_Tbl=> lx_ln_Price_Attributes_Tbl,
11272           X_ln_Payment_Tbl         => lx_ln_Payment_Tbl,
11273           X_ln_Shipment_Tbl        => lx_ln_Shipment_Tbl,
11274           X_ln_Freight_Charge_Tbl  => lx_ln_Freight_Charge_Tbl,
11275           X_ln_Tax_Detail_Tbl      => lx_ln_Tax_Detail_Tbl,
11276           X_Ln_Sales_Credit_Tbl    => lX_Ln_Sales_Credit_Tbl,
11277           X_Ln_Quote_Party_Tbl     => lX_Ln_Quote_Party_Tbl,
11278           X_Return_Status          => x_Return_Status,
11279           X_Msg_Count              => x_Msg_Count,
11280           X_Msg_Data               => x_Msg_Data);
11281 
11282         IF aso_debug_pub.g_debug_flag = 'Y' THEN
11283 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote X_Return_Status:'||X_Return_Status,1,'Y');
11284            aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote X_Msg_Count:'||X_Msg_Count,1,'Y');
11285 	   END IF;
11286 
11287         IF x_return_status = FND_API.G_RET_STS_ERROR then
11288            raise FND_API.G_EXC_ERROR;
11289         elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
11290               raise FND_API.G_EXC_UNEXPECTED_ERROR;
11291         END IF;
11292 
11293         IF aso_debug_pub.g_debug_flag = 'Y' THEN
11294 		 For i in 1..lx_Qte_Line_Tbl.count loop
11295 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote:lx_Qte_Line_Tbl(i).quote_line_id:'
11296 					    ||lx_Qte_Line_Tbl(i).quote_line_id,1,'Y');
11297            End loop;
11298         END IF;
11299 	   x_Qte_Line_Tbl := lx_Qte_Line_Tbl;
11300 	   IF aso_debug_pub.g_debug_flag = 'Y' THEN
11301 	      aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Update Quote:Count of x_Qte_Line_Tbl.count:'
11302 					     ||x_Qte_Line_Tbl.count,1,'Y');
11303         END IF;
11304    end If;--l_qte_line_tbl.count > 1
11305 
11306    If l_track_var = 'Y' then
11307 	 If p_control_rec.prg_reprice_mode = 'F' then
11308 
11309       ASO_PRICING_CORE_PVT.Initialize_Global_Tables;
11310 
11311       IF aso_debug_pub.g_debug_flag = 'Y' THEN
11312          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Second call to pricing where just free lines are passed',1,'Y');
11313          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.request_type:'||p_control_rec.request_type,1,'Y');
11314          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.pricing_event:'||p_control_rec.pricing_event,1,'Y');
11315          aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_qte_header_rec.quote_header_id:'||p_qte_header_rec.quote_header_id,1,'Y');
11316       END IF;
11317       l_price_index := 1;
11318 
11319 	 ASO_PRICING_CORE_PVT.Print_G_Header_Rec;
11320 
11321 	 QP_Price_Request_Context.Set_Request_Id;
11322 
11323       QP_ATTR_MAPPING_PUB.Build_Contexts (
11324       P_REQUEST_TYPE_CODE          => p_control_rec.request_type,
11325       P_PRICING_TYPE_CODE          => 'H',
11326       P_line_index                 => l_price_index,
11327       P_pricing_event              => p_control_rec.pricing_event,
11328       p_check_line_flag            => 'N',
11329       x_pass_line                  => x_pass_line);
11330 
11331       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11332          aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_pass_line: '||nvl(x_pass_line,'null'),1,'Y');
11333          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Header_To_Request...',1,'Y');
11334       END IF;
11335 
11336       ASO_PRICING_CORE_PVT.Copy_Header_To_Request(
11337        p_Request_Type                   => p_control_rec.request_type,
11338        p_price_line_index               => l_price_index,
11339        px_index_counter                 => 1);
11340 
11341       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11342          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Append_asked_for...',1,'Y');
11343       END IF;
11344 
11345       lx_index_counter:= 1;
11346       ASO_PRICING_CORE_PVT.Append_asked_for(
11347         p_pricing_event                   => p_control_rec.pricing_event,
11348         p_price_line_index                => l_price_index,
11349         p_header_id                       => p_qte_header_rec.quote_header_id,
11350         px_index_counter                  => lx_index_counter);
11351 
11352       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11353          aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Append Ask for lx_index_counter:'
11354                         ||lx_index_counter,1,'Y');
11355       END IF;
11356       --increment the line index
11357       l_price_index:= l_price_index+1;
11358 
11359       -- Header ends here
11360 
11361       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11362          aso_debug_pub.add('************************ HEADER LEVEL ENDS *******************************',1,'Y');
11363          aso_debug_pub.add('  ',1,'Y');
11364          aso_debug_pub.add('************************ LINE LEVEL BEGINS *******************************',1,'Y');
11365          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of ASO UTL PVT Query_Pricing_Line_Rows...',1,'Y');
11366       END IF;
11367 
11368       For i in 1..lx_Qte_Line_Tbl.count loop
11369           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11370              aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Query_Qte_Line_Row utility lx_Qte_Line_Tbl(i).quote_line_id:'
11371 						  ||lx_Qte_Line_Tbl(i).quote_line_id,1,'Y');
11372           END IF;
11373           l_qte_line_rec := ASO_UTILITY_PVT.Query_Qte_Line_Row(lx_Qte_Line_Tbl(i).quote_line_id);
11374 
11375           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11376             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Shipment_Rows..',1,'Y');
11377           END IF;
11378           l_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows
11379                                             (p_qte_header_rec.quote_header_id, lx_Qte_Line_Tbl(i).quote_line_id);
11380           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11381             aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_shipment_tbl.count :'
11382                                ||NVL(l_shipment_tbl.count,0),1,'Y');
11383           END IF;
11384           IF l_shipment_tbl.count = 1 THEN
11385                l_shipment_rec := l_shipment_tbl(1);
11386           else
11387                l_shipment_rec := ASO_QUOTE_PUB.G_Miss_Shipment_rec;
11388           END IF;
11389 
11390           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11391             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Set_Global_Rec - Line Level...', 1, 'Y');
11392           END IF;
11393           ASO_PRICING_INT.G_LINE_REC := ASO_PRICING_CORE_PVT.Set_Global_Rec (
11394                     p_qte_line_rec               => l_qte_line_rec,
11395                     p_qte_line_dtl_rec           => l_qte_line_dtl_rec,
11396                     p_shipment_rec               => l_shipment_rec);
11397 
11398           ASO_PRICING_CORE_PVT.Print_G_Line_Rec;
11399 
11400           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11401             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of QP Build_Contexts - Line Level...',1,'Y');
11402           END IF;
11403 
11404           QP_ATTR_MAPPING_PUB.Build_Contexts (
11405                     p_request_type_code          => p_control_rec.request_type,
11406                     p_line_index                 => l_price_index,
11407                     p_check_line_flag            => 'N',
11408                     p_pricing_event              => p_control_rec.pricing_event,
11409                     p_pricing_type_code          => 'L',
11410                     p_price_list_validated_flag  => 'N',
11411                     x_pass_line                  => x_pass_line);
11412 
11413           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11414             aso_debug_pub.add('ASO_PRICING_CORE_PVT: x_pass_line: '||nvl(x_pass_line,'null'),1,'Y');
11415             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Line_To_Request...',1,'Y');
11416           END IF;
11417 
11418           ASO_PRICING_CORE_PVT.Copy_Line_To_Request(
11419                p_Request_Type         => p_control_rec.request_type,
11420                p_price_line_index    => l_price_index,
11421                px_index_counter       => i+1);
11422 
11423 
11424           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11425             aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Append_asked_for...',1,'Y');
11426             aso_debug_pub.add('ASO_PRICING_CORE_PVT:Before Append Ask for lx_index_counter:'
11427                                ||lx_index_counter,1,'Y');
11428           END IF;
11429           l_index_counter := lx_index_counter;
11430           ASO_PRICING_CORE_PVT.Append_asked_for(
11431                                p_pricing_event   => p_control_rec.pricing_event,
11432                                p_price_line_index => l_price_index,
11433                                p_header_id       => p_qte_header_rec.quote_header_id,
11434                                p_line_id         => l_qte_line_rec.quote_line_id,
11435                                px_index_counter  => lx_index_counter);
11436           IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11437             aso_debug_pub.add('ASO_PRICING_CORE_PVT:After Append Ask for lx_index_counter:'
11438                                ||lx_index_counter,1,'Y');
11439           END IF;
11440           If lx_index_counter = 0 then
11441              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11442                 aso_debug_pub.add('ASO_PRICING_CORE_PVT:Assigning the value of l_index_counter back to lx_index_counter:'
11443                                    || l_index_counter,1,'Y');
11444              END IF;
11445              lx_index_counter := l_index_counter;
11446           end if;
11447 
11448           /*Store all the quote_line_id processed*/
11449           IF l_Qte_Line_id_tbl.EXISTS(1) THEN
11450              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11451                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of l_qte_line_id_tbl.extend...',1,'Y');
11452              END IF;
11453              l_Qte_Line_id_tbl.extend;
11454              l_Qte_Line_id_tbl(l_Qte_Line_id_tbl.count) := lx_Qte_Line_Tbl(i).quote_line_id;
11455            ELSE
11456              IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11457                 aso_debug_pub.add('ASO_PRICING_CORE_PVT: First quote_line_id in l_qte_line_id_tbl',1,'Y');
11458              END IF;
11459              l_Qte_Line_id_tbl := JTF_NUMBER_TABLE(lx_Qte_Line_Tbl(i).quote_line_id);
11460           END IF;
11461 
11462           --increment the line index
11463           px_line_index_search_tbl(l_qte_line_rec.quote_line_id) := l_price_index;
11464           l_price_index:= l_price_index+1;
11465 
11466       end loop;--line loop for lx_Qte_Line_Tbl
11467 
11468       /*Need to find OUT  what adjustments and relationships need to be passed*/
11469       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11470         aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Query_Price_Adjustments...',1,'Y');
11471         aso_debug_pub.add('ASO_PRICING_CORE_PVT: l_qte_line_id_tbl.count :'
11472                            ||NVL(l_qte_line_id_tbl.count,0),1,'Y');
11473         If NVL(l_qte_line_id_tbl.count,0) > 0 then
11474            For i in 1..l_qte_line_id_tbl.count loop
11475 	          aso_debug_pub.add('ASO_PRICING_CORE_PVT:l_qte_line_id_tbl(i):'||l_qte_line_id_tbl(i),1,'Y');
11476 	      end loop;
11477 	   End If;
11478       END IF;
11479       ASO_PRICING_CORE_PVT.Query_Price_Adj_Line
11480           (p_quote_header_id       => p_qte_header_rec.quote_header_id,
11481            p_qte_line_id_tbl       => l_qte_line_id_tbl,
11482            x_adj_id_tbl            => l_qte_adj_id_tbl);
11483 
11484       /*In the second call we are not going to delete any adjustments and relationships and attributes*/
11485 
11486 
11487       --Need to modify the global index table of pls integer types
11488       l_global_pls_tbl := ASO_PRICING_CORE_PVT.G_LDET_LINE_INDEX_TBL;
11489       ASO_PRICING_CORE_PVT.G_LDET_LINE_INDEX_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_PlsIndex_Table(
11490                                                     p_global_tbl => l_global_pls_tbl,
11491                                                     p_search_tbl => px_line_index_search_tbl);
11492       l_global_num_tbl := ASO_PRICING_CORE_PVT.G_RLTD_LINE_INDEX_TBL;
11493       ASO_PRICING_CORE_PVT.G_RLTD_LINE_INDEX_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_NumIndex_Table(
11494                                                     p_global_tbl => l_global_num_tbl,
11495                                                     p_search_tbl => px_line_index_search_tbl);
11496       l_global_num_tbl := ASO_PRICING_CORE_PVT.G_RLTD_RELATED_LINE_IND_TBL;
11497       ASO_PRICING_CORE_PVT.G_RLTD_RELATED_LINE_IND_TBL:= ASO_PRICING_CORE_PVT.Modify_Global_NumIndex_Table(
11498                                                     p_global_tbl => l_global_num_tbl,
11499                                                     p_search_tbl => px_line_index_search_tbl);
11500 
11501 
11502       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11503          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Populate_QP_Temp_tables...',1,'Y');
11504       END IF;
11505       ASO_PRICING_CORE_PVT.populate_qp_temp_tables;
11506 
11507 
11508       -- Set the control rec for QP
11509 
11510       l_req_control_rec.pricing_event := p_control_rec.pricing_event;
11511       l_req_control_rec.calculate_flag := p_control_rec.calculate_flag;
11512       l_req_control_rec.simulation_flag := p_control_rec.simulation_flag;
11513       l_req_control_rec.TEMP_TABLE_INSERT_FLAG := 'N';  ---- Modified
11514       l_req_control_rec.source_order_amount_flag := 'Y';
11515       l_req_control_rec.GSA_CHECK_FLAG := 'Y';
11516       l_req_control_rec.GSA_DUP_CHECK_FLAG := 'Y';
11517       l_req_control_rec.REQUEST_TYPE_CODE := p_control_rec.request_type;
11518       l_req_control_rec.rounding_flag := 'Q';
11519 
11520       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11521          aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of QP_PREQ_PUB.PRICE_REQUEST second implicit call', 1, 'Y');
11522       END IF;
11523 
11524       /*   Change for populating QP_PREQ_GRP.CONTROL_RECORD_TYPE.ORG_ID Yogeshwar  (MOAC) */
11525 
11526 	            l_req_control_rec.ORG_ID :=  p_qte_header_rec.org_id;
11527 
11528      /*				End of Change                                     (MOAC) */
11529 
11530 
11531       QP_PREQ_PUB.PRICE_REQUEST
11532                (p_control_rec           =>l_req_control_rec
11533                ,x_return_status         =>l_return_status
11534                ,x_return_status_Text    =>l_return_status_Text
11535                );
11536       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11537          x_return_status := l_return_status;
11538       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
11539          FND_MESSAGE.Set_Name('ASO', 'ASO_OM_ERROR');
11540          FND_MESSAGE.Set_Token('MSG_TXT', substr(l_return_status_text, 1,255), FALSE);
11541          FND_MSG_PUB.ADD;
11542       END IF;
11543       RAISE FND_API.G_EXC_ERROR;
11544       END IF;
11545 
11546       IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11547        aso_debug_pub.add('ASO_PRICING_CORE_PVT: End of QP_PREQ_PUB.PRICE_REQUEST', 1, 'Y');
11548        aso_debug_pub.add('ASO_PRICING_CORE_PVT: After PRICE_REQUEST l_return_status:'
11549                           ||l_return_status, 1, 'Y');
11550        aso_debug_pub.add('ASO_PRICING_CORE_PVT: After PRICE_REQUEST l_return_status_text '
11551                           ||l_return_status_text,1,'Y');
11552        aso_debug_pub.add('ASO_PRICING_CORE_PVT: Start of Copy_Price_To_Quote...',1,'Y');
11553       END IF;
11554 
11555       ASO_PRICING_CORE_PVT.Copy_Price_To_Quote(
11556           P_Api_Version_Number       => 1.0,
11557           P_Init_Msg_List            => FND_API.G_FALSE,
11558           P_Commit                   => FND_API.G_FALSE,
11559           p_control_rec              => p_control_rec,
11560           p_qte_header_rec           => p_qte_header_rec,
11561           p_insert_type              => 'NO_HDR',
11562           x_return_status            => x_return_status,
11563           x_msg_count                => x_msg_count,
11564           x_msg_data                 => x_msg_data);
11565      IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11566        aso_debug_pub.add('ASO_PRICING_FLOWS_PVT: Copy_Price_To_Quote : x_return_status: '
11567                           ||NVL(x_return_status,'X'),1,'Y');
11568      END IF;
11569 
11570    else  --p_control_rec.prg_reprice_mode = 'A'
11571       /* we need to make the second call with all the lines*/
11572 
11573       ASO_PRICING_CORE_PVT.Initialize_Global_Tables;
11574 
11575       IF aso_debug_pub.g_debug_flag = 'Y' THEN
11576          aso_debug_pub.add('ASO_PRICING_CORE_PVT:Second call to pricing where all lines are passed',1,'Y');
11577 	    aso_debug_pub.add('ASO_PRICING_CORE_PVT:p_control_rec.price_mode:'||p_control_rec.price_mode,1,'Y');
11578       END IF;
11579 	 If (p_control_rec.price_mode = 'ENTIRE_QUOTE') then
11580          ASO_PRICING_FLOWS_PVT.Price_Entire_Quote(
11581              P_Api_Version_Number       => P_Api_Version_Number,
11582              P_Init_Msg_List            => FND_API.G_FALSE,
11583              P_Commit                   => FND_API.G_FALSE,
11584              p_control_rec              => p_control_rec,
11585              p_qte_header_rec           => p_qte_header_rec,
11586              p_qte_line_tbl             => ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl,
11587              p_internal_call_flag       => 'Y',
11588 		   x_Qte_Line_Tbl             => lx_Qte_Line_Tbl,
11589              x_return_status            => x_return_status,
11590              x_msg_count                => x_msg_count,
11591              x_msg_data                 => x_msg_data);
11592       Else
11593 	    /**CHANGE_LINE****/
11594 	   ASO_PRICING_FLOWS_PVT.Price_Quote_With_Change_Lines(
11595             P_Api_Version_Number      => P_Api_Version_Number,
11596             P_Init_Msg_List           => FND_API.G_FALSE,
11597             P_Commit                  => FND_API.G_FALSE,
11598             p_control_rec             => p_control_rec,
11599             p_qte_header_rec          => p_qte_header_rec,
11600             p_qte_line_tbl            => ASO_QUOTE_PUB.G_Miss_Qte_Line_Tbl,
11601             p_internal_call_flag      => 'Y',
11602             x_qte_line_tbl            => lx_Qte_Line_Tbl,
11603             x_return_status           => x_return_status,
11604             x_msg_count               => x_msg_count,
11605             x_msg_data                => x_msg_data);
11606       End If;--(p_control_rec.price_mode = 'ENTIRE_QUOTE')
11607 
11608       end if;--p_control_rec.prg_reprice_mode = 'F'
11609 
11610    end if;--l_track_var = 'Y'
11611 
11612 -- Standard check for p_commit
11613 IF FND_API.to_Boolean( p_commit ) THEN
11614       COMMIT WORK;
11615 END IF;
11616 
11617  FND_MSG_PUB.Count_And_Get
11618       ( p_encoded    => 'F',
11619         p_count      =>   x_msg_count,
11620         p_data       =>   x_msg_data
11621       );
11622 
11623 FND_MSG_PUB.Count_And_Get
11624       ( p_encoded    => 'F',
11625         p_count      =>   x_msg_count,
11626         p_data       =>   x_msg_data
11627       );
11628 
11629  for l in 1 ..x_msg_count loop
11630     x_msg_data := fnd_msg_pub.get( p_msg_index => l, p_encoded => 'F');
11631     IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
11632       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_data, 1, 'Y');
11633       aso_debug_pub.add('ASO_PRICING_CORE_PVT:Messge count and get '||x_msg_count, 1, 'Y');
11634     END IF;
11635  end loop;
11636 
11637 END Process_PRG;
11638 
11639 
11640 
11641 
11642 End ASO_PRICING_CORE_PVT;