DBA Data[Home] [Help]

APPS.BSC_UPDATE_SUM dependencies on BSC_UPDATE_UTIL

Line 34: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);

30: BEGIN
31: h_yearly_flag := 0;
32: h_edw_flag := 0;
33:
34: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);
35: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);
36:
37: IF x_origin_periodicity = x_periodicity THEN
38: -- There is no periodicity change. The period of summary table

Line 35: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);

31: h_yearly_flag := 0;
32: h_edw_flag := 0;
33:
34: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);
35: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);
36:
37: IF x_origin_periodicity = x_periodicity THEN
38: -- There is no periodicity change. The period of summary table
39: -- is the origin period

Line 49: h_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);

45: h_period_summary_table := x_current_fy;
46:
47: ELSE
48: -- There is periodicity change
49: h_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);
50:
51: IF h_edw_flag = 0 THEN
52: -- BSC Periodicity
53: -- Note: We suppose that the change of periodicity is allowed

Line 55: h_origin_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);

51: IF h_edw_flag = 0 THEN
52: -- BSC Periodicity
53: -- Note: We suppose that the change of periodicity is allowed
54: -- (see bsc_sys_periodicites)
55: h_origin_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);
56: h_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);
57:
58: h_sql := 'SELECT DISTINCT '||h_calendar_col_name||
59: ' FROM bsc_db_calendar'||

Line 56: h_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);

52: -- BSC Periodicity
53: -- Note: We suppose that the change of periodicity is allowed
54: -- (see bsc_sys_periodicites)
55: h_origin_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);
56: h_calendar_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);
57:
58: h_sql := 'SELECT DISTINCT '||h_calendar_col_name||
59: ' FROM bsc_db_calendar'||
60: ' WHERE calendar_id = :1 AND year = :2'||

Line 89: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTBLE_PERIOD_CALC_FAILED'),

85: RETURN h_period_summary_table;
86:
87: EXCEPTION
88: WHEN e_unexpected_error THEN
89: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTBLE_PERIOD_CALC_FAILED'),
90: x_source => 'BSC_UPDATE_SUM.Calculate_Period_Summary_Table');
91: RETURN NULL;
92:
93: WHEN OTHERS THEN

Line 114: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

110: h_b BOOLEAN;
111:
112: h_current_fy NUMBER;
113:
114: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
115: h_num_origin_tables NUMBER;
116:
117: h_origin_period NUMBER;
118: h_origin_periodicity NUMBER;

Line 127: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

123: -- Generation type: Total or balance
124: h_generation_type NUMBER;
125:
126: -- Data columns information
127: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
128: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
129: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
131: h_num_data_columns NUMBER;

Line 128: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;

124: h_generation_type NUMBER;
125:
126: -- Data columns information
127: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
128: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
129: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
131: h_num_data_columns NUMBER;
132:

Line 129: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;

125:
126: -- Data columns information
127: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
128: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
129: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
131: h_num_data_columns NUMBER;
132:
133: -- Key column information

Line 130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;

126: -- Data columns information
127: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
128: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
129: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
131: h_num_data_columns NUMBER;
132:
133: -- Key column information
134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

Line 134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

130: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
131: h_num_data_columns NUMBER;
132:
133: -- Key column information
134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
135: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
136: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
137: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
138: h_num_key_columns NUMBER;

Line 135: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

131: h_num_data_columns NUMBER;
132:
133: -- Key column information
134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
135: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
136: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
137: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
138: h_num_key_columns NUMBER;
139:

Line 136: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

132:
133: -- Key column information
134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
135: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
136: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
137: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
138: h_num_key_columns NUMBER;
139:
140: -- Key column information for the origin tables

Line 137: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

133: -- Key column information
134: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
135: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
136: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
137: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
138: h_num_key_columns NUMBER;
139:
140: -- Key column information for the origin tables
141: -- All origin tables have the same dissagregation

Line 142: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

138: h_num_key_columns NUMBER;
139:
140: -- Key column information for the origin tables
141: -- All origin tables have the same dissagregation
142: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
143: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
144: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
145: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
146: h_num_key_columns_ori NUMBER;

Line 143: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

139:
140: -- Key column information for the origin tables
141: -- All origin tables have the same dissagregation
142: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
143: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
144: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
145: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
146: h_num_key_columns_ori NUMBER;
147:

Line 144: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

140: -- Key column information for the origin tables
141: -- All origin tables have the same dissagregation
142: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
143: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
144: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
145: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
146: h_num_key_columns_ori NUMBER;
147:
148: -- Projection flag

Line 145: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

141: -- All origin tables have the same dissagregation
142: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
143: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
144: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
145: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
146: h_num_key_columns_ori NUMBER;
147:
148: -- Projection flag
149: h_projection_flag VARCHAR2(3);

Line 189: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));

185:
186: -- Get the periodicity of the origin tables.
187: -- If a summary table comes from several tables, all origin tables have the
188: -- same periodicity
189: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));
190: IF h_origin_periodicity IS NULL THEN
191: RAISE e_unexpected_error;
192: END IF;
193:

Line 195: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);

191: RAISE e_unexpected_error;
192: END IF;
193:
194: -- Get the periodicity of the summary table
195: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);
196: IF h_periodicity IS NULL THEN
197: RAISE e_unexpected_error;
198: END IF;
199:

Line 201: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);

197: RAISE e_unexpected_error;
198: END IF;
199:
200: -- Get the calendar id of the summary table
201: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
202: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
203:
204: -- Get the current fiscal year
205: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);

Line 202: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);

198: END IF;
199:
200: -- Get the calendar id of the summary table
201: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
202: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
203:
204: -- Get the current fiscal year
205: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
206:

Line 205: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);

201: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
202: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
203:
204: -- Get the current fiscal year
205: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
206:
207: -- Get the number of years and previous years of the table
208: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN
209: RAISE e_unexpected_error;

Line 208: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN

204: -- Get the current fiscal year
205: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
206:
207: -- Get the number of years and previous years of the table
208: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN
209: RAISE e_unexpected_error;
210: END IF;
211:
212: --BSC-MV Note: EDW logic need to be reviews in the future

Line 242: h_generation_type := BSC_UPDATE_UTIL.Get_Table_Generation_Type(x_sum_table);

238:
239: -- Retrieve information of summary table to be processed
240:
241: -- Summary table generation type: Normal (Total or Balance data fields = 1 (default))
242: h_generation_type := BSC_UPDATE_UTIL.Get_Table_Generation_Type(x_sum_table);
243: IF h_generation_type IS NULL THEN
244: RAISE e_unexpected_error;
245: END IF;
246:

