DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_MOD_LOADER_PUB

Source


1 PACKAGE BODY QP_MOD_LOADER_PUB AS
2 /* $Header: QPXMLDRB.pls 120.1 2005/06/10 02:45:43 appldev  $ */
3 
4 
5 PROCEDURE Load_Mod_List
6 (	p_process_id	IN	NUMBER,
7 	p_req_type_code	IN	VARCHAR2,
8 	x_status		OUT NOCOPY /* file.sql.39 change */  VARCHAR2,
9 	x_errors		OUT NOCOPY /* file.sql.39 change */	VARCHAR2
10 )
11 IS
12 
13  gpr_return_status varchar2(30) := NULL;
14  gpr_msg_count number := 0;
15  gpr_msg_data varchar2(2000);
16  x_error varchar2(2000);
17  l_operation VARCHAR2(30);
18  l_process_type VARCHAR2(30);
19  l_line_index VARCHAR2(30);
20  i number := 1;
21 
22  gpr_modifier_list_rec             QP_Modifiers_PUB.Modifier_List_Rec_Type;
23  gpr_modifier_list_val_rec         QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
24  gpr_modifiers_tbl                 QP_Modifiers_PUB.Modifiers_Tbl_Type;
25  gpr_modifiers_val_tbl             QP_Modifiers_PUB.Modifiers_Val_Tbl_Type;
26  gpr_qualifiers_tbl                QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
27  gpr_qualifiers_val_tbl            QP_Qualifier_Rules_PUB.Qualifiers_Val_Tbl_Type;
28  gpr_pricing_attr_tbl              QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
29  gpr_pricing_attr_val_tbl          QP_Modifiers_PUB.Pricing_Attr_Val_Tbl_Type;
30 
31  ppr_modifier_list_rec             QP_Modifiers_PUB.Modifier_List_Rec_Type;
32  ppr_modifier_list_val_rec         QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
33  ppr_modifiers_tbl                 QP_Modifiers_PUB.Modifiers_Tbl_Type;
34  ppr_modifiers_val_tbl             QP_Modifiers_PUB.Modifiers_Val_Tbl_Type;
35  ppr_qualifiers_tbl                QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
36  ppr_qualifiers_val_tbl            QP_Qualifier_Rules_PUB.Qualifiers_Val_Tbl_Type;
37  ppr_pricing_attr_tbl              QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
38  ppr_pricing_attr_val_tbl          QP_Modifiers_PUB.Pricing_Attr_Val_Tbl_Type;
39 
40 
41 -- Getting the data from the interface tables
42 
43  CURSOR l_qualifiers IS
44  SELECT
45     qual.interface_action_code,
46     qual.qualifier_id,
47     qual.list_header_id,
48     qual.excluder_flag,
49     qual.comparison_operator_code,
50     qual.qualifier_context,
51     qual.qualifier_attribute,
52     qual.qualifier_attr_value,
53     qual.qualifier_datatype,
54     qual.qualifier_grouping_no
55  FROM
56     qp_interface_qualifiers qual
57  WHERE
58     qual.process_id = p_process_id;
59 
60  CURSOR l_lines IS
61  SELECT
62     line.interface_action_code,
63     line.list_header_id,
64     line.list_line_id,
65     line.list_line_type_code,
66     line.start_date_active,
67     line.end_date_active,
68     line.automatic_flag,
69     line.override_flag,
70     line.modifier_level_code,
71     line.price_by_formula_id,
72     line.operand,
73     line.arithmetic_operator,
74     line.product_precedence,
75     line.pricing_group_sequence,
76     line.pricing_phase_id,
77     line.comments,
78     line.price_break_type_code,
79     line.list_line_no,
80     line.charge_type_code,
81     line.charge_subtype_code,
82     line.price_break_header_index,
83     line.attribute1
84  FROM
85     qp_interface_list_lines line
86  WHERE
87     line.process_id = p_process_id
88  ORDER BY
89     TO_NUMBER(line.list_line_no);
90 
91  CURSOR l_pricing_attribs IS
92  SELECT
93     pa.interface_action_code,
94     pa.pricing_attribute_id,
95     pa.list_header_id,
96     pa.list_line_id,
97     pa.excluder_flag,
98     pa.product_attribute_context,
99     pa.product_attribute,
100     pa.product_attr_value,
101     pa.product_uom_code,
102     pa.product_attribute_datatype,
103     pa.pricing_attribute_datatype,
104     pa.pricing_attribute_context,
105     pa.pricing_attribute,
106     pa.pricing_attr_value_from,
107     pa.pricing_attr_value_to,
108     pa.attribute_grouping_no,
109     pa.comparison_operator_code,
110     --pa.price_list_line_index
111     pa.list_line_no
112  FROM
113     qp_interface_pricing_attribs pa
114  WHERE
115     pa.process_id = p_process_id
116  ORDER BY
117     TO_NUMBER(pa.list_line_no);
118 
119 
120 BEGIN
121 
122 -- Transferring data into pl/sql tables used as input to the PriceList BOI
123  QP_MOD_LOADER_PUB.G_PROCESS_LST_REQ_TYPE := p_req_type_code;
124  x_status := 1;
125 
126  SELECT process_type
127  INTO   l_process_type
128  FROM   qp_interface_list_headers
129  WHERE  process_id = p_process_id;
130 
131 
132  IF (l_process_type = 'XML') THEN
133 
134         SELECT
135                 lhdr.list_header_id,
136                 lhdr.name,
137                 lhdr.description,
138                 lhdr.interface_action_code,
139                 lhdr.list_type_code,
140                 lhdr.currency_code,
141                 TO_DATE(lhdr.start_date_active,'YYYYMMDD HHMISS'),
142                 TO_DATE(lhdr.end_date_active,'YYYYMMDD HHMISS'),
143                 lhdr.automatic_flag
144         INTO
145                 gpr_modifier_list_rec.list_header_id,
146                 gpr_modifier_list_rec.name,
147                 gpr_modifier_list_rec.description,
148                 l_operation,
149                 gpr_modifier_list_rec.list_type_code,
150                 gpr_modifier_list_rec.currency_code,
151                 gpr_modifier_list_rec.start_date_active,
152                 gpr_modifier_list_rec.end_date_active,
153                 gpr_modifier_list_rec.automatic_flag
154         FROM
155                 qp_interface_list_headers lhdr
156         WHERE
157                 lhdr.process_id = p_process_id
158         AND
159                 rownum < 2;
160  ELSE
161 
162  SELECT
163     lhdr.list_header_id,
164     lhdr.name,
165     lhdr.description,
166     lhdr.interface_action_code,
167     lhdr.list_type_code,
168     lhdr.currency_code,
169     lhdr.start_date_active,
170     lhdr.end_date_active,
171     'LOGSTX',
172     lhdr.automatic_flag,
173     lhdr.attribute1
174 --    lhdr.source_system_code,
175 --    lhdr.active_flag
176  INTO
177     gpr_modifier_list_rec.list_header_id,
178     gpr_modifier_list_rec.name,
179     gpr_modifier_list_rec.description,
180     l_operation,
181     gpr_modifier_list_rec.list_type_code,
182     gpr_modifier_list_rec.currency_code,
183     gpr_modifier_list_rec.start_date_active,
184     gpr_modifier_list_rec.end_date_active,
185     gpr_modifier_list_rec.pte_code,
186     gpr_modifier_list_rec.automatic_flag,
187     gpr_modifier_list_rec.attribute1
188  FROM
189     qp_interface_list_headers lhdr
190  WHERE
191     lhdr.process_id = p_process_id
192  AND
193     rownum < 2;
194 
195  END IF;
196 
197  IF (l_operation = 'C') THEN
198 	gpr_modifier_list_rec.list_header_id := FND_API.G_MISS_NUM;
199 	gpr_modifier_list_rec.operation := QP_GLOBALS.G_OPR_CREATE;
200  END IF;
201 
202  IF (l_operation = 'U') THEN
203         gpr_modifier_list_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
204         --dbms_output.put_line('Setting operation to update');
205  END IF;
206 
207  IF (l_operation = 'D') THEN
208         gpr_modifier_list_rec.operation := QP_GLOBALS.G_OPR_DELETE;
209         --dbms_output.put_line('Setting operation to update');
210  END IF;
211 
212 
213  --dbms_output.put_line('Header_id: ' || gpr_modifier_list_rec.list_header_id);
214  --dbms_output.put_line('Name: ' || gpr_modifier_list_rec.name);
215  --dbms_output.put_line('Description: ' || gpr_modifier_list_rec.description);
216  --dbms_output.put_line('Operation: ' || gpr_modifier_list_rec.operation);
217  --dbms_output.put_line('List_Type_Code: ' || gpr_modifier_list_rec.list_type_code);
218  --dbms_output.put_line('Currency_Code: ' || gpr_modifier_list_rec.currency_code);
219  --dbms_output.put_line('Start_Date_Active: ' || gpr_modifier_list_rec.start_date_active);
220  --dbms_output.put_line('End_Date_Active: ' || gpr_modifier_list_rec.end_date_active);
221  --dbms_output.put_line('Attribute1: ' || gpr_modifier_list_rec.attribute1);
222  --dbms_output.put_line('Automatic_Flag: ' || gpr_modifier_list_rec.automatic_flag);
223 
224 
225 
226  i := 1;
227  OPEN l_qualifiers;
228  LOOP
229 	FETCH l_qualifiers INTO
230         l_operation,
231         gpr_qualifiers_tbl(i).qualifier_id,
232         gpr_qualifiers_tbl(i).list_header_id,
233     	gpr_qualifiers_tbl(i).excluder_flag,
234     	gpr_qualifiers_tbl(i).comparison_operator_code,
235     	gpr_qualifiers_tbl(i).qualifier_context,
236     	gpr_qualifiers_val_tbl(i).qualifier_attribute_desc,
237 	gpr_qualifiers_tbl(i).qualifier_attr_value,
238     	--gpr_qualifiers_val_tbl(i).qualifier_attr_value_desc,
239     	gpr_qualifiers_tbl(i).qualifier_datatype,
240     	gpr_qualifiers_tbl(i).qualifier_grouping_no;
241 	EXIT WHEN l_qualifiers%NOTFOUND;
242 
243 	gpr_qualifiers_tbl(i).qualifier_attribute := FND_API.G_MISS_CHAR;
244 	--gpr_qualifiers_tbl(i).qualifier_attr_value := FND_API.G_MISS_CHAR;
245 
246 	IF (l_operation = 'C') THEN
247 		gpr_qualifiers_tbl(i).list_header_id := FND_API.G_MISS_NUM;
248 		gpr_qualifiers_tbl(i).qualifier_id := FND_API.G_MISS_NUM;
249 		gpr_qualifiers_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
250 
251                 IF (gpr_qualifiers_tbl(i).excluder_flag IS NULL) THEN
252                         gpr_qualifiers_tbl(i).excluder_flag:= FND_API.G_MISS_CHAR;
253                 END IF;
254 
255                 IF (gpr_qualifiers_tbl(i).qualifier_grouping_no IS NULL) THEN
256                         gpr_qualifiers_tbl(i).qualifier_grouping_no:= FND_API.G_MISS_NUM;
257                 END IF;
258 
259 
260  	END IF;
261 
262         IF (l_operation = 'U') THEN
263                 gpr_qualifiers_tbl(i).operation := QP_GLOBALS.G_OPR_UPDATE;
264         END IF;
265 
266         IF (l_operation = 'D') THEN
267                 gpr_qualifiers_tbl(i).operation := QP_GLOBALS.G_OPR_DELETE;
268         END IF;
269 
270 
271 	--dbms_output.put_line('*** Qualifier ***');
272         --dbms_output.put_line('Qualifier Id: ' || gpr_qualifiers_tbl(i).qualifier_id);
273         --dbms_output.put_line('List_header_id: ' || gpr_qualifiers_tbl(i).list_header_id);
274         --dbms_output.put_line('Operation: ' || gpr_qualifiers_tbl(i).operation);
275 	--dbms_output.put_line('excluder_flag: ' || gpr_qualifiers_tbl(i).excluder_flag);
276 	--dbms_output.put_line('comparison_operator_code: ' || gpr_qualifiers_tbl(i).comparison_operator_code);
277 	--dbms_output.put_line('qualifier_context: ' || gpr_qualifiers_tbl(i).qualifier_context);
278 	--dbms_output.put_line('qualifier_attribute_desc: ' || gpr_qualifiers_val_tbl(i).qualifier_attribute_desc);
279 	--dbms_output.put_line('qualifier_attr_value_desc: ' || gpr_qualifiers_val_tbl(i).qualifier_attr_value_desc);
280 	--dbms_output.put_line('qualifier_datatype: ' || gpr_qualifiers_tbl(i).qualifier_datatype);
281 	--dbms_output.put_line('qualifier_grouping_no: ' || gpr_qualifiers_tbl(i).qualifier_grouping_no);
282 
283 	i := i + 1;
284 
285  END LOOP;
286 
287  i := 1;
288  OPEN l_lines;
289  LOOP
290 	FETCH l_lines INTO
291     	l_operation,
292     	gpr_modifiers_tbl(i).list_header_id,
293     	gpr_modifiers_tbl(i).list_line_id,
294     	gpr_modifiers_tbl(i).list_line_type_code,
295     	gpr_modifiers_tbl(i).start_date_active,
296     	gpr_modifiers_tbl(i).end_date_active,
297     	gpr_modifiers_tbl(i).automatic_flag,
298     	gpr_modifiers_tbl(i).override_flag,
299     	gpr_modifiers_tbl(i).modifier_level_code,
300     	gpr_modifiers_tbl(i).price_by_formula_id,
301     	gpr_modifiers_tbl(i).operand,
302         gpr_modifiers_tbl(i).arithmetic_operator,
303     	gpr_modifiers_tbl(i).product_precedence,
304     	gpr_modifiers_tbl(i).pricing_group_sequence,
305     	gpr_modifiers_tbl(i).pricing_phase_id,
306     	gpr_modifiers_tbl(i).comments,
307     	gpr_modifiers_tbl(i).price_break_type_code,
308     	gpr_modifiers_tbl(i).list_line_no,
309     	gpr_modifiers_tbl(i).charge_type_code,
310     	gpr_modifiers_tbl(i).charge_subtype_code,
311     	gpr_modifiers_tbl(i).modifier_parent_index,
312     	l_line_index;
313 	EXIT WHEN l_lines%NOTFOUND;
314 
315 	IF (l_operation = 'C') THEN
316                 IF (gpr_modifiers_tbl(i).list_header_id IS NULL) THEN
317                         gpr_modifiers_tbl(i).list_header_id := FND_API.G_MISS_NUM;
318                 END IF;
319 
320                 IF (gpr_modifiers_tbl(i).list_line_no IS NULL) THEN
321                         gpr_modifiers_tbl(i).list_line_no := FND_API.G_MISS_CHAR;
322                 END IF;
323 
324 		--dbms_output.put_line('Here is modifier_parent_index : ' || gpr_modifiers_tbl(i).modifier_parent_index);
325 		IF (gpr_modifiers_tbl(i).modifier_parent_index IS NOT NULL) THEN
326 			gpr_modifiers_tbl(i).rltd_modifier_grp_type := 'PRICE BREAK';
327 		END IF;
328 
329 		gpr_modifiers_tbl(i).list_line_id := FND_API.G_MISS_NUM;
330 		gpr_modifiers_tbl(i).rltd_modifier_id := FND_API.G_MISS_NUM;
331 		gpr_modifiers_tbl(i).from_rltd_modifier_id := FND_API.G_MISS_NUM;
332 		gpr_modifiers_tbl(i).to_rltd_modifier_id := FND_API.G_MISS_NUM;
333 		gpr_modifiers_tbl(i).rltd_modifier_grp_no := 10;
334 		gpr_modifiers_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
335  	END IF;
336 
337         IF (l_operation = 'U') THEN
338                 gpr_modifiers_tbl(i).operation := QP_GLOBALS.G_OPR_UPDATE;
339         END IF;
340 
341         IF (l_operation = 'D') THEN
342                 gpr_modifiers_tbl(i).operation := QP_GLOBALS.G_OPR_DELETE;
343         END IF;
344 
345 
346 	--dbms_output.put_line('*** Mod Line ***');
347 	--dbms_output.put_line('operation: ' || gpr_modifiers_tbl(i).operation);
348 	--dbms_output.put_line('Header_id: ' || gpr_modifiers_tbl(i).list_header_id);
349 	--dbms_output.put_line('List_line_id: ' || gpr_modifiers_tbl(i).list_line_id);
350 	--dbms_output.put_line('list_line_type_code: ' || gpr_modifiers_tbl(i).list_line_type_code);
351 	--dbms_output.put_line('start_date_active: ' || gpr_modifiers_tbl(i).start_date_active);
352 	--dbms_output.put_line('end_date_active: ' || gpr_modifiers_tbl(i).end_date_active);
353 	--dbms_output.put_line('automatic_flag: ' || gpr_modifiers_tbl(i).automatic_flag);
354 	--dbms_output.put_line('override_flag: ' || gpr_modifiers_tbl(i).override_flag);
355 	--dbms_output.put_line('modifier_level_code: ' || gpr_modifiers_tbl(i).modifier_level_code);
356 	--dbms_output.put_line('price_by_formula_id: ' || gpr_modifiers_tbl(i).price_by_formula_id);
357 	--dbms_output.put_line('operand: ' || gpr_modifiers_tbl(i).operand);
358 	--dbms_output.put_line('arithmetic_operator: ' || gpr_modifiers_tbl(i).arithmetic_operator);
362 	--dbms_output.put_line('comments: ' || gpr_modifiers_tbl(i).comments);
359 	--dbms_output.put_line('product_precedence: ' || gpr_modifiers_tbl(i).product_precedence);
360 	--dbms_output.put_line('pricing_group_sequence: ' || gpr_modifiers_tbl(i).pricing_group_sequence);
361 	--dbms_output.put_line('pricing_phase_id: ' || gpr_modifiers_tbl(i).pricing_phase_id);
363 	--dbms_output.put_line('price_break_type_code: ' || gpr_modifiers_tbl(i).price_break_type_code);
364 	--dbms_output.put_line('list_line_no: ' || gpr_modifiers_tbl(i).list_line_no);
365 	--dbms_output.put_line('charge_type_code: ' || gpr_modifiers_tbl(i).charge_type_code);
366 	--dbms_output.put_line('charge_subtype_code: ' || gpr_modifiers_tbl(i).charge_subtype_code);
367 	--dbms_output.put_line('modifier_parent_index: ' || gpr_modifiers_tbl(i).modifier_parent_index);
368 	--dbms_output.put_line('rltd_modifier_grp_type: ' || gpr_modifiers_tbl(i).rltd_modifier_grp_type);
369         --dbms_output.put_line('mod_line_index: ' ||  l_line_index);
370 
371 	i := i + 1;
372 
373  END LOOP;
374 
375 
376  i := 1;
377  OPEN l_pricing_attribs;
378  LOOP
379 	FETCH l_pricing_attribs INTO
380     	l_operation,
381         gpr_pricing_attr_tbl(i).pricing_attribute_id,
382         gpr_pricing_attr_tbl(i).list_header_id,
383     	gpr_pricing_attr_tbl(i).list_line_id,
384     	gpr_pricing_attr_tbl(i).excluder_flag,
385     	gpr_pricing_attr_tbl(i).product_attribute_context,
386     	gpr_pricing_attr_tbl(i).product_attribute,
387     	gpr_pricing_attr_tbl(i).product_attr_value,
388     	gpr_pricing_attr_tbl(i).product_uom_code,
389     	gpr_pricing_attr_tbl(i).product_attribute_datatype,
390     	gpr_pricing_attr_tbl(i).pricing_attribute_datatype,
391     	gpr_pricing_attr_tbl(i).pricing_attribute_context,
392     	gpr_pricing_attr_val_tbl(i).pricing_attribute_desc,
393    	gpr_pricing_attr_val_tbl(i).pricing_attr_value_from_desc,
394     	gpr_pricing_attr_val_tbl(i).pricing_attr_value_to_desc,
395     	gpr_pricing_attr_tbl(i).attribute_grouping_no,
396     	gpr_pricing_attr_tbl(i).comparison_operator_code,
397     	gpr_pricing_attr_tbl(i).modifiers_index;
398 	EXIT WHEN l_pricing_attribs%NOTFOUND;
399 
400 	IF (l_operation = 'C') THEN
401 
402                 IF (gpr_pricing_attr_tbl(i).list_header_id IS NULL) THEN
403                         gpr_pricing_attr_tbl(i).list_header_id := FND_API.G_MISS_NUM;
404                 END IF;
405 
406                 gpr_pricing_attr_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
407                 gpr_pricing_attr_tbl(i).list_line_id := FND_API.G_MISS_NUM;
408                 gpr_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
409                 gpr_pricing_attr_tbl(i).pricing_attribute := FND_API.G_MISS_CHAR;
410                 gpr_pricing_attr_tbl(i).pricing_attr_value_from := FND_API.G_MISS_CHAR;
411                 gpr_pricing_attr_tbl(i).pricing_attr_value_to := FND_API.G_MISS_CHAR;
412 
413 	END IF;
414 
415         IF (l_operation = 'U') THEN
416                 gpr_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_UPDATE;
417         END IF;
418 
419         IF (l_operation = 'D') THEN
420                 gpr_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_DELETE;
421         END IF;
422 
423 	--dbms_output.put_line('***Pricing Attribute***');
424         --dbms_output.put_line('Pricing Attribute Id: ' || gpr_pricing_attr_tbl(i).pricing_attribute_id);
425         --dbms_output.put_line('List Header Id: ' || gpr_pricing_attr_tbl(i).list_header_id);
426         --dbms_output.put_line('List Line Id: ' || gpr_pricing_attr_tbl(i).list_line_id);
427  	--dbms_output.put_line('operation: ' || gpr_pricing_attr_tbl(i).operation);
428  	--dbms_output.put_line('excluder_flag: ' || gpr_pricing_attr_tbl(i).excluder_flag);
429  	--dbms_output.put_line('product_attribute_context: ' || gpr_pricing_attr_tbl(i).product_attribute_context);
430  	--dbms_output.put_line('product_attribute: ' || gpr_pricing_attr_tbl(i).product_attribute);
431  	--dbms_output.put_line('product_attr_value: ' || gpr_pricing_attr_tbl(i).product_attr_value);
432  	--dbms_output.put_line('product_uom_code: ' || gpr_pricing_attr_tbl(i).product_uom_code);
433  	--dbms_output.put_line('product_attribute_datatype: ' || gpr_pricing_attr_tbl(i).product_attribute_datatype);
434  	--dbms_output.put_line('pricing_attribute_datatype: ' || gpr_pricing_attr_tbl(i).pricing_attribute_datatype);
435  	--dbms_output.put_line('pricing_attribute_context: ' || gpr_pricing_attr_tbl(i).pricing_attribute_context);
436  	--dbms_output.put_line('pricing_attribute: ' || gpr_pricing_attr_val_tbl(i).pricing_attribute_desc);
437  	--dbms_output.put_line('pricing_attr_value_from: ' || gpr_pricing_attr_val_tbl(i).pricing_attr_value_from_desc);
438  	--dbms_output.put_line('pricing_attr_value_to: ' || gpr_pricing_attr_val_tbl(i).pricing_attr_value_to_desc);
439  	--dbms_output.put_line('attribute_grouping_no: ' || gpr_pricing_attr_tbl(i).attribute_grouping_no);
440  	--dbms_output.put_line('comparison_operator_code: ' || gpr_pricing_attr_tbl(i).comparison_operator_code);
441  	--dbms_output.put_line('modifiers_index: ' || gpr_pricing_attr_tbl(i).modifiers_index);
442 
443 	i := i + 1;
444  END LOOP;
445 
446 
447 
448  QP_MODIFIERS_PUB.Process_Modifiers
449  (   p_api_version_number            => 1
450  ,   p_init_msg_list                 => FND_API.G_FALSE
451  ,   p_return_values                 => FND_API.G_FALSE
452  ,   p_commit                        => FND_API.G_FALSE
453  ,   x_return_status                 => gpr_return_status
454  ,   x_msg_count                     => gpr_msg_count
455  ,   x_msg_data                      => gpr_msg_data
456  ,   p_MODIFIER_LIST_rec             => gpr_modifier_list_rec
457  ,   p_MODIFIER_LIST_val_rec         => gpr_modifier_list_val_rec
458  ,   p_MODIFIERS_tbl           	     => gpr_modifiers_tbl
459  ,   p_MODIFIERS_val_tbl             => gpr_modifiers_val_tbl
460  ,   p_QUALIFIERS_tbl                => gpr_qualifiers_tbl
461  ,   p_QUALIFIERS_val_tbl            => gpr_qualifiers_val_tbl
465  ,   x_MODIFIER_LIST_val_rec         => ppr_modifier_list_val_rec
462  ,   p_PRICING_ATTR_tbl              => gpr_pricing_attr_tbl
463  ,   p_PRICING_ATTR_val_tbl          => gpr_pricing_attr_val_tbl
464  ,   x_MODIFIER_LIST_rec             => ppr_modifier_list_rec
466  ,   x_MODIFIERS_tbl                 => ppr_modifiers_tbl
467  ,   x_MODIFIERS_val_tbl             => ppr_modifiers_val_tbl
468  ,   x_QUALIFIERS_tbl                => ppr_qualifiers_tbl
469  ,   x_QUALIFIERS_val_tbl            => ppr_qualifiers_val_tbl
470  ,   x_PRICING_ATTR_tbl              => ppr_pricing_attr_tbl
471  ,   x_PRICING_ATTR_val_tbl          => ppr_pricing_attr_val_tbl
472  );
473 
474 IF gpr_return_status = FND_API.G_RET_STS_SUCCESS THEN
475 	 x_status := 'COMPLETED';
476 END IF;
477 
478 IF gpr_return_status <> FND_API.G_RET_STS_SUCCESS THEN
479 
480         x_status := 'FAILED';
481         for k in 1 .. gpr_msg_count loop
482                 gpr_msg_data := oe_msg_pub.get( p_msg_index => k, p_encoded => 'F');
483                 x_error :=  substr(gpr_msg_data,1,2000);
484                 IF (x_error = 'SO_NT_NOTE_NAME_IN_USE') THEN
485                    x_error := 'Pricelist name already in use';
486                 END IF;
487                 x_errors := x_errors || x_error || ' , ';
488                 --dbms_output.put_line('Error msg: '||substr(gpr_msg_data,1,2000));
489         end loop;
490 
491          --dbms_output.put_line('Error in BOI');
492          --dbms_output.put_line('error_count : ' ||  gpr_msg_count);
493          --dbms_output.put_line('X_STATUS : ' ||  x_status);
494          --dbms_output.put_line('X_ERRORS : ' ||  x_errors);
495 
496         rollback;
497 --      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
498 
499   END IF;
500 
501 
502  --dbms_output.put_line('after process mod list ');
503 EXCEPTION
504 WHEN OTHERS THEN
505 x_status := 'FAILED';
506 x_error := 'Exception';
507 
508 
509 END LOAD_MOD_LIST;
510 
511 
512 END QP_MOD_LOADER_PUB;