[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;