Line 248: IF NOT BSC_UPDATE_UTIL.Get_Information_Data_Columns(x_sum_table,

244: RAISE e_unexpected_error;
245: END IF;
246:
247: -- Information of data columns of summary table
248: IF NOT BSC_UPDATE_UTIL.Get_Information_Data_Columns(x_sum_table,
249: h_data_columns,
250: h_data_formulas,
251: h_data_proj_methods,
252: h_data_measure_types,

Line 258: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(x_sum_table,

254: RAISE e_unexpected_error;
255: END IF;
256:
257: -- Information of key columns of summary table
258: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(x_sum_table,
259: h_key_columns,
260: h_key_dim_tables,
261: h_source_columns,
262: h_source_dim_tables,

Line 270: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(h_origin_tables(1),

266:
267: -- Information of key columns of origin tables
268: -- All origin tables have the same dissagregation
269: -- I just need the array h_key_columns_ori.
270: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(h_origin_tables(1),
271: h_key_columns_ori,
272: h_key_dim_tables_ori,
273: h_source_columns_ori,
274: h_source_dim_tables_ori,

Line 338: --IF BSC_UPDATE_UTIL.Is_EDW_Kpi_Table(x_sum_table) THEN

334:
335: --BSC-MV Note: EDW logic need to be reviewed in the future
336: -- EDW Note: If this table is used directly by an EDW Kpi then this table has a corresponding
337: -- materialized view with actuals
338: --IF BSC_UPDATE_UTIL.Is_EDW_Kpi_Table(x_sum_table) THEN
339: -- -- Refresh materialized view
340: -- -- Refresh union view
341: -- -- Delete from BSC table any data existing in the materialized view
342: -- -- Period of the base table is the maximun reported in the materialized view

Line 432: h_target_flag := BSC_UPDATE_UTIL.Get_Table_Target_Flag(x_sum_table);

428: --Also:
429: -- - If this table is receiving targets we need to re-calculate zero code for the keys that already
430: -- has zero code in the summary table.
431: -- - We do not need to calculate zero code on tables used only for targets
432: h_target_flag := BSC_UPDATE_UTIL.Get_Table_Target_Flag(x_sum_table);
433: IF h_target_flag = 0 THEN
434: h_zero_code_calc_method := 4; -- This is the only zero code method supported;
435: IF NOT BSC_UPDATE_CALC.Calculate_Zero_Code(x_sum_table,
436: h_zero_code_calc_method,

Line 460: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),

456:
457: EXCEPTION
458: WHEN e_unexpected_error THEN
459: ROLLBACK;
460: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),
461: x_source => 'BSC_UPDATE_SUM.Calculate_Sum_Table');
462: RETURN FALSE;
463:
464: WHEN OTHERS THEN

Line 492: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

488: | FUNCTION Calculate_Sum_Table_MV
489: +============================================================================*/
490: FUNCTION Calculate_Sum_Table_MV(
491: x_sum_table IN VARCHAR2,
492: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
493: x_num_calculated_sys_tables IN NUMBER,
494: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
495: x_num_system_tables IN NUMBER
496: ) RETURN BOOLEAN IS

Line 494: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

490: FUNCTION Calculate_Sum_Table_MV(
491: x_sum_table IN VARCHAR2,
492: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
493: x_num_calculated_sys_tables IN NUMBER,
494: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
495: x_num_system_tables IN NUMBER
496: ) RETURN BOOLEAN IS
497:
498: e_unexpected_error EXCEPTION;

Line 504: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

500: h_b BOOLEAN;
501:
502: h_current_fy NUMBER;
503:
504: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
505: h_num_origin_tables NUMBER;
506:
507: h_origin_period NUMBER;
508: h_origin_periodicity NUMBER;

Line 517: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

513: -- Generation type: Total or balance
514: h_generation_type NUMBER;
515:
516: -- Data columns information
517: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
518: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
519: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
521: h_num_data_columns NUMBER;

Line 518: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;

514: h_generation_type NUMBER;
515:
516: -- Data columns information
517: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
518: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
519: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
521: h_num_data_columns NUMBER;
522:

Line 519: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;

515:
516: -- Data columns information
517: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
518: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
519: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
521: h_num_data_columns NUMBER;
522:
523: -- Key column information

Line 520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;

516: -- Data columns information
517: h_data_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
518: h_data_formulas BSC_UPDATE_UTIL.t_array_of_varchar2;
519: h_data_proj_methods BSC_UPDATE_UTIL.t_array_of_number;
520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
521: h_num_data_columns NUMBER;
522:
523: -- Key column information
524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

Line 524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

520: h_data_measure_types BSC_UPDATE_UTIL.t_array_of_number;
521: h_num_data_columns NUMBER;
522:
523: -- Key column information
524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
525: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
526: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
527: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
528: h_num_key_columns NUMBER;

Line 525: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

521: h_num_data_columns NUMBER;
522:
523: -- Key column information
524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
525: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
526: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
527: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
528: h_num_key_columns NUMBER;
529:

Line 526: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;

522:
523: -- Key column information
524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
525: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
526: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
527: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
528: h_num_key_columns NUMBER;
529:
530: -- Key column information for the origin tables

Line 527: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

523: -- Key column information
524: h_key_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
525: h_key_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
526: h_source_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
527: h_source_dim_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
528: h_num_key_columns NUMBER;
529:
530: -- Key column information for the origin tables
531: -- All origin tables have the same dissagregation

Line 532: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

528: h_num_key_columns NUMBER;
529:
530: -- Key column information for the origin tables
531: -- All origin tables have the same dissagregation
532: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
533: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
534: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
535: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
536: h_num_key_columns_ori NUMBER;

Line 533: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

529:
530: -- Key column information for the origin tables
531: -- All origin tables have the same dissagregation
532: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
533: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
534: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
535: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
536: h_num_key_columns_ori NUMBER;
537:

Line 534: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

530: -- Key column information for the origin tables
531: -- All origin tables have the same dissagregation
532: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
533: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
534: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
535: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
536: h_num_key_columns_ori NUMBER;
537:
538: -- Projection flag

Line 535: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;

531: -- All origin tables have the same dissagregation
532: h_key_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
533: h_key_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
534: h_source_columns_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
535: h_source_dim_tables_ori BSC_UPDATE_UTIL.t_array_of_varchar2;
536: h_num_key_columns_ori NUMBER;
537:
538: -- Projection flag
539: h_projection_flag VARCHAR2(3);

Line 567: h_origin_pts BSC_UPDATE_UTIL.t_array_of_varchar2;

563:
564: h_pt_name VARCHAR2(30);
565: h_process_pt BOOLEAN;
566: h_origin_pt_name VARCHAR2(30);
567: h_origin_pts BSC_UPDATE_UTIL.t_array_of_varchar2;
568: h_num_origin_pts NUMBER;
569:
570: CURSOR c_other_tables (p_pt_name VARCHAR2, p_table_name VARCHAR2) IS
571: SELECT DISTINCT kt.table_name, t.project_flag

Line 641: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));

637:
638: -- Get the periodicity of the origin tables.
639: -- If a summary table comes from several tables, all origin tables have the
640: -- same periodicity
641: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));
642: IF h_origin_periodicity IS NULL THEN
643: RAISE e_unexpected_error;
644: END IF;
645:

Line 647: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);

643: RAISE e_unexpected_error;
644: END IF;
645:
646: -- Get the periodicity of the summary table
647: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);
648: IF h_periodicity IS NULL THEN
649: RAISE e_unexpected_error;
650: END IF;
651:

Line 653: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);

649: RAISE e_unexpected_error;
650: END IF;
651:
652: -- Get the calendar id of the summary table
653: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
654: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
655:
656: -- Get the current fiscal year
657: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);

Line 654: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);

650: END IF;
651:
652: -- Get the calendar id of the summary table
653: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
654: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
655:
656: -- Get the current fiscal year
657: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
658:

Line 657: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);

653: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
654: h_calendar_edw_flag := BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id);
655:
656: -- Get the current fiscal year
657: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
658:
659: -- Get the number of years and previous years of the table
660: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN
661: RAISE e_unexpected_error;

Line 660: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN

656: -- Get the current fiscal year
657: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
658:
659: -- Get the number of years and previous years of the table
660: IF NOT BSC_UPDATE_UTIL.Get_Table_Range_Of_Years(x_sum_table, h_num_of_years, h_previous_years) THEN
661: RAISE e_unexpected_error;
662: END IF;
663:
664: -- Calculate the current period of summary table

Line 685: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_mv_name,

681: -- has data for different periodicities.
682: -- Note: The api to refresh the MV does not fail if the MV does not exists
683: -- or if the MV is actually a normal view
684: h_mv_name := BSC_BIA_WRAPPER.Get_Sum_Table_MV_Name(x_sum_table);
685: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_mv_name,
686: g_refreshed_mvs,
687: g_num_refreshed_mvs) THEN
688:
689: IF NOT BSC_BIA_WRAPPER.Refresh_Summary_MV(h_mv_name, h_error_refresh) THEN

Line 761: IF BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_other_table_name,

757: IF h_other_project_flag = 1 THEN
758: h_projection_flag := 'YES';
759: END IF;
760:
761: IF BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_other_table_name,
762: x_system_tables,
763: x_num_system_tables) THEN
764: -- The other table was or is going to be calculated in this process
765: -- Now check that it was already calculated

Line 766: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_other_table_name,

762: x_system_tables,
763: x_num_system_tables) THEN
764: -- The other table was or is going to be calculated in this process
765: -- Now check that it was already calculated
766: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_other_table_name,
767: x_calculated_sys_tables,
768: x_num_calculated_sys_tables) THEN
769: -- The other table has not been calculated, so we cannot process the PT
770: -- table right now

Line 781: IF NOT BSC_UPDATE_UTIL.Get_Information_Data_Columns(x_sum_table,

777: END IF;
778:
779: IF h_process_pt THEN
780: -- Information of data columns of summary table
781: IF NOT BSC_UPDATE_UTIL.Get_Information_Data_Columns(x_sum_table,
782: h_data_columns,
783: h_data_formulas,
784: h_data_proj_methods,
785: h_data_measure_types,

Line 791: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(x_sum_table,

787: RAISE e_unexpected_error;
788: END IF;
789:
790: -- Information of key columns of summary table
791: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(x_sum_table,
792: h_key_columns,
793: h_key_dim_tables,
794: h_source_columns,
795: h_source_dim_tables,

Line 803: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(h_origin_tables(1),

799:
800: -- Information of key columns of origin tables
801: -- All origin tables have the same dissagregation
802: -- I just need the array h_key_columns_ori.
803: IF NOT BSC_UPDATE_UTIL.Get_Information_Key_Columns(h_origin_tables(1),
804: h_key_columns_ori,
805: h_key_dim_tables_ori,
806: h_source_columns_ori,
807: h_source_dim_tables_ori,

Line 867: BSC_UPDATE_UTIL.Truncate_Table(h_pt_name);

863: -- The projection calculation must be in order. Fisrt the base periodicities
864: -- and the the others.
865:
866: -- Truncate the table
867: BSC_UPDATE_UTIL.Truncate_Table(h_pt_name);
868:
869: -- Initilize a global array with the relations between periodicities
870: IF NOT BSC_UPDATE_UTIL.Load_Periodicity_Rels THEN
871: RAISE e_unexpected_error;

Line 870: IF NOT BSC_UPDATE_UTIL.Load_Periodicity_Rels THEN

866: -- Truncate the table
867: BSC_UPDATE_UTIL.Truncate_Table(h_pt_name);
868:
869: -- Initilize a global array with the relations between periodicities
870: IF NOT BSC_UPDATE_UTIL.Load_Periodicity_Rels THEN
871: RAISE e_unexpected_error;
872: END IF;
873:
874: -- Get all the periodicities of the PT table

Line 894: IF BSC_UPDATE_UTIL.Exist_Periodicity_Rel(h_arr_pt_periodicities(h_i).periodicity_id,

890: -- Get the source periodicity and source current period of each periodicity.
891: FOR h_i IN 1..h_num_pt_periodicities LOOP
892: FOR h_j IN 1..h_num_pt_periodicities LOOP
893: IF h_i <> h_j THEN
894: IF BSC_UPDATE_UTIL.Exist_Periodicity_Rel(h_arr_pt_periodicities(h_i).periodicity_id,
895: h_arr_pt_periodicities(h_j).periodicity_id) THEN
896: h_arr_pt_periodicities(h_i).source_periodicity := h_arr_pt_periodicities(h_j).periodicity_id;
897: h_arr_pt_periodicities(h_i).source_current_period := h_arr_pt_periodicities(h_j).current_period;
898: END IF;

Line 905: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PROJ_CALC');

901: END LOOP;
902:
903: -- Calculate the projection in order
904: --ENH_PROJECTION_4235711: We can only truncate the projection table here
905: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PROJ_CALC');
906: LOOP
907: FOR h_i IN 1..h_num_pt_periodicities LOOP
908: IF NOT h_arr_pt_periodicities(h_i).calculated THEN
909: IF (h_arr_pt_periodicities(h_i).yearly_flag = 1) OR

Line 1012: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PROJ_CALC');

1008: RAISE e_unexpected_error;
1009: END IF;
1010:
1011: -- Fix bug#4463132: Truncate temporary table after use
1012: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PROJ_CALC');
1013: END IF;
1014:
1015: -- BSC-MV Note: There is no need to calculate filters here. The MV already is filtered
1016: -- and there is no cases where the summary table is based on T or B tables.

Line 1066: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),

1062:
1063: EXCEPTION
1064: WHEN e_unexpected_error THEN
1065: ROLLBACK;
1066: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),
1067: x_source => 'BSC_UPDATE_SUM.Calculate_Sum_Table_MV');
1068: RETURN FALSE;
1069:
1070: WHEN e_error_refresh THEN

Line 1096: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1092: | FUNCTION Calculate_Sum_Table_MV_AT
1093: +============================================================================*/
1094: FUNCTION Calculate_Sum_Table_MV_AT(
1095: x_sum_table IN VARCHAR2,
1096: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1097: x_num_calculated_sys_tables IN NUMBER,
1098: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1099: x_num_system_tables IN NUMBER
1100: ) RETURN BOOLEAN IS

Line 1098: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1094: FUNCTION Calculate_Sum_Table_MV_AT(
1095: x_sum_table IN VARCHAR2,
1096: x_calculated_sys_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1097: x_num_calculated_sys_tables IN NUMBER,
1098: x_system_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1099: x_num_system_tables IN NUMBER
1100: ) RETURN BOOLEAN IS
1101: PRAGMA AUTONOMOUS_TRANSACTION;
1102: h_b BOOLEAN;

Line 1122: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

1118:
1119: e_unexpected_error EXCEPTION;
1120:
1121: h_current_fy NUMBER;
1122: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
1123: h_num_origin_tables NUMBER;
1124: h_origin_period NUMBER;
1125: h_origin_periodicity NUMBER;
1126: h_period NUMBER;

Line 1150: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));

1146:
1147: -- Get the periodicity of the origin tables.
1148: -- If a summary table comes from several tables, all origin tables have the
1149: -- same periodicity
1150: h_origin_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(h_origin_tables(1));
1151: IF h_origin_periodicity IS NULL THEN
1152: RAISE e_unexpected_error;
1153: END IF;
1154:

Line 1156: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);

1152: RAISE e_unexpected_error;
1153: END IF;
1154:
1155: -- Get the periodicity of the summary table
1156: h_periodicity := BSC_UPDATE_UTIL.Get_Table_Periodicity(x_sum_table);
1157: IF h_periodicity IS NULL THEN
1158: RAISE e_unexpected_error;
1159: END IF;
1160:

Line 1161: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);

1157: IF h_periodicity IS NULL THEN
1158: RAISE e_unexpected_error;
1159: END IF;
1160:
1161: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
1162:
1163: -- Get the current fiscal year
1164: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
1165:

Line 1164: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);

1160:
1161: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(h_periodicity);
1162:
1163: -- Get the current fiscal year
1164: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
1165:
1166: -- Calculate the current period of summary table
1167: h_period := Calculate_Period_Summary_Table(h_periodicity,
1168: h_origin_periodicity,

Line 1189: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),

1185:
1186: EXCEPTION
1187: WHEN e_unexpected_error THEN
1188: ROLLBACK;
1189: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),
1190: x_source => 'BSC_UPDATE_SUM.Calculate_Sum_Table_AW');
1191: RETURN FALSE;
1192:
1193: WHEN OTHERS THEN

Line 1222: x_key_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1218: | FUNCTION Calculate_Sum_Table_Total
1219: +============================================================================*/
1220: FUNCTION Calculate_Sum_Table_Total(
1221: x_sum_table IN VARCHAR2,
1222: x_key_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,

Line 1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1219: +============================================================================*/
1220: FUNCTION Calculate_Sum_Table_Total(
1221: x_sum_table IN VARCHAR2,
1222: x_key_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,

Line 1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1220: FUNCTION Calculate_Sum_Table_Total(
1221: x_sum_table IN VARCHAR2,
1222: x_key_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,

Line 1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1221: x_sum_table IN VARCHAR2,
1222: x_key_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,

Line 1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1223: x_key_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,
1230: x_num_data_columns IN NUMBER,
1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

Line 1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1224: x_source_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,
1230: x_num_data_columns IN NUMBER,
1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1232: x_num_origin_tables IN NUMBER,

Line 1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,

1225: x_source_dim_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1226: x_num_key_columns IN NUMBER,
1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,
1230: x_num_data_columns IN NUMBER,
1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1232: x_num_origin_tables IN NUMBER,
1233: x_key_columns_ori IN BSC_UPDATE_UTIL.t_array_of_varchar2,

Line 1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1227: x_data_columns IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1228: x_data_formulas IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,
1230: x_num_data_columns IN NUMBER,
1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1232: x_num_origin_tables IN NUMBER,
1233: x_key_columns_ori IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1234: x_num_key_columns_ori IN NUMBER,
1235: x_periodicity IN NUMBER,

Line 1233: x_key_columns_ori IN BSC_UPDATE_UTIL.t_array_of_varchar2,

1229: x_data_measure_types IN BSC_UPDATE_UTIL.t_array_of_number,
1230: x_num_data_columns IN NUMBER,
1231: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1232: x_num_origin_tables IN NUMBER,
1233: x_key_columns_ori IN BSC_UPDATE_UTIL.t_array_of_varchar2,
1234: x_num_key_columns_ori IN NUMBER,
1235: x_periodicity IN NUMBER,
1236: x_origin_periodicity IN NUMBER,
1237: x_period IN NUMBER,

Line 1288: l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_number;

1284: h_union_table VARCHAR2(30);
1285: h_cond_zero_codes_src VARCHAR2(32000);
1286:
1287: -- Bind var fix for Posco
1288: l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_number;
1289: l_num_bind_vars NUMBER;
1290:
1291: l_parallel_hint varchar2(20000);
1292: l_parallel_hint1 varchar2(20000);

Line 1295: h_key_columns_ori_temp BSC_UPDATE_UTIL.t_array_of_varchar2;

1291: l_parallel_hint varchar2(20000);
1292: l_parallel_hint1 varchar2(20000);
1293: l_parallel_hint2 varchar2(20000);
1294:
1295: h_key_columns_ori_temp BSC_UPDATE_UTIL.t_array_of_varchar2;
1296: h_lst_key_columns_ori_temp VARCHAR2(32000);
1297:
1298: h_key VARCHAR(100);
1299:

Line 1300: h_key_columns_temp BSC_UPDATE_UTIL.t_array_of_varchar2;

1296: h_lst_key_columns_ori_temp VARCHAR2(32000);
1297:
1298: h_key VARCHAR(100);
1299:
1300: h_key_columns_temp BSC_UPDATE_UTIL.t_array_of_varchar2;
1301: h_lst_key_columns_temp VARCHAR2(32000);
1302:
1303: h_lst_tot_data_columns_temp VARCHAR2(32000);
1304: h_lst_bal_data_columns_temp VARCHAR2(32000);

Line 1313: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

1309: h_lst_tot_data_columns_temp_p VARCHAR2(32000);
1310: h_lst_tot_data_columns_p VARCHAR2(32000);
1311:
1312: -- ENH_B_TABLES_PERF: new variable
1313: h_origin_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
1314: h_proj_table_name VARCHAR2(30);
1315: h_union_table_from VARCHAR2(32000);
1316:
1317: BEGIN

Line 1364: h_periodicity_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);

1360: h_key_columns_temp(h_i) := 'KEY'||h_i;
1361: END LOOP;
1362:
1363: -- Some information about the periodicity
1364: h_periodicity_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);
1365: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);
1366: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);
1367:
1368: -- BSC-MV Note: In this architecture, the summary table is the projection table

Line 1365: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);

1361: END LOOP;
1362:
1363: -- Some information about the periodicity
1364: h_periodicity_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);
1365: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);
1366: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);
1367:
1368: -- BSC-MV Note: In this architecture, the summary table is the projection table
1369: -- create for targets at different levels.

Line 1366: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);

1362:
1363: -- Some information about the periodicity
1364: h_periodicity_edw_flag := BSC_UPDATE_UTIL.Get_Periodicity_EDW_Flag(x_periodicity);
1365: h_yearly_flag := BSC_UPDATE_UTIL.Get_Periodicity_Yearly_Flag(x_periodicity);
1366: h_calendar_id := BSC_UPDATE_UTIL.Get_Calendar_Id(x_periodicity);
1367:
1368: -- BSC-MV Note: In this architecture, the summary table is the projection table
1369: -- create for targets at different levels.
1370: -- It contains all periodicities and columns PERIODICITY_ID and PERIOD_TYPE_ID.

Line 1423: h_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);

1419: -- Create a temporal table to make the change of periodicity between
1420: -- the origin tables and the summary table
1421: IF h_periodicity_edw_flag = 0 THEN
1422: -- BSC periodicity
1423: h_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);
1424: h_origin_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);
1425: h_period_map_table := 'bsc_db_calendar';
1426: h_period_map_condition := 'calendar_id = :1';
1427: l_bind_vars_values.delete;

Line 1424: h_origin_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);

1420: -- the origin tables and the summary table
1421: IF h_periodicity_edw_flag = 0 THEN
1422: -- BSC periodicity
1423: h_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_periodicity);
1424: h_origin_period_col_name := BSC_UPDATE_UTIL.Get_Calendar_Table_Col_Name(x_origin_periodicity);
1425: h_period_map_table := 'bsc_db_calendar';
1426: h_period_map_condition := 'calendar_id = :1';
1427: l_bind_vars_values.delete;
1428: l_bind_vars_values(1) := h_calendar_id;

Line 1443: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1439:
1440: IF h_num_tot_data_columns > 0 THEN
1441: -- Clean current records from bsc_tmp_per_change
1442: --h_sql := 'DELETE FROM bsc_tmp_per_change';
1443: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1444: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
1445:
1446: IF h_yearly_flag <> 1 THEN
1447: h_sql := 'INSERT /*+ append ';

Line 1444: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');

1440: IF h_num_tot_data_columns > 0 THEN
1441: -- Clean current records from bsc_tmp_per_change
1442: --h_sql := 'DELETE FROM bsc_tmp_per_change';
1443: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1444: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
1445:
1446: IF h_yearly_flag <> 1 THEN
1447: h_sql := 'INSERT /*+ append ';
1448: if BSC_UPDATE_UTIL.is_parallel then

Line 1448: if BSC_UPDATE_UTIL.is_parallel then

1444: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
1445:
1446: IF h_yearly_flag <> 1 THEN
1447: h_sql := 'INSERT /*+ append ';
1448: if BSC_UPDATE_UTIL.is_parallel then
1449: h_sql:=h_sql||'parallel (bsc_tmp_per_change) ';
1450: end if;
1451: h_sql:=h_sql||' */';
1452: h_sql:=h_sql||'INTO bsc_tmp_per_change (year, src_per, trg_per)'||

Line 1454: if BSC_UPDATE_UTIL.is_parallel then

