77: fetch get_prl_metadata into l_table_name, l_column_name;
78:
79: if get_prl_metadata%notfound then
80: close get_prl_metadata;
81: msd_dem_common_utilities.log_message('Price List deleted. Please recreate the Price List');
82: msd_dem_common_utilities.log_debug('Price List deleted. Please recreate the Price List');
83: retcode := 1;
84: return;
85: end if;
78:
79: if get_prl_metadata%notfound then
80: close get_prl_metadata;
81: msd_dem_common_utilities.log_message('Price List deleted. Please recreate the Price List');
82: msd_dem_common_utilities.log_debug('Price List deleted. Please recreate the Price List');
83: retcode := 1;
84: return;
85: end if;
86:
98:
99: l_stmt := replace(l_stmt, 'COLUMNNAME', l_column_name);
100:
101:
102: msd_dem_common_utilities.log_debug('Bind variables: ');
103: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
99: l_stmt := replace(l_stmt, 'COLUMNNAME', l_column_name);
100:
101:
102: msd_dem_common_utilities.log_debug('Bind variables: ');
103: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
100:
101:
102: msd_dem_common_utilities.log_debug('Bind variables: ');
103: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
101:
102: msd_dem_common_utilities.log_debug('Bind variables: ');
103: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
109: msd_dem_common_utilities.log_debug(l_stmt);
102: msd_dem_common_utilities.log_debug('Bind variables: ');
103: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
109: msd_dem_common_utilities.log_debug(l_stmt);
110:
104: msd_dem_common_utilities.log_debug('p_start_date: ' || p_start_date);
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
109: msd_dem_common_utilities.log_debug(l_stmt);
110:
111: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS') );
112: execute immediate l_stmt using p_start_date, p_end_date, p_prl_code ;
105: msd_dem_common_utilities.log_debug('p_end_date: ' || p_end_date);
106: msd_dem_common_utilities.log_debug('p_prl_code: ' || p_prl_code);
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
109: msd_dem_common_utilities.log_debug(l_stmt);
110:
111: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS') );
112: execute immediate l_stmt using p_start_date, p_end_date, p_prl_code ;
113: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
107:
108: msd_dem_common_utilities.log_debug('Executed Statement: ');
109: msd_dem_common_utilities.log_debug(l_stmt);
110:
111: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS') );
112: execute immediate l_stmt using p_start_date, p_end_date, p_prl_code ;
113: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
114:
115: l_stmt_get_series_id := 'select forecast_type_id from ' || get_lookup_value('MSD_DEM_TABLES', 'COMPUTED_FIELDS') ||
109: msd_dem_common_utilities.log_debug(l_stmt);
110:
111: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS') );
112: execute immediate l_stmt using p_start_date, p_end_date, p_prl_code ;
113: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
114:
115: l_stmt_get_series_id := 'select forecast_type_id from ' || get_lookup_value('MSD_DEM_TABLES', 'COMPUTED_FIELDS') ||
116: ' where computed_name = ''' || l_column_name || '''';
117:
128: || ' ,' || get_lookup_value('MSD_DEM_TABLES', 'TRANSFER_QUERY') || ' tq '
129: || ' where tl.name = :1 '
130: || ' and tq.transfer_id = tl.id) and tqs.series_id = ' || l_series_id;
131:
132: msd_dem_common_utilities.log_debug(l_stmt);
133:
134: execute immediate l_stmt using fnd_profile.value('MSD_DEM_PRICE_LIST_PROFILE');
135:
136: <
138: null;
139:
140: exception
141: when others then
142: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
143: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
144: retcode := 1;
145:
146: end;
139:
140: exception
141: when others then
142: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
143: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
144: retcode := 1;
145:
146: end;
147:
210:
211: if l_verify_entities_inuse is null then
212:
213: if l_get_seeded_unit is not null then
214: msd_dem_common_utilities.log_message('Seeded Display Unit with name ' || p_prl_code || ' exist in Demantra. This Price List will not created');
215: msd_dem_common_utilities.log_debug('Seeded Display Unit with name ' || p_prl_code || ' exist in Demantra. This Price List will not created');
216: retcode := 1;
217: return;
218: end if;
211: if l_verify_entities_inuse is null then
212:
213: if l_get_seeded_unit is not null then
214: msd_dem_common_utilities.log_message('Seeded Display Unit with name ' || p_prl_code || ' exist in Demantra. This Price List will not created');
215: msd_dem_common_utilities.log_debug('Seeded Display Unit with name ' || p_prl_code || ' exist in Demantra. This Price List will not created');
216: retcode := 1;
217: return;
218: end if;
219:
224: ' minus ' ||
225: ' select distinct display_units_id from ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') || ' ' || ')' ||
226: ' and display_units like ''%EBSPRICELIST%'' and rownum < 2';
227:
228: msd_dem_common_utilities.log_debug(l_stmt_new_prl_display_unit);
229:
230:
231: open get_new_prl_display_unit for l_stmt_new_prl_display_unit;
232: fetch get_new_prl_display_unit into new_prl;
230:
231: open get_new_prl_display_unit for l_stmt_new_prl_display_unit;
232: fetch get_new_prl_display_unit into new_prl;
233: if get_new_prl_display_unit%notfound then
234: msd_dem_common_utilities.log_message('Seeded Display Units for Price List not Available');
235: msd_dem_common_utilities.log_debug('Seeded Display Units for Price List not Available');
236: close get_new_prl_display_unit;
237: retcode := 1;
238: return;
231: open get_new_prl_display_unit for l_stmt_new_prl_display_unit;
232: fetch get_new_prl_display_unit into new_prl;
233: if get_new_prl_display_unit%notfound then
234: msd_dem_common_utilities.log_message('Seeded Display Units for Price List not Available');
235: msd_dem_common_utilities.log_debug('Seeded Display Units for Price List not Available');
236: close get_new_prl_display_unit;
237: retcode := 1;
238: return;
239: end if;
275: ,:7
276: ,:8
277: )';
278:
279: msd_dem_common_utilities.log_debug(l_stmt);
280:
281:
282: execute immediate l_stmt using p_prl_code, l_profile_table_name, new_prl.data_field, sysdate, nvl(fnd_global.user_id,-1), sysdate, nvl(fnd_global.user_id,-1), fnd_global.user_id;
283:
284: l_stmt := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
285: ' set display_units = :1 ' ||
286: ' where display_units_id = :2';
287:
288: msd_dem_common_utilities.log_debug(l_stmt);
289:
290: execute immediate l_stmt using p_prl_code, new_prl.display_units_id;
291:
292: l_stmt := 'insert into ' || get_lookup_value('MSD_DEM_TABLES', 'AVAIL_UNITS') ||
295: ' from ' || get_lookup_value('MSD_DEM_TABLES', 'GROUP_TABLES') ||
296: ' where group_type = 1 ' ||
297: ' )';
298:
299: msd_dem_common_utilities.log_debug(l_stmt);
300:
301: execute immediate l_stmt using new_prl.display_units_id;
302:
303: l_stmt_get_component := 'select dcm_product_id from ' ||get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS') || ' where product_name = ''' || msd_dem_common_utilities.get_lookup_value('MSD_DEM_COMPONENTS', 'DEMAND_MANAGEMENT') || '''';
299: msd_dem_common_utilities.log_debug(l_stmt);
300:
301: execute immediate l_stmt using new_prl.display_units_id;
302:
303: l_stmt_get_component := 'select dcm_product_id from ' ||get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS') || ' where product_name = ''' || msd_dem_common_utilities.get_lookup_value('MSD_DEM_COMPONENTS', 'DEMAND_MANAGEMENT') || '''';
304:
305: msd_dem_common_utilities.log_debug(l_stmt_get_component);
306:
307: open get_component for l_stmt_get_component;
301: execute immediate l_stmt using new_prl.display_units_id;
302:
303: l_stmt_get_component := 'select dcm_product_id from ' ||get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS') || ' where product_name = ''' || msd_dem_common_utilities.get_lookup_value('MSD_DEM_COMPONENTS', 'DEMAND_MANAGEMENT') || '''';
304:
305: msd_dem_common_utilities.log_debug(l_stmt_get_component);
306:
307: open get_component for l_stmt_get_component;
308: fetch get_component into l_component_id;
309: close get_component;
311: l_stmt := 'insert into ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') ||
312: ' (dcm_product_id ,display_units_id) ' ||
313: ' (select :1, :2 from dual)';
314:
315: msd_dem_common_utilities.log_debug(l_stmt);
316: execute immediate l_stmt using l_component_id,new_prl.display_units_id;
317:
318: l_stmt := 'insert into ' || get_lookup_value('MSD_DEM_TABLES', 'INDEXES_FOR_UNITS') ||
319: ' (display_units_id, real_value_id) ' ||
320: ' (select :1, real_value_id from ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_INDEX') || ' dpi ' ||
321: ' where dpi.dcm_product_id = ' || l_component_id ||
322: ')';
323:
324: msd_dem_common_utilities.log_debug(l_stmt);
325:
326: execute immediate l_stmt using new_prl.display_units_id;
327:
328:
326: execute immediate l_stmt using new_prl.display_units_id;
327:
328:
329:
330: l_stmt_get_component_sop := 'select dcm_product_id from ' ||get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS') || ' where product_name = ''' || msd_dem_common_utilities.get_lookup_value('MSD_DEM_COMPONENTS', 'SOP') || '''';
331:
332: msd_dem_common_utilities.log_debug(l_stmt_get_component_sop);
333:
334: open get_component_sop for l_stmt_get_component_sop;
328:
329:
330: l_stmt_get_component_sop := 'select dcm_product_id from ' ||get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS') || ' where product_name = ''' || msd_dem_common_utilities.get_lookup_value('MSD_DEM_COMPONENTS', 'SOP') || '''';
331:
332: msd_dem_common_utilities.log_debug(l_stmt_get_component_sop);
333:
334: open get_component_sop for l_stmt_get_component_sop;
335: fetch get_component_sop into l_component_id_sop;
336: close get_component_sop;
338: l_stmt := 'insert into ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') ||
339: ' (dcm_product_id ,display_units_id) ' ||
340: ' (select :1, :2 from dual)';
341:
342: msd_dem_common_utilities.log_debug(l_stmt);
343: execute immediate l_stmt using l_component_id_sop,new_prl.display_units_id;
344:
345: l_stmt := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'COMPUTED_FIELDS')
346: || ' set computed_title = :1 '
354: l_stmt := 'update msd_dem_entities_inuse set table_name = ''biio_ebs_price_list''' ||
355: ', column_name = (select data_field from ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') || ' where display_units = :1)' ||
356: 'where ebs_entity = ''PRL'' and demantra_entity = ''DISPLAY_UNIT'' and internal_name = :2';
357:
358: msd_dem_common_utilities.log_debug(l_stmt);
359:
360: execute immediate l_stmt using p_prl_code, p_prl_code; */
361:
362: end if;
364:
365:
366: exception
367: when others then
368: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
369: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
370: retcode := 1;
371:
372: end;
365:
366: exception
367: when others then
368: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
369: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
370: retcode := 1;
371:
372: end;
373:
399: || ' ,' || get_lookup_value('MSD_DEM_TABLES', 'TRANSFER_QUERY') || ' tq '
400: || ' where tl.name = :1 '
401: || ' and tq.transfer_id = tl.id)';
402:
403: msd_dem_common_utilities.log_debug(l_stmt);
404:
405: execute immediate l_stmt using fnd_profile.value('MSD_DEM_PRICE_LIST_PROFILE');
406:
407:
445:
446: fetch get_prl_code into l_prl_code;
447: exit when get_prl_code%notfound;
448:
449: msd_dem_common_utilities.log_message('Populating Price List: ' || l_prl_code);
450: msd_dem_common_utilities.log_debug('Populating Price List: ' || l_prl_code);
451:
452: l_list2 := replace(l_list2, l_prl_code||',' , '');
453:
446: fetch get_prl_code into l_prl_code;
447: exit when get_prl_code%notfound;
448:
449: msd_dem_common_utilities.log_message('Populating Price List: ' || l_prl_code);
450: msd_dem_common_utilities.log_debug('Populating Price List: ' || l_prl_code);
451:
452: l_list2 := replace(l_list2, l_prl_code||',' , '');
453:
454: process_prl(retcode, l_prl_code);
453:
454: process_prl(retcode, l_prl_code);
455:
456: if retcode = -1 or retcode = 1 then
457: msd_dem_common_utilities.log_message('Failed processing Price List: ' || l_prl_code);
458: msd_dem_common_utilities.log_debug('Failed Processing Price List: ' || l_prl_code);
459: was_retcode_1 := retcode;
460: goto continue;
461: end if;
454: process_prl(retcode, l_prl_code);
455:
456: if retcode = -1 or retcode = 1 then
457: msd_dem_common_utilities.log_message('Failed processing Price List: ' || l_prl_code);
458: msd_dem_common_utilities.log_debug('Failed Processing Price List: ' || l_prl_code);
459: was_retcode_1 := retcode;
460: goto continue;
461: end if;
462:
478: l_list2 := rtrim(l_list2, ',');
479:
480: if l_list2 is not null then
481: retcode := 1;
482: msd_dem_common_utilities.log_message('Following Price Lists dont exist in source: ' || l_list2);
483: msd_dem_common_utilities.log_debug('Following Price Lists dont exist in source: ' || l_list2);
484: end if;
485:
486:
479:
480: if l_list2 is not null then
481: retcode := 1;
482: msd_dem_common_utilities.log_message('Following Price Lists dont exist in source: ' || l_list2);
483: msd_dem_common_utilities.log_debug('Following Price Lists dont exist in source: ' || l_list2);
484: end if;
485:
486:
487: exception
485:
486:
487: exception
488: when others then
489: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
490: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
491: retcode := 1;
492:
493: end;
486:
487: exception
488: when others then
489: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
490: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
491: retcode := 1;
492:
493: end;
494:
547: unacc_list := rtrim(unacc_list, ',');
548: unacc_list := replace(unacc_list, '''', '');
549:
550: if unacc_list is not null then
551: msd_dem_common_utilities.log_message('The following price list names are not collected as they dont exist in the price list form or excluded by the user: ' || unacc_list);
552: msd_dem_common_utilities.log_debug('The following price list names are not collected as they dont exist in the price list form or excluded by the user: ' || unacc_list);
553:
554: if acc_list is not null then
555: retcode := 1;
548: unacc_list := replace(unacc_list, '''', '');
549:
550: if unacc_list is not null then
551: msd_dem_common_utilities.log_message('The following price list names are not collected as they dont exist in the price list form or excluded by the user: ' || unacc_list);
552: msd_dem_common_utilities.log_debug('The following price list names are not collected as they dont exist in the price list form or excluded by the user: ' || unacc_list);
553:
554: if acc_list is not null then
555: retcode := 1;
556: else
566: end if;
567:
568: exception
569: when others then
570: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
571: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
572: retcode := -1;
573:
574: end;
567:
568: exception
569: when others then
570: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
571: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
572: retcode := -1;
573:
574: end;
575:
603: filter_from_list(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list);
604:
605:
606: if retcode = -1 then
607: msd_dem_common_utilities.log_message('Price list collection cannot continue as no price lists are selected in the price list form');
608: msd_dem_common_utilities.log_debug('Price list collection cannot continue as no price lists are selected in the price list form');
609: retcode := -1;
610: return;
611: end if;
604:
605:
606: if retcode = -1 then
607: msd_dem_common_utilities.log_message('Price list collection cannot continue as no price lists are selected in the price list form');
608: msd_dem_common_utilities.log_debug('Price list collection cannot continue as no price lists are selected in the price list form');
609: retcode := -1;
610: return;
611: end if;
612:
610: return;
611: end if;
612:
613: if retcode = 0 then
614: msd_dem_common_utilities.log_message('Include Price List does not contain any price list among the price lists, which are selected in the price list form.');
615: msd_dem_common_utilities.log_debug('Include Price List does not contain any price list among the price lists, which are selected in the price list form.');
616: retcode := 0;
617: return;
618: end if;
611: end if;
612:
613: if retcode = 0 then
614: msd_dem_common_utilities.log_message('Include Price List does not contain any price list among the price lists, which are selected in the price list form.');
615: msd_dem_common_utilities.log_debug('Include Price List does not contain any price list among the price lists, which are selected in the price list form.');
616: retcode := 0;
617: return;
618: end if;
619:
650: l_key_values,
651: 0,
652: null);
653:
654: msd_dem_common_utilities.log_debug('Bind variables: ');
655: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
656: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
651: 0,
652: null);
653:
654: msd_dem_common_utilities.log_debug('Bind variables: ');
655: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
656: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
659: msd_dem_common_utilities.log_debug(l_stmt);
652: null);
653:
654: msd_dem_common_utilities.log_debug('Bind variables: ');
655: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
656: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
659: msd_dem_common_utilities.log_debug(l_stmt);
660:
654: msd_dem_common_utilities.log_debug('Bind variables: ');
655: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
656: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
659: msd_dem_common_utilities.log_debug(l_stmt);
660:
661: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
662: execute immediate l_stmt;
655: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
656: msd_dem_common_utilities.log_debug('p_instance_id: ' || p_instance_id);
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
659: msd_dem_common_utilities.log_debug(l_stmt);
660:
661: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
662: execute immediate l_stmt;
663: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
657:
658: msd_dem_common_utilities.log_debug('Executed Statement: ');
659: msd_dem_common_utilities.log_debug(l_stmt);
660:
661: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
662: execute immediate l_stmt;
663: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
664:
665: exception
659: msd_dem_common_utilities.log_debug(l_stmt);
660:
661: msd_dem_common_utilities.log_debug('Start Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
662: execute immediate l_stmt;
663: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
664:
665: exception
666: when others then
667: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
663: msd_dem_common_utilities.log_debug('End Time: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
664:
665: exception
666: when others then
667: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
668: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
669: retcode := -1;
670:
671: end;
664:
665: exception
666: when others then
667: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
668: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
669: retcode := -1;
670:
671: end;
672:
690: begin
691:
692: msd_dem_push_setup_parameters.push_setup_parameters(errbuf, retcode, p_instance_id, '-999');
693: if retcode = -1 then
694: msd_dem_common_utilities.log_message('Push Setup Parameters Failed');
695: msd_dem_common_utilities.log_debug('Push Setup Parameters Failed');
696: goto final;
697: end if;
698:
691:
692: msd_dem_push_setup_parameters.push_setup_parameters(errbuf, retcode, p_instance_id, '-999');
693: if retcode = -1 then
694: msd_dem_common_utilities.log_message('Push Setup Parameters Failed');
695: msd_dem_common_utilities.log_debug('Push Setup Parameters Failed');
696: goto final;
697: end if;
698:
699: if p_include_all = 1 and (p_include_prl_list is not null or p_exclude_prl_list is not null) then
696: goto final;
697: end if;
698:
699: if p_include_all = 1 and (p_include_prl_list is not null or p_exclude_prl_list is not null) then
700: msd_dem_common_utilities.log_message('Cannot specify both collect all and include or exclude list');
701: msd_dem_common_utilities.log_debug('Cannot specify both collect all and include or exclude list');
702: retcode := -1;
703: return;
704: end if;
697: end if;
698:
699: if p_include_all = 1 and (p_include_prl_list is not null or p_exclude_prl_list is not null) then
700: msd_dem_common_utilities.log_message('Cannot specify both collect all and include or exclude list');
701: msd_dem_common_utilities.log_debug('Cannot specify both collect all and include or exclude list');
702: retcode := -1;
703: return;
704: end if;
705:
704: end if;
705:
706: if p_include_all = 2 and p_include_prl_list is null and p_exclude_prl_list is null then
707:
708: msd_dem_common_utilities.log_message('Exactly one of the parameters Include Price Lists or Exclude Price Lists must be specified, when Collect All Price Lists is No');
709: msd_dem_common_utilities.log_debug('Exactly one of the parameters Include Price Lists or Exclude Price Lists must be specified, when Collect All Price Lists is No');
710: retcode := -1;
711: return;
712:
705:
706: if p_include_all = 2 and p_include_prl_list is null and p_exclude_prl_list is null then
707:
708: msd_dem_common_utilities.log_message('Exactly one of the parameters Include Price Lists or Exclude Price Lists must be specified, when Collect All Price Lists is No');
709: msd_dem_common_utilities.log_debug('Exactly one of the parameters Include Price Lists or Exclude Price Lists must be specified, when Collect All Price Lists is No');
710: retcode := -1;
711: return;
712:
713: end if;
713: end if;
714:
715: if p_include_all = 2 and p_include_prl_list is not null and p_exclude_prl_list is not null then
716:
717: msd_dem_common_utilities.log_message('Should not specify both include and exclude list');
718: msd_dem_common_utilities.log_debug('Should not specify both include and exclude list');
719: retcode := -1;
720: return;
721:
714:
715: if p_include_all = 2 and p_include_prl_list is not null and p_exclude_prl_list is not null then
716:
717: msd_dem_common_utilities.log_message('Should not specify both include and exclude list');
718: msd_dem_common_utilities.log_debug('Should not specify both include and exclude list');
719: retcode := -1;
720: return;
721:
722: end if;
721:
722: end if;
723:
724: if nvl(fnd_date.canonical_to_date(p_start_date), to_date('01-01-1900', 'DD-MM-YYYY')) > nvl(fnd_date.canonical_to_date(p_end_date), to_date('01-01-4000', 'DD-MM-YYYY')) then
725: msd_dem_common_utilities.log_message('From Date should not be greater than To Date');
726: msd_dem_common_utilities.log_debug('From Date should not be greater than To Date');
727: retcode := -1;
728: return;
729: end if;
722: end if;
723:
724: if nvl(fnd_date.canonical_to_date(p_start_date), to_date('01-01-1900', 'DD-MM-YYYY')) > nvl(fnd_date.canonical_to_date(p_end_date), to_date('01-01-4000', 'DD-MM-YYYY')) then
725: msd_dem_common_utilities.log_message('From Date should not be greater than To Date');
726: msd_dem_common_utilities.log_debug('From Date should not be greater than To Date');
727: retcode := -1;
728: return;
729: end if;
730:
727: retcode := -1;
728: return;
729: end if;
730:
731: msd_dem_common_utilities.log_message('Collecting Price Lists');
732: msd_dem_common_utilities.log_debug('Collecting Price Lists');
733:
734: msd_dem_common_utilities.log_message('Collecting Price Lists from source');
735: msd_dem_common_utilities.log_debug('Collecting Price Lists from source');
728: return;
729: end if;
730:
731: msd_dem_common_utilities.log_message('Collecting Price Lists');
732: msd_dem_common_utilities.log_debug('Collecting Price Lists');
733:
734: msd_dem_common_utilities.log_message('Collecting Price Lists from source');
735: msd_dem_common_utilities.log_debug('Collecting Price Lists from source');
736: collect_from_source(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list);
730:
731: msd_dem_common_utilities.log_message('Collecting Price Lists');
732: msd_dem_common_utilities.log_debug('Collecting Price Lists');
733:
734: msd_dem_common_utilities.log_message('Collecting Price Lists from source');
735: msd_dem_common_utilities.log_debug('Collecting Price Lists from source');
736: collect_from_source(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list);
737:
738: if retcode = -1 then
731: msd_dem_common_utilities.log_message('Collecting Price Lists');
732: msd_dem_common_utilities.log_debug('Collecting Price Lists');
733:
734: msd_dem_common_utilities.log_message('Collecting Price Lists from source');
735: msd_dem_common_utilities.log_debug('Collecting Price Lists from source');
736: collect_from_source(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list);
737:
738: if retcode = -1 then
739: return;
740: end if;
741:
742: retcode_store := retcode;
743:
744: msd_dem_common_utilities.log_message('Populating Price Lists in Demand Planning components');
745: msd_dem_common_utilities.log_debug('Populating Price Lists in Demand Planning components');
746: populate_demantra_prl_table(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list, nvl(fnd_date.canonical_to_date(p_start_date),
747: to_date('01-01-1900', 'DD-MM-YYYY')), nvl(fnd_date.canonical_to_date(p_end_date), to_date('01-01-4000', 'DD-MM-YYYY')));
748:
741:
742: retcode_store := retcode;
743:
744: msd_dem_common_utilities.log_message('Populating Price Lists in Demand Planning components');
745: msd_dem_common_utilities.log_debug('Populating Price Lists in Demand Planning components');
746: populate_demantra_prl_table(errbuf, retcode, p_instance_id, p_include_prl_list, p_exclude_prl_list, nvl(fnd_date.canonical_to_date(p_start_date),
747: to_date('01-01-1900', 'DD-MM-YYYY')), nvl(fnd_date.canonical_to_date(p_end_date), to_date('01-01-4000', 'DD-MM-YYYY')));
748:
749:
753: || ' ,' || get_lookup_value('MSD_DEM_TABLES', 'TRANSFER_QUERY') || ' tq '
754: || ' WHERE tl.name = ''' || fnd_profile.value('MSD_DEM_PRICE_LIST_PROFILE') || ''''
755: || ' AND tq.transfer_id = tl.id';
756:
757: msd_dem_common_utilities.log_debug ('Get data profile id stmt : ' || x_stmt);
758: EXECUTE IMMEDIATE x_stmt INTO x_profile_id;
759:
760: x_stmt := 'BEGIN '
761: || fnd_profile.value('MSD_DEM_SCHEMA') || '.'
762: || 'API_NOTIFY_APS_INTEGRATION('
763: || x_profile_id
764: ||'); end;';
765:
766: msd_dem_common_utilities.log_debug ('Refresh data profile stmt : ' || x_stmt);
767: EXECUTE IMMEDIATE x_stmt;
768:
769: EXCEPTION
770: WHEN OTHERS THEN
767: EXECUTE IMMEDIATE x_stmt;
768:
769: EXCEPTION
770: WHEN OTHERS THEN
771: msd_dem_common_utilities.log_message('WARNING: Failed to update the price list data profile');
772: END;
773:
774: commit;
775:
786: null;
787:
788: exception
789: when others then
790: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
791: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
792: retcode := -1;
793:
794: end;
787:
788: exception
789: when others then
790: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
791: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
792: retcode := -1;
793:
794: end;
795:
830: end if;
831:
832: /*l_list := p_list || ',';*/
833:
834: msd_dem_common_utilities.log_message('Deleting Price Lists');
835: msd_dem_common_utilities.log_debug('Deleting Price Lists');
836:
837: l_list := p_list;
838:
831:
832: /*l_list := p_list || ',';*/
833:
834: msd_dem_common_utilities.log_message('Deleting Price Lists');
835: msd_dem_common_utilities.log_debug('Deleting Price Lists');
836:
837: l_list := p_list;
838:
839: while length(l_list) > 0 loop
847: fetch entities_inuse_cur into l_internal_name,l_column_name;
848: close entities_inuse_cur;
849:
850: if l_internal_name is null then
851: msd_dem_common_utilities.log_message('Price List ' || cur_str || ' does not exist in Demantra');
852: msd_dem_common_utilities.log_debug('Price List ' || cur_str || ' does not exist in Demantra');
853: goto continue;
854: end if;
855:
848: close entities_inuse_cur;
849:
850: if l_internal_name is null then
851: msd_dem_common_utilities.log_message('Price List ' || cur_str || ' does not exist in Demantra');
852: msd_dem_common_utilities.log_debug('Price List ' || cur_str || ' does not exist in Demantra');
853: goto continue;
854: end if;
855:
856: begin
858: l_stmt_prl_display_unit_id := 'select display_units_id ' ||
859: ' from ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
860: ' where display_units = ''' || l_internal_name || '''';
861:
862: msd_dem_common_utilities.log_message(l_stmt_prl_display_unit_id);
863: msd_dem_common_utilities.log_debug(l_stmt_prl_display_unit_id);
864:
865: open get_prl_display_unit_id for l_stmt_prl_display_unit_id;
866: fetch get_prl_display_unit_id into l_display_unit_id;
859: ' from ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
860: ' where display_units = ''' || l_internal_name || '''';
861:
862: msd_dem_common_utilities.log_message(l_stmt_prl_display_unit_id);
863: msd_dem_common_utilities.log_debug(l_stmt_prl_display_unit_id);
864:
865: open get_prl_display_unit_id for l_stmt_prl_display_unit_id;
866: fetch get_prl_display_unit_id into l_display_unit_id;
867: close get_prl_display_unit_id;
868:
869: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'AVAIL_UNITS') ||
870: ' where display_units_id = :1';
871:
872: msd_dem_common_utilities.log_message(l_stmt_deletes);
873: msd_dem_common_utilities.log_debug(l_stmt_deletes);
874:
875: execute immediate l_stmt_deletes using l_display_unit_id;
876:
869: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'AVAIL_UNITS') ||
870: ' where display_units_id = :1';
871:
872: msd_dem_common_utilities.log_message(l_stmt_deletes);
873: msd_dem_common_utilities.log_debug(l_stmt_deletes);
874:
875: execute immediate l_stmt_deletes using l_display_unit_id;
876:
877: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') ||
876:
877: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') ||
878: ' where display_units_id = :1';
879:
880: msd_dem_common_utilities.log_message(l_stmt_deletes);
881: msd_dem_common_utilities.log_debug(l_stmt_deletes);
882:
883: execute immediate l_stmt_deletes using l_display_unit_id;
884:
877: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'DCM_PRODUCTS_UNITS') ||
878: ' where display_units_id = :1';
879:
880: msd_dem_common_utilities.log_message(l_stmt_deletes);
881: msd_dem_common_utilities.log_debug(l_stmt_deletes);
882:
883: execute immediate l_stmt_deletes using l_display_unit_id;
884:
885: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'INDEXES_FOR_UNITS') ||
884:
885: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'INDEXES_FOR_UNITS') ||
886: ' where display_units_id = :1';
887:
888: msd_dem_common_utilities.log_message(l_stmt_deletes);
889: msd_dem_common_utilities.log_debug(l_stmt_deletes);
890:
891: execute immediate l_stmt_deletes using l_display_unit_id;
892:
885: l_stmt_deletes := 'delete from ' || get_lookup_value('MSD_DEM_TABLES', 'INDEXES_FOR_UNITS') ||
886: ' where display_units_id = :1';
887:
888: msd_dem_common_utilities.log_message(l_stmt_deletes);
889: msd_dem_common_utilities.log_debug(l_stmt_deletes);
890:
891: execute immediate l_stmt_deletes using l_display_unit_id;
892:
893: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
892:
893: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
894: ' set display_units = :1 where display_units_id = :2';
895:
896: msd_dem_common_utilities.log_message(l_stmt_updates);
897: msd_dem_common_utilities.log_debug(l_stmt_updates);
898:
899: execute immediate l_stmt_updates using l_column_name, l_display_unit_id;
900:
893: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'DISPLAY_UNITS') ||
894: ' set display_units = :1 where display_units_id = :2';
895:
896: msd_dem_common_utilities.log_message(l_stmt_updates);
897: msd_dem_common_utilities.log_debug(l_stmt_updates);
898:
899: execute immediate l_stmt_updates using l_column_name, l_display_unit_id;
900:
901: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'COMPUTED_FIELDS') ||
901: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'COMPUTED_FIELDS') ||
902: ' set computed_title = :1 ' ||
903: ' where computed_name = :2 ';
904:
905: msd_dem_common_utilities.log_message(l_stmt_updates);
906: msd_dem_common_utilities.log_debug(l_stmt_updates);
907:
908: execute immediate l_stmt_updates using l_column_name, l_column_name;
909:
902: ' set computed_title = :1 ' ||
903: ' where computed_name = :2 ';
904:
905: msd_dem_common_utilities.log_message(l_stmt_updates);
906: msd_dem_common_utilities.log_debug(l_stmt_updates);
907:
908: execute immediate l_stmt_updates using l_column_name, l_column_name;
909:
910: l_stmt_deletes := 'delete from msd_dem_entities_inuse' ||
909:
910: l_stmt_deletes := 'delete from msd_dem_entities_inuse' ||
911: ' where internal_name = :1 and ebs_entity = ''PRL''';
912:
913: msd_dem_common_utilities.log_message(l_stmt_deletes);
914: msd_dem_common_utilities.log_debug(l_stmt_deletes);
915:
916: execute immediate l_stmt_deletes using l_internal_name;
917:
910: l_stmt_deletes := 'delete from msd_dem_entities_inuse' ||
911: ' where internal_name = :1 and ebs_entity = ''PRL''';
912:
913: msd_dem_common_utilities.log_message(l_stmt_deletes);
914: msd_dem_common_utilities.log_debug(l_stmt_deletes);
915:
916: execute immediate l_stmt_deletes using l_internal_name;
917:
918: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'SALES_DATA') ||
917:
918: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'SALES_DATA') ||
919: ' set ' || l_column_name || ' = null';
920:
921: msd_dem_common_utilities.log_message(l_stmt_updates);
922: msd_dem_common_utilities.log_debug(l_stmt_updates);
923:
924: execute immediate l_stmt_updates;
925:
918: l_stmt_updates := 'update ' || get_lookup_value('MSD_DEM_TABLES', 'SALES_DATA') ||
919: ' set ' || l_column_name || ' = null';
920:
921: msd_dem_common_utilities.log_message(l_stmt_updates);
922: msd_dem_common_utilities.log_debug(l_stmt_updates);
923:
924: execute immediate l_stmt_updates;
925:
926: commit;
924: execute immediate l_stmt_updates;
925:
926: commit;
927:
928: msd_dem_common_utilities.log_message('Deleted price list ' || l_internal_name);
929: msd_dem_common_utilities.log_debug('Deleted price list ' || l_internal_name);
930:
931: exception
932: when others then
925:
926: commit;
927:
928: msd_dem_common_utilities.log_message('Deleted price list ' || l_internal_name);
929: msd_dem_common_utilities.log_debug('Deleted price list ' || l_internal_name);
930:
931: exception
932: when others then
933: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
929: msd_dem_common_utilities.log_debug('Deleted price list ' || l_internal_name);
930:
931: exception
932: when others then
933: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
934: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
935: msd_dem_common_utilities.log_message('Failed deleting price list ' || l_internal_name);
936: msd_dem_common_utilities.log_debug('Failed deleting price list ' || l_internal_name);
937: retcode := 1;
930:
931: exception
932: when others then
933: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
934: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
935: msd_dem_common_utilities.log_message('Failed deleting price list ' || l_internal_name);
936: msd_dem_common_utilities.log_debug('Failed deleting price list ' || l_internal_name);
937: retcode := 1;
938:
931: exception
932: when others then
933: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
934: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
935: msd_dem_common_utilities.log_message('Failed deleting price list ' || l_internal_name);
936: msd_dem_common_utilities.log_debug('Failed deleting price list ' || l_internal_name);
937: retcode := 1;
938:
939: end;
932: when others then
933: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
934: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
935: msd_dem_common_utilities.log_message('Failed deleting price list ' || l_internal_name);
936: msd_dem_common_utilities.log_debug('Failed deleting price list ' || l_internal_name);
937: retcode := 1;
938:
939: end;
940:
946: retcode := 0;
947:
948: exception
949: when others then
950: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
951: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
952: retcode := -1;
953:
954: end;
947:
948: exception
949: when others then
950: msd_dem_common_utilities.log_message(substr(SQLERRM,1,150));
951: msd_dem_common_utilities.log_debug(substr(SQLERRM,1,150));
952: retcode := -1;
953:
954: end;
955: