DBA Data[Home] [Help]

APPS.BSC_AW_LOAD_DIM dependencies on DBMS_SQL

Line 9: procedure load_dim(p_dim_level_list dbms_sql.varchar2_table) is

5: the top procedure is called with a list of dim levels. from RSG, a list of dim levels affecting a kpi or base table
6: are passed in. we will resolve into aw dim and call procedure and pass in aw dim
7: this procedure must then resolve all info and load. in 10g, these procedures will be launched in parallel as jobs
8: */
9: procedure load_dim(p_dim_level_list dbms_sql.varchar2_table) is
10: Begin
11: --p_dim_level_list is an assorted list.can contain city,product, state etc
12: if g_debug then
13: log_n('Load Dim');

Line 26: procedure load_dim_levels(p_dim_level_list dbms_sql.varchar2_table) is

22: log_n('Exception in load_dim '||sqlerrm);
23: raise;
24: End;
25:
26: procedure load_dim_levels(p_dim_level_list dbms_sql.varchar2_table) is
27: l_dim_list dbms_sql.varchar2_table;
28: l_dim varchar2(300);
29: --
30: Begin

Line 27: l_dim_list dbms_sql.varchar2_table;

23: raise;
24: End;
25:
26: procedure load_dim_levels(p_dim_level_list dbms_sql.varchar2_table) is
27: l_dim_list dbms_sql.varchar2_table;
28: l_dim varchar2(300);
29: --
30: Begin
31: for i in 1..p_dim_level_list.count loop

Line 50: procedure load_dimensions(p_dim_list dbms_sql.varchar2_table) is

46: log_n('Exception in load_dim_levels '||sqlerrm);
47: raise;
48: End;
49:
50: procedure load_dimensions(p_dim_list dbms_sql.varchar2_table) is
51: l_parallel boolean;
52: Begin
53: --if 10g, we can launcg parallel jobs.
54: l_parallel:=false;

Line 70: procedure load_dim_if_needed(p_dim dbms_sql.varchar2_table) is

66: log_n('Exception in load_dimensions '||sqlerrm);
67: raise;
68: End;
69:
70: procedure load_dim_if_needed(p_dim dbms_sql.varchar2_table) is
71: --
72: l_load_dim dbms_sql.varchar2_table;
73: l_dim_lock dbms_sql.varchar2_table;
74: Begin

Line 72: l_load_dim dbms_sql.varchar2_table;

68: End;
69:
70: procedure load_dim_if_needed(p_dim dbms_sql.varchar2_table) is
71: --
72: l_load_dim dbms_sql.varchar2_table;
73: l_dim_lock dbms_sql.varchar2_table;
74: Begin
75: if g_debug then
76: log('load_dim_if_needed, the dimensions to check for load are');

Line 73: l_dim_lock dbms_sql.varchar2_table;

69:
70: procedure load_dim_if_needed(p_dim dbms_sql.varchar2_table) is
71: --
72: l_load_dim dbms_sql.varchar2_table;
73: l_dim_lock dbms_sql.varchar2_table;
74: Begin
75: if g_debug then
76: log('load_dim_if_needed, the dimensions to check for load are');
77: for i in 1..p_dim.count loop

Line 113: procedure load_aw_dim_jobs(p_dim_list dbms_sql.varchar2_table) is

109: log_n('Exception in load_dim_if_needed '||sqlerrm);
110: raise;
111: End;
112:
113: procedure load_aw_dim_jobs(p_dim_list dbms_sql.varchar2_table) is
114: --
115: l_job_name varchar2(100);
116: l_process varchar2(8000);
117: l_job_status bsc_aw_utility.parallel_job_tb;

Line 342: l_levels dbms_sql.varchar2_table;

338: raise;
339: End;
340:
341: procedure execute_dim_delete(p_dim_level_delete dim_level_delete_tv) is
342: l_levels dbms_sql.varchar2_table;
343: Begin
344: l_levels:=p_dim_level_delete('ALL').delete_values; --levels also include virtual rec dim parent level
345: for i in 1..l_levels.count loop
346: delete_dim_level_value(l_levels(i),p_dim_level_delete(l_levels(i)).delete_values);

Line 356: procedure delete_dim_level_value(p_dim_level varchar2,p_delete_values dbms_sql.varchar2_table) is

352:
353: /*bsc_aw_dim_delete is created by loader. so keep the sql dynamic
354: 5064802: when we delete values, we cannot be in multi attach mode. must get full rw lock
355: lock_dim_objects will lock the dim in full mode if there are deletes reqd*/
356: procedure delete_dim_level_value(p_dim_level varchar2,p_delete_values dbms_sql.varchar2_table) is
357: Begin
358: for i in 1..p_delete_values.count loop
359: bsc_aw_dbms_aw.execute('mnt '||p_dim_level||' delete '''||p_delete_values(i)||'''');
360: end loop;

Line 367: l_levels dbms_sql.varchar2_table;

363: raise;
364: End;
365:
366: procedure clean_bsc_aw_dim_delete(p_dim_level_delete dim_level_delete_tv) is
367: l_levels dbms_sql.varchar2_table;
368: l_stmt varchar2(4000);
369: Begin
370: l_levels:=p_dim_level_delete('ALL').delete_values;
371: for i in 1..l_levels.count loop

Line 401: procedure purge_dim(p_dim_level_list dbms_sql.varchar2_table) is

397:
398: /*
399: purge a dim completely from the given list of levels
400: */
401: procedure purge_dim(p_dim_level_list dbms_sql.varchar2_table) is
402: l_dim_list dbms_sql.varchar2_table;
403: l_dim varchar2(300);
404: Begin
405: for i in 1..p_dim_level_list.count loop

Line 402: l_dim_list dbms_sql.varchar2_table;

398: /*
399: purge a dim completely from the given list of levels
400: */
401: procedure purge_dim(p_dim_level_list dbms_sql.varchar2_table) is
402: l_dim_list dbms_sql.varchar2_table;
403: l_dim varchar2(300);
404: Begin
405: for i in 1..p_dim_level_list.count loop
406: bsc_aw_md_api.get_dim_for_level(p_dim_level_list(i),l_dim);

Line 428: l_kpi_list dbms_sql.varchar2_table;

424: */
425: procedure purge_dim(p_dim varchar2) is
426: --
427: l_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
428: l_kpi_list dbms_sql.varchar2_table;
429: Begin
430: if g_debug then
431: log_n('Purge dim '||p_dim);
432: end if;

Line 472: procedure dmp_dim_level_into_table(p_dim_level_list dbms_sql.varchar2_table) is

468: NO COMMIT!!!
469: remember: multiple dim loads can be happening. so we cannot have just one program for all
470: dim levels. the same level cannot be loaded in 2 sessions
471: */
472: procedure dmp_dim_level_into_table(p_dim_level_list dbms_sql.varchar2_table) is
473: Begin
474: for i in 1..p_dim_level_list.count loop
475: dmp_dim_level_into_table(upper(p_dim_level_list(i)));
476: end loop;

Line 518: l_kpi_limit_cubes dbms_sql.varchar2_table;

514: --
515: l_olap_object_relation bsc_aw_md_wrapper.bsc_olap_object_relation_tb;
516: l_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
517: l_dim_limit_cube varchar2(300);
518: l_kpi_limit_cubes dbms_sql.varchar2_table;
519: l_kpi_aggregate_markers dbms_sql.varchar2_table;
520: l_kpi_reset_cubes dbms_sql.varchar2_table;
521: l_statlen varchar2(200);
522: l_relation varchar2(200);

Line 519: l_kpi_aggregate_markers dbms_sql.varchar2_table;

515: l_olap_object_relation bsc_aw_md_wrapper.bsc_olap_object_relation_tb;
516: l_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
517: l_dim_limit_cube varchar2(300);
518: l_kpi_limit_cubes dbms_sql.varchar2_table;
519: l_kpi_aggregate_markers dbms_sql.varchar2_table;
520: l_kpi_reset_cubes dbms_sql.varchar2_table;
521: l_statlen varchar2(200);
522: l_relation varchar2(200);
523: Begin

Line 520: l_kpi_reset_cubes dbms_sql.varchar2_table;

516: l_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
517: l_dim_limit_cube varchar2(300);
518: l_kpi_limit_cubes dbms_sql.varchar2_table;
519: l_kpi_aggregate_markers dbms_sql.varchar2_table;
520: l_kpi_reset_cubes dbms_sql.varchar2_table;
521: l_statlen varchar2(200);
522: l_relation varchar2(200);
523: Begin
524: bsc_aw_md_api.get_bsc_olap_object_relation(null,null,'dim limit cube',p_dim,'dimension',l_olap_object_relation);

Line 593: l_lock_objects dbms_sql.varchar2_table;

589: End;
590:
591: procedure lock_dim_objects(p_dim varchar2,p_dim_delete boolean) is
592: --
593: l_lock_objects dbms_sql.varchar2_table;
594: Begin
595: if p_dim_delete then --full rw lock
596: bsc_aw_management.get_workspace_lock('rw',null);
597: else

Line 615: procedure get_dim_objects_to_lock(p_dim varchar2,p_lock_objects out nocopy dbms_sql.varchar2_table) is

611: we have to acquire locks and update in a certain order . else we get
612: ORA-37023: (XSMLTUPD01) Object workspace object cannot be updated without dimension workspace object.
613: we cannot update a relation before a dim. so when we get locks, we first get dim, then relations, then variables
614: */
615: procedure get_dim_objects_to_lock(p_dim varchar2,p_lock_objects out nocopy dbms_sql.varchar2_table) is
616: --
617: l_bsc_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
618: l_kpi_limit_cubes dbms_sql.varchar2_table;
619: l_kpi_reset_cubes dbms_sql.varchar2_table;

Line 618: l_kpi_limit_cubes dbms_sql.varchar2_table;

614: */
615: procedure get_dim_objects_to_lock(p_dim varchar2,p_lock_objects out nocopy dbms_sql.varchar2_table) is
616: --
617: l_bsc_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
618: l_kpi_limit_cubes dbms_sql.varchar2_table;
619: l_kpi_reset_cubes dbms_sql.varchar2_table;
620: l_kpi_aggregate_markers dbms_sql.varchar2_table;
621: l_objects dbms_sql.varchar2_table;
622: Begin

Line 619: l_kpi_reset_cubes dbms_sql.varchar2_table;

615: procedure get_dim_objects_to_lock(p_dim varchar2,p_lock_objects out nocopy dbms_sql.varchar2_table) is
616: --
617: l_bsc_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
618: l_kpi_limit_cubes dbms_sql.varchar2_table;
619: l_kpi_reset_cubes dbms_sql.varchar2_table;
620: l_kpi_aggregate_markers dbms_sql.varchar2_table;
621: l_objects dbms_sql.varchar2_table;
622: Begin
623: l_bsc_olap_object.delete;

Line 620: l_kpi_aggregate_markers dbms_sql.varchar2_table;

616: --
617: l_bsc_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
618: l_kpi_limit_cubes dbms_sql.varchar2_table;
619: l_kpi_reset_cubes dbms_sql.varchar2_table;
620: l_kpi_aggregate_markers dbms_sql.varchar2_table;
621: l_objects dbms_sql.varchar2_table;
622: Begin
623: l_bsc_olap_object.delete;
624: bsc_aw_md_api.get_bsc_olap_object(null,null,p_dim,'dimension',l_bsc_olap_object);

Line 621: l_objects dbms_sql.varchar2_table;

617: l_bsc_olap_object bsc_aw_md_wrapper.bsc_olap_object_tb;
618: l_kpi_limit_cubes dbms_sql.varchar2_table;
619: l_kpi_reset_cubes dbms_sql.varchar2_table;
620: l_kpi_aggregate_markers dbms_sql.varchar2_table;
621: l_objects dbms_sql.varchar2_table;
622: Begin
623: l_bsc_olap_object.delete;
624: bsc_aw_md_api.get_bsc_olap_object(null,null,p_dim,'dimension',l_bsc_olap_object);
625: for i in 1..l_bsc_olap_object.count loop

Line 731: l_dim_list dbms_sql.varchar2_table;

727: to handle cases where dim delete values are not yet in aw dim*/
728: procedure upgrade_load_sync_all_dim is
729: l_oo bsc_aw_md_wrapper.bsc_olap_object_tb;
730: l_dim varchar2(200);
731: l_dim_list dbms_sql.varchar2_table;
732: Begin
733: bsc_aw_md_api.get_bsc_olap_object(null,'dimension level',null,'dimension',l_oo);
734: for i in 1..l_oo.count loop
735: if bsc_aw_utility.get_parameter_value(l_oo(i).property1,'periodicity',',') is null then --this is not a calendar dim level

Line 787: l_levels dbms_sql.varchar2_table;

783: /*5074869 in the load programs, the delete values are handled only when the dim levels have parents. if this is the top level and
784: bsc_aw_dim_delete has values not in the dim, we can run into the issue of value not valid error
785: best way is to merge these delete values into the dim levels anyway */
786: procedure merge_delete_values_to_levels(p_dim_level_delete dim_level_delete_tv) is
787: l_levels dbms_sql.varchar2_table;
788: Begin
789: l_levels:=p_dim_level_delete('ALL').delete_values;
790: for i in 1..l_levels.count loop
791: for j in 1..p_dim_level_delete(l_levels(i)).delete_values.count loop