1450: end if;
1451: h_sql:=h_sql||' */';
1452: h_sql:=h_sql||'INTO bsc_tmp_per_change (year, src_per, trg_per)'||
1453: ' SELECT ';
1454: if BSC_UPDATE_UTIL.is_parallel then
1455: h_sql:=h_sql||'/*+ parallel ('||h_period_map_table||')*/ ';
1456: end if;
1457: h_sql:=h_sql||
1458: 'DISTINCT year, '||h_origin_period_col_name||' AS src_per, '||

Line 1468: if BSC_UPDATE_UTIL.is_parallel then

1464: END IF;
1465: ELSE
1466: -- Anual periodicity
1467: h_sql := 'INSERT /*+ append ';
1468: if BSC_UPDATE_UTIL.is_parallel then
1469: h_sql:=h_sql||'parallel (bsc_tmp_per_change) ';
1470: end if;
1471: h_sql:=h_sql||' */';
1472: h_sql:=h_sql||'INTO bsc_tmp_per_change (year, src_per, trg_per)'||

Line 1474: if BSC_UPDATE_UTIL.is_parallel then

1470: end if;
1471: h_sql:=h_sql||' */';
1472: h_sql:=h_sql||'INTO bsc_tmp_per_change (year, src_per, trg_per)'||
1473: ' SELECT ';
1474: if BSC_UPDATE_UTIL.is_parallel then
1475: h_sql:=h_sql||'/*+ parallel ('||h_period_map_table||')*/ ';
1476: end if;
1477: h_sql:=h_sql||'DISTINCT year, '||h_origin_period_col_name||' AS src_per, 0 AS trg_per'||
1478: ' FROM '||h_period_map_table;

Line 1484: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1480: IF h_period_map_condition IS NOT NULL THEN
1481: h_sql := h_sql||' WHERE '||h_period_map_condition;
1482: END IF;
1483: END IF;
1484: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1485: commit;
1486: END IF;
1487:
1488: IF h_num_bal_data_columns > 0 THEN

Line 1491: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1487:
1488: IF h_num_bal_data_columns > 0 THEN
1489: -- Clean current records from bsc_tmp_per_change_bal
1490: --h_sql := 'DELETE FROM bsc_tmp_per_change_bal';
1491: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1492: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
1493:
1494: IF h_yearly_flag <> 1 THEN
1495: h_sql := 'INSERT /*+ append ';

Line 1492: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');

1488: IF h_num_bal_data_columns > 0 THEN
1489: -- Clean current records from bsc_tmp_per_change_bal
1490: --h_sql := 'DELETE FROM bsc_tmp_per_change_bal';
1491: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1492: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
1493:
1494: IF h_yearly_flag <> 1 THEN
1495: h_sql := 'INSERT /*+ append ';
1496: if BSC_UPDATE_UTIL.is_parallel then

Line 1496: if BSC_UPDATE_UTIL.is_parallel then

1492: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
1493:
1494: IF h_yearly_flag <> 1 THEN
1495: h_sql := 'INSERT /*+ append ';
1496: if BSC_UPDATE_UTIL.is_parallel then
1497: h_sql:=h_sql||'parallel (bsc_tmp_per_change_bal) ';
1498: end if;
1499: h_sql:=h_sql||' */';
1500: h_sql:=h_sql||'INTO bsc_tmp_per_change_bal (year, src_per, trg_per)'||

Line 1502: if BSC_UPDATE_UTIL.is_parallel then

1498: end if;
1499: h_sql:=h_sql||' */';
1500: h_sql:=h_sql||'INTO bsc_tmp_per_change_bal (year, src_per, trg_per)'||
1501: ' SELECT ';
1502: if BSC_UPDATE_UTIL.is_parallel then
1503: h_sql:=h_sql||'/*+ parallel ('||h_period_map_table||')*/ ';
1504: end if;
1505: h_sql:=h_sql||'year, MAX('||h_origin_period_col_name||') AS src_per, '||h_period_col_name||' AS trg_per'||
1506: ' FROM '||h_period_map_table;

Line 1511: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1507: IF h_period_map_condition IS NOT NULL THEN
1508: h_sql := h_sql||' WHERE '||h_period_map_condition;
1509: END IF;
1510: h_sql := h_sql||' GROUP BY year, '||h_period_col_name;
1511: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1512: commit;
1513:
1514: l_bind_vars_values.delete;
1515: l_bind_vars_values(1) := (x_origin_period);

Line 1536: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1532: l_num_bind_vars := 5;
1533: END IF;
1534: h_sql := h_sql||' GROUP BY '||h_period_col_name||
1535: ')';
1536: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1537: ELSE
1538: -- Anual periodicity
1539: h_sql := 'INSERT /*+ append ';
1540: if BSC_UPDATE_UTIL.is_parallel then

Line 1540: if BSC_UPDATE_UTIL.is_parallel then

1536: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1537: ELSE
1538: -- Anual periodicity
1539: h_sql := 'INSERT /*+ append ';
1540: if BSC_UPDATE_UTIL.is_parallel then
1541: h_sql:=h_sql||'parallel (bsc_tmp_per_change_bal) ';
1542: end if;
1543: h_sql:=h_sql||' */';
1544: h_sql:=h_sql||'INTO bsc_tmp_per_change_bal (year, src_per, trg_per)'||

Line 1546: if BSC_UPDATE_UTIL.is_parallel then

1542: end if;
1543: h_sql:=h_sql||' */';
1544: h_sql:=h_sql||'INTO bsc_tmp_per_change_bal (year, src_per, trg_per)'||
1545: ' SELECT ';
1546: if BSC_UPDATE_UTIL.is_parallel then
1547: h_sql:=h_sql||'/*+ parallel ('||h_period_map_table||')*/ ';
1548: end if;
1549: h_sql:=h_sql||'year, MAX('||h_origin_period_col_name||') AS src_per, 0 AS trg_per'||
1550: ' FROM '||h_period_map_table;

Line 1555: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1551: IF h_period_map_condition IS NOT NULL THEN
1552: h_sql := h_sql||' WHERE '||h_period_map_condition;
1553: END IF;
1554: h_sql := h_sql||' GROUP BY year';
1555: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1556: commit;
1557:
1558: l_bind_vars_values.delete;
1559: l_bind_vars_values(1) := (x_origin_period);

Line 1565: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1561: l_num_bind_vars := 2;
1562: h_sql := 'UPDATE bsc_tmp_per_change_bal'||
1563: ' SET src_per = :1'||
1564: ' WHERE year = :2';
1565: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1566: END IF;
1567: END IF;
1568:
1569: -- Create temporal tables to calculate total data columns and balance data columns separately

Line 1576: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1572: IF (h_num_tot_data_columns > 0) AND (h_num_bal_data_columns > 0) THEN
1573: -- BSC_TMP_TOT_DATA
1574: -- Clean temporal table
1575: --h_sql := 'DELETE FROM BSC_TMP_TOT_DATA';
1576: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1577: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
1578:
1579: h_target_table_tot := 'BSC_TMP_TOT_DATA';
1580:

Line 1577: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');

1573: -- BSC_TMP_TOT_DATA
1574: -- Clean temporal table
1575: --h_sql := 'DELETE FROM BSC_TMP_TOT_DATA';
1576: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1577: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
1578:
1579: h_target_table_tot := 'BSC_TMP_TOT_DATA';
1580:
1581: -- BSC_TMP_BAL_DATA

Line 1584: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1580:
1581: -- BSC_TMP_BAL_DATA
1582: -- Clean temporal table
1583: --h_sql := 'DELETE FROM BSC_TMP_BAL_DATA';
1584: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1585: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
1586:
1587: h_target_table_bal := 'BSC_TMP_BAL_DATA';
1588: ELSE

Line 1585: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');

1581: -- BSC_TMP_BAL_DATA
1582: -- Clean temporal table
1583: --h_sql := 'DELETE FROM BSC_TMP_BAL_DATA';
1584: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1585: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
1586:
1587: h_target_table_bal := 'BSC_TMP_BAL_DATA';
1588: ELSE
1589: h_target_table_tot := x_sum_table;

Line 1602: IF BSC_UPDATE_UTIL.Is_Base_Table(x_origin_tables(h_i)) THEN

1598: -- instead of x_origin_tables
1599: FOR h_i IN 1..x_num_origin_tables LOOP
1600: h_origin_tables(h_i) := x_origin_tables(h_i);
1601: IF NOT BSC_APPS.bsc_mv THEN
1602: IF BSC_UPDATE_UTIL.Is_Base_Table(x_origin_tables(h_i)) THEN
1603: h_proj_table_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(x_origin_tables(h_i));
1604: IF h_proj_table_name IS NOT NULL THEN
1605: -- Base table is splitted in two: actuals and projection
1606: -- Note that actual and projection table has the same structure

Line 1623: h_lst_key_columns_ori := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns_ori,

1619: IF x_num_origin_tables > 1 THEN
1620: -- BSC-MV Note: By design this part is not executed because in this architecture
1621: -- there is only one origin table
1622:
1623: h_lst_key_columns_ori := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns_ori,
1624: x_num_key_columns_ori);
1625: h_lst_key_columns_ori_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_ori_temp,
1626: x_num_key_columns_ori);
1627: IF h_lst_key_columns_ori IS NOT NULL THEN

Line 1625: h_lst_key_columns_ori_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_ori_temp,

1621: -- there is only one origin table
1622:
1623: h_lst_key_columns_ori := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns_ori,
1624: x_num_key_columns_ori);
1625: h_lst_key_columns_ori_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_ori_temp,
1626: x_num_key_columns_ori);
1627: IF h_lst_key_columns_ori IS NOT NULL THEN
1628: h_lst_key_columns_ori := h_lst_key_columns_ori||', ';
1629: h_lst_key_columns_ori_temp := h_lst_key_columns_ori_temp||', ';

Line 1634: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1630: END IF;
1631:
1632: -- Clean temporary table
1633: --h_sql := 'DELETE FROM BSC_TMP_UNION';
1634: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1635: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
1636:
1637: -- Insert data
1638: h_sql := 'INSERT /*+ append ';

Line 1635: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');

1631:
1632: -- Clean temporary table
1633: --h_sql := 'DELETE FROM BSC_TMP_UNION';
1634: --BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1635: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
1636:
1637: -- Insert data
1638: h_sql := 'INSERT /*+ append ';
1639: if BSC_UPDATE_UTIL.is_parallel then

Line 1639: if BSC_UPDATE_UTIL.is_parallel then

1635: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
1636:
1637: -- Insert data
1638: h_sql := 'INSERT /*+ append ';
1639: if BSC_UPDATE_UTIL.is_parallel then
1640: h_sql:=h_sql||'parallel (BSC_TMP_UNION) ';
1641: end if;
1642: h_sql:=h_sql||' */';
1643: h_sql:=h_sql||'INTO BSC_TMP_UNION ('||h_lst_key_columns_ori_temp||'YEAR, TYPE, PERIOD)'||

Line 1645: if BSC_UPDATE_UTIL.is_parallel then

1641: end if;
1642: h_sql:=h_sql||' */';
1643: h_sql:=h_sql||'INTO BSC_TMP_UNION ('||h_lst_key_columns_ori_temp||'YEAR, TYPE, PERIOD)'||
1644: ' SELECT ';
1645: if BSC_UPDATE_UTIL.is_parallel then
1646: h_sql:=h_sql||'/*+ parallel ('||x_origin_tables(1)||')*/ ';
1647: end if;
1648: -- ENH_B_TABLES_PERF: use h_origin_tables
1649: h_sql:=h_sql||h_lst_key_columns_ori||'YEAR, TYPE, PERIOD'||

Line 1658: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1654: h_sql := h_sql||' UNION'||
1655: ' SELECT '||h_lst_key_columns_ori||'YEAR, TYPE, PERIOD'||
1656: ' FROM '||h_origin_tables(h_i);
1657: END LOOP;
1658: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1659: commit;
1660:
1661: -- We need to delete (this is no the general case but in the future could happen)
1662: -- from BSC_TMP_UNION those rows with any zero code in the key columns that are

Line 1678: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_key_columns_ori(h_i),

1674: -- NUMBER of VARCHAR2 in the key columns
1675:
1676: h_lst_where := NULL;
1677: FOR h_i IN 1..x_num_key_columns_ori LOOP
1678: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_key_columns_ori(h_i),
1679: x_source_columns,
1680: x_num_key_columns) THEN
1681: IF h_lst_where IS NULL THEN
1682: h_lst_where := h_key_columns_ori_temp(h_i)||' = ''0''';

Line 1691: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1687: END LOOP;
1688: IF h_lst_where IS NOT NULL THEN
1689: h_sql := 'DELETE FROM BSC_TMP_UNION'||
1690: ' WHERE '||h_lst_where;
1691: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1692: END IF;
1693:
1694: -- ENH_B_TABLES_PERF: add this line, we need to differenciate between the name of the union
1695: -- table and the query for the union

Line 1720: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_key_columns_ori(h_i),

1716: -- NUMBER of VARCHAR2 in the key columns
1717:
1718: h_cond_zero_codes_src := NULL;
1719: FOR h_i IN 1..x_num_key_columns_ori LOOP
1720: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_key_columns_ori(h_i),
1721: x_source_columns,
1722: x_num_key_columns) THEN
1723: IF h_cond_zero_codes_src IS NULL THEN
1724: h_cond_zero_codes_src := x_key_columns_ori(h_i)||' <> ''0''';

Line 1750: BSC_UPDATE_UTIL.Make_Lst_Cond_Left_Join('BSC_TMP_UNION',

1746: h_lst_on := h_lst_on||' AND ';
1747: END IF;
1748: IF x_num_key_columns_ori > 0 THEN
1749: h_lst_on := h_lst_on||
1750: BSC_UPDATE_UTIL.Make_Lst_Cond_Left_Join('BSC_TMP_UNION',
1751: h_key_columns_ori_temp,
1752: x_origin_tables(h_i),
1753: x_key_columns_ori,
1754: x_num_key_columns_ori,

Line 1770: h_lst_key_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns, x_num_key_columns);

1766: h_lst_on := h_cond_zero_codes_src;
1767: END IF;
1768:
1769: -- Initialize some lists that will be part of the query to generate the summary table
1770: h_lst_key_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns, x_num_key_columns);
1771: h_lst_key_columns_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_temp, x_num_key_columns);
1772:
1773: IF h_lst_key_columns IS NOT NULL THEN
1774: h_lst_key_columns := h_lst_key_columns||', ';

Line 1771: h_lst_key_columns_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_temp, x_num_key_columns);

1767: END IF;
1768:
1769: -- Initialize some lists that will be part of the query to generate the summary table
1770: h_lst_key_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_key_columns, x_num_key_columns);
1771: h_lst_key_columns_temp := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_key_columns_temp, x_num_key_columns);
1772:
1773: IF h_lst_key_columns IS NOT NULL THEN
1774: h_lst_key_columns := h_lst_key_columns||', ';
1775: h_lst_key_columns_temp := h_lst_key_columns_temp||', ';

Line 1778: h_lst_data_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_columns, x_num_data_columns);

1774: h_lst_key_columns := h_lst_key_columns||', ';
1775: h_lst_key_columns_temp := h_lst_key_columns_temp||', ';
1776: END IF;
1777:
1778: h_lst_data_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_columns, x_num_data_columns);
1779: h_lst_data_formulas := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_formulas, x_num_data_columns);
1780:
1781: -- Delete all records of summary table.
1782: BSC_UPDATE_UTIL.Truncate_Table(x_sum_table);

Line 1779: h_lst_data_formulas := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_formulas, x_num_data_columns);

1775: h_lst_key_columns_temp := h_lst_key_columns_temp||', ';
1776: END IF;
1777:
1778: h_lst_data_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_columns, x_num_data_columns);
1779: h_lst_data_formulas := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_formulas, x_num_data_columns);
1780:
1781: -- Delete all records of summary table.
1782: BSC_UPDATE_UTIL.Truncate_Table(x_sum_table);
1783:

Line 1782: BSC_UPDATE_UTIL.Truncate_Table(x_sum_table);

1778: h_lst_data_columns := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_columns, x_num_data_columns);
1779: h_lst_data_formulas := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(x_data_formulas, x_num_data_columns);
1780:
1781: -- Delete all records of summary table.
1782: BSC_UPDATE_UTIL.Truncate_Table(x_sum_table);
1783:
1784: -- Disable indexes for improve performance
1785: IF NOT BSC_UPDATE_UTIL.Drop_Index(x_sum_table||'_U1') THEN
1786: RAISE e_unexpected_error;

Line 1785: IF NOT BSC_UPDATE_UTIL.Drop_Index(x_sum_table||'_U1') THEN

1781: -- Delete all records of summary table.
1782: BSC_UPDATE_UTIL.Truncate_Table(x_sum_table);
1783:
1784: -- Disable indexes for improve performance
1785: IF NOT BSC_UPDATE_UTIL.Drop_Index(x_sum_table||'_U1') THEN
1786: RAISE e_unexpected_error;
1787: END IF;
1788:
1789: -- Create the string for the SELECT and FROM sub-statement

Line 1851: if BSC_UPDATE_UTIL.is_parallel then

1847: h_lst_select_per := h_union_table||'.YEAR, '||h_union_table||'.TYPE, '||h_union_table||'.PERIOD';
1848:
1849: -- Generates the summary table
1850: h_sql := 'INSERT /*+ append ';
1851: if BSC_UPDATE_UTIL.is_parallel then
1852: h_sql:=h_sql||'parallel ('||x_sum_table||') ';
1853: end if;
1854: h_sql:=h_sql||' */';
1855: h_sql:=h_sql||'INTO '||x_sum_table;

Line 1864: if BSC_UPDATE_UTIL.is_parallel then

1860: h_sql := h_sql||' ('||h_lst_key_columns||'YEAR, TYPE, PERIOD, '||
1861: h_lst_data_columns||')';
1862: END IF;
1863: h_sql := h_sql||' SELECT ';
1864: if BSC_UPDATE_UTIL.is_parallel then
1865: h_sql:=h_sql||'/*+'||l_parallel_hint||'*/ ';
1866: end if;
1867: h_sql := h_sql||h_lst_select_disag||h_lst_select_per;
1868: IF BSC_APPS.bsc_mv THEN

Line 1882: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1878: ' GROUP BY '||h_lst_select_disag||h_lst_select_per;
1879: IF BSC_APPS.bsc_mv THEN
1880: h_sql := h_sql||', '||h_union_table||'.PERIODICITY_ID, '||h_union_table||'.PERIOD_TYPE_ID';
1881: END IF;
1882: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1883: COMMIT;
1884:
1885: -- Enable indexes
1886: IF BSC_APPS.bsc_mv THEN

Line 1887: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,

1883: COMMIT;
1884:
1885: -- Enable indexes
1886: IF BSC_APPS.bsc_mv THEN
1887: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,
1888: x_sum_table||'_U1',
1889: h_lst_key_columns||
1890: 'YEAR, TYPE, PERIOD, PERIODICITY_ID, PERIOD_TYPE_ID',
1891: BSC_APPS.summary_index_tbs_type) THEN

Line 1895: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,

1891: BSC_APPS.summary_index_tbs_type) THEN
1892: RAISE e_unexpected_error;
1893: END IF;
1894: ELSE
1895: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,
1896: x_sum_table||'_U1',
1897: h_lst_key_columns||'YEAR, TYPE, PERIOD',
1898: BSC_APPS.summary_index_tbs_type) THEN
1899: RAISE e_unexpected_error;

Line 1936: if BSC_UPDATE_UTIL.is_parallel then

1932: l_bind_vars_values(3) := x_origin_period ;
1933: l_num_bind_vars := 3;
1934:
1935: h_sql := 'INSERT /*+ append ';
1936: if BSC_UPDATE_UTIL.is_parallel then
1937: h_sql:=h_sql||'parallel ('||h_target_table_tot||') ';
1938: end if;
1939: h_sql:=h_sql||' */';
1940: h_sql:=h_sql||'INTO '||h_target_table_tot;

Line 1947: if BSC_UPDATE_UTIL.is_parallel then

1943: ELSE
1944: h_sql:=h_sql||' ('||h_lst_key_columns||'YEAR, TYPE, PERIOD, '||h_lst_tot_data_columns||')';
1945: END IF;
1946: h_sql:=h_sql||' SELECT ';
1947: if BSC_UPDATE_UTIL.is_parallel then
1948: h_sql:=h_sql||'/*+'||l_parallel_hint1||'*/ ';
1949: end if;
1950: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_tot_data_formulas||
1951: ' FROM '||h_lst_from_tot||

Line 1954: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1950: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_tot_data_formulas||
1951: ' FROM '||h_lst_from_tot||
1952: ' WHERE '||h_lst_on_tot||' AND '||h_lst_where||
1953: ' GROUP BY '||h_lst_select_disag||h_lst_select_per;
1954: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
1955: commit;
1956:
1957: -- Now, insert rows for projection, previous year and other types
1958: IF h_yearly_flag <> 1 THEN

Line 1984: if BSC_UPDATE_UTIL.is_parallel then

1980: l_num_bind_vars := 3;
1981: END IF;
1982:
1983: h_sql := 'INSERT /*+ append ';
1984: if BSC_UPDATE_UTIL.is_parallel then
1985: h_sql:=h_sql||'parallel ('||h_target_table_tot||') ';
1986: end if;
1987: h_sql:=h_sql||' */';
1988: h_sql:=h_sql||'INTO '||h_target_table_tot;

Line 1995: if BSC_UPDATE_UTIL.is_parallel then

1991: ELSE
1992: h_sql:=h_sql||' ('||h_lst_key_columns||'YEAR, TYPE, PERIOD, '||h_lst_tot_data_columns||')';
1993: END IF;
1994: h_sql:=h_sql||' SELECT ';
1995: if BSC_UPDATE_UTIL.is_parallel then
1996: h_sql:=h_sql||'/*+'||l_parallel_hint1||'*/ ';
1997: end if;
1998: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_tot_data_formulas||
1999: ' FROM '||h_lst_from_tot||

Line 2002: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);

1998: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_tot_data_formulas||
1999: ' FROM '||h_lst_from_tot||
2000: ' WHERE '||h_lst_on_tot||' AND '||h_lst_where||
2001: ' GROUP BY '||h_lst_select_disag||h_lst_select_per;
2002: BSC_UPDATE_UTIL.Execute_Immediate(h_sql, l_bind_vars_values, l_num_bind_vars);
2003: commit;
2004:
2005: -- Enable indexes
2006: IF h_target_table_tot <> 'BSC_TMP_TOT_DATA' THEN

Line 2007: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(h_target_table_tot,

2003: commit;
2004:
2005: -- Enable indexes
2006: IF h_target_table_tot <> 'BSC_TMP_TOT_DATA' THEN
2007: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(h_target_table_tot,
2008: h_target_table_tot||'_U1',
2009: h_lst_key_columns||'YEAR, TYPE, PERIOD',
2010: BSC_APPS.summary_index_tbs_type) THEN
2011: RAISE e_unexpected_error;

Line 2028: if BSC_UPDATE_UTIL.is_parallel then

2024: h_lst_select_per := h_union_table||'.YEAR, '||h_union_table||'.TYPE, BSC_TMP_PER_CHANGE_BAL.TRG_PER';
2025:
2026: -- Generates the summary table
2027: h_sql := 'INSERT /*+ append ';
2028: if BSC_UPDATE_UTIL.is_parallel then
2029: h_sql:=h_sql||'parallel ('||h_target_table_bal||') ';
2030: end if;
2031: h_sql:=h_sql||' */';
2032: h_sql:=h_sql||'INTO '||h_target_table_bal;

Line 2039: if BSC_UPDATE_UTIL.is_parallel then

2035: ELSE
2036: h_sql:=h_sql||' ('||h_lst_key_columns||'YEAR, TYPE, PERIOD, '||h_lst_bal_data_columns||')';
2037: END IF;
2038: h_sql := h_sql||' SELECT ';
2039: if BSC_UPDATE_UTIL.is_parallel then
2040: h_sql:=h_sql||'/*+'||l_parallel_hint2||'*/ ';
2041: end if;
2042: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_bal_data_formulas||
2043: ' FROM '||h_lst_from_bal||

Line 2046: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

2042: h_sql:=h_sql||h_lst_select_disag||h_lst_select_per||', '||h_lst_bal_data_formulas||
2043: ' FROM '||h_lst_from_bal||
2044: ' WHERE '||h_lst_on_bal||
2045: ' GROUP BY '||h_lst_select_disag||h_lst_select_per;
2046: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
2047: commit;
2048:
2049: -- Enable indexes
2050: IF h_target_table_bal <> 'BSC_TMP_BAL_DATA' THEN

Line 2051: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(h_target_table_bal,

2047: commit;
2048:
2049: -- Enable indexes
2050: IF h_target_table_bal <> 'BSC_TMP_BAL_DATA' THEN
2051: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(h_target_table_bal,
2052: h_target_table_bal||'_U1',
2053: h_lst_key_columns||'YEAR, TYPE, PERIOD',
2054: BSC_APPS.summary_index_tbs_type) THEN
2055: RAISE e_unexpected_error;

Line 2063: h_lst_on := BSC_UPDATE_UTIL.Make_Lst_Cond_Left_Join('T', h_key_columns_temp, 'B', h_key_columns_temp,

2059:
2060: IF (h_num_tot_data_columns > 0) AND (h_num_bal_data_columns > 0) THEN
2061: -- We need to merge BSC_TMP_TOT_DATA and BSC_TMP_BAL_DATA into the summary table
2062: -- Fix Bug#3131339 Do left join
2063: h_lst_on := BSC_UPDATE_UTIL.Make_Lst_Cond_Left_Join('T', h_key_columns_temp, 'B', h_key_columns_temp,
2064: x_num_key_columns, 'AND');
2065: IF h_lst_on IS NOT NULL THEN
2066: h_lst_on := h_lst_on||' AND ';
2067: END IF;

Line 2069: h_lst_select_disag := BSC_UPDATE_UTIL.Make_Lst_Table_Column('T', h_key_columns_temp, x_num_key_columns);

2065: IF h_lst_on IS NOT NULL THEN
2066: h_lst_on := h_lst_on||' AND ';
2067: END IF;
2068:
2069: h_lst_select_disag := BSC_UPDATE_UTIL.Make_Lst_Table_Column('T', h_key_columns_temp, x_num_key_columns);
2070: IF h_lst_select_disag IS NOT NULL THEN
2071: h_lst_select_disag := h_lst_select_disag||', ';
2072: END IF;
2073:

Line 2075: if BSC_UPDATE_UTIL.is_parallel then

2071: h_lst_select_disag := h_lst_select_disag||', ';
2072: END IF;
2073:
2074: h_sql := 'INSERT /*+ append ';
2075: if BSC_UPDATE_UTIL.is_parallel then
2076: h_sql:=h_sql||'parallel ('||x_sum_table||') ';
2077: end if;
2078: h_sql:=h_sql||' */';
2079: h_sql:=h_sql||'INTO '||x_sum_table||

Line 2083: if BSC_UPDATE_UTIL.is_parallel then

2079: h_sql:=h_sql||'INTO '||x_sum_table||
2080: ' ('||h_lst_key_columns||'YEAR, TYPE, PERIOD, '||
2081: h_lst_tot_data_columns||', '||h_lst_bal_data_columns||')'||
2082: ' SELECT ';
2083: if BSC_UPDATE_UTIL.is_parallel then
2084: h_sql:=h_sql||'/*+ parallel (T) parallel (B)*/ ';
2085: end if;
2086: h_sql:=h_sql||h_lst_select_disag||'T.YEAR, T.TYPE, T.PERIOD, '||
2087: h_lst_tot_data_columns_temp_t||', '||h_lst_bal_data_columns_temp_b||

Line 2091: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

2087: h_lst_tot_data_columns_temp_t||', '||h_lst_bal_data_columns_temp_b||
2088: ' FROM BSC_TMP_TOT_DATA T, BSC_TMP_BAL_DATA B'||
2089: ' WHERE '||h_lst_on;
2090: h_sql := h_sql||'T.YEAR = B.YEAR (+) AND T.TYPE = B.TYPE (+) AND T.PERIOD = B.PERIOD (+)';
2091: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
2092: commit;
2093:
2094: -- Enable indexes
2095: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,

Line 2095: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,

2091: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
2092: commit;
2093:
2094: -- Enable indexes
2095: IF NOT BSC_UPDATE_UTIL.Create_Unique_Index(x_sum_table,
2096: x_sum_table||'_U1',
2097: h_lst_key_columns||'YEAR, TYPE, PERIOD',
2098: BSC_APPS.summary_index_tbs_type) THEN
2099: RAISE e_unexpected_error;

Line 2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');

2104:
2105: COMMIT;
2106:
2107: -- Fix bug#4463132: Truncate temporary table after use
2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');

Line 2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');

2105: COMMIT;
2106:
2107: -- Fix bug#4463132: Truncate temporary table after use
2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
2113: commit;

Line 2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');

2106:
2107: -- Fix bug#4463132: Truncate temporary table after use
2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
2113: commit;
2114:

Line 2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');

2107: -- Fix bug#4463132: Truncate temporary table after use
2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
2113: commit;
2114:
2115: RETURN TRUE;

Line 2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');

2108: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE');
2109: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_PER_CHANGE_BAL');
2110: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_TOT_DATA');
2111: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_BAL_DATA');
2112: BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_UNION');
2113: commit;
2114:
2115: RETURN TRUE;
2116: EXCEPTION

Line 2119: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),

2115: RETURN TRUE;
2116: EXCEPTION
2117: WHEN e_unexpected_error THEN
2118: ROLLBACK;
2119: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_SUMTABLE_CALC_FAILED'),
2120: x_source => 'BSC_UPDATE_SUM.Calculate_Sum_Table_Total');
2121: RETURN FALSE;
2122:
2123: WHEN OTHERS THEN

Line 2136: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

2132: /*===========================================================================+
2133: | FUNCTION Get_Minimun_Origin_Period
2134: +============================================================================*/
2135: FUNCTION Get_Minimun_Origin_Period(
2136: x_origin_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
2137: x_num_origin_tables IN NUMBER
2138: ) RETURN NUMBER IS
2139:
2140: h_table_name VARCHAR2(30);

Line 2225: x_origin_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,

2221: | FUNCTION Get_Origin_Tables
2222: +============================================================================*/
2223: FUNCTION Get_Origin_Tables(
2224: x_table_name IN VARCHAR2,
2225: x_origin_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
2226: x_num_origin_tables IN OUT NOCOPY NUMBER
2227: ) RETURN BOOLEAN IS
2228:
2229: TYPE t_cursor IS REF CURSOR;