DBA Data[Home] [Help]

APPS.BSC_UPDATE_INC dependencies on BSC_UPDATE

Line 1: PACKAGE BODY BSC_UPDATE_INC AS

1: PACKAGE BODY BSC_UPDATE_INC AS
2: /* $Header: BSCDINCB.pls 120.6 2007/03/01 14:42:47 ankgoel ship $ */
3:
4:
5: /*===========================================================================+

Line 9: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

5: /*===========================================================================+
6: | FUNCTION Add_Related_Tables
7: +============================================================================*/
8: FUNCTION Add_Related_Tables (
9: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
10: x_num_tables IN NUMBER,
11: x_purge_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
12: x_num_purge_tables IN OUT NOCOPY NUMBER
13: ) RETURN BOOLEAN IS

Line 11: x_purge_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,

7: +============================================================================*/
8: FUNCTION Add_Related_Tables (
9: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
10: x_num_tables IN NUMBER,
11: x_purge_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
12: x_num_purge_tables IN OUT NOCOPY NUMBER
13: ) RETURN BOOLEAN IS
14:
15: e_unexpected_error EXCEPTION;

Line 20: h_new_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

16:
17: TYPE t_cursor IS REF CURSOR;
18: h_cursor t_cursor;
19:
20: h_new_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
21: h_num_new_tables NUMBER;
22:
23: h_i NUMBER;
24: h_sql VARCHAR2(32700);

Line 35: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_tables(h_i), x_purge_tables, x_num_purge_tables) THEN

31: h_where_tables := NULL;
32:
33: FOR h_i IN 1 .. x_num_tables LOOP
34: -- Insert the table
35: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_tables(h_i), x_purge_tables, x_num_purge_tables) THEN
36: x_num_purge_tables := x_num_purge_tables + 1;
37: x_purge_tables(x_num_purge_tables) := x_tables(h_i);
38: END IF;
39: END LOOP;

Line 52: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN

48:
49: OPEN h_cursor FOR h_sql USING x_tables(h_i);
50: FETCH h_cursor INTO h_table_name;
51: WHILE h_cursor%FOUND LOOP
52: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN
53: x_num_purge_tables := x_num_purge_tables + 1;
54: x_purge_tables(x_num_purge_tables) := h_table_name;
55:
56: h_num_new_tables := h_num_new_tables + 1;

Line 74: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN

70:
71: OPEN h_cursor FOR h_sql USING x_tables(h_i);
72: FETCH h_cursor INTO h_table_name;
73: WHILE h_cursor%FOUND LOOP
74: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN
75: x_num_purge_tables := x_num_purge_tables + 1;
76: x_purge_tables(x_num_purge_tables) := h_table_name;
77:
78: h_num_new_tables := h_num_new_tables + 1;

Line 105: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN

101:
102: OPEN h_cursor FOR h_sql;
103: FETCH h_cursor INTO h_table_name;
104: WHILE h_cursor%FOUND LOOP
105: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table_name, x_purge_tables, x_num_purge_tables) THEN
106: x_num_purge_tables := x_num_purge_tables + 1;
107: x_purge_tables(x_num_purge_tables) := h_table_name;
108:
109: h_num_new_tables := h_num_new_tables + 1;

Line 126: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_ADD_REL_TABLES_FAILED'),

122: RETURN TRUE;
123:
124: EXCEPTION
125: WHEN e_unexpected_error THEN
126: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_ADD_REL_TABLES_FAILED'),
127: x_source => 'BSC_UPDATE_INC.Add_Related_Tables');
128: RETURN FALSE;
129:
130: WHEN OTHERS THEN

Line 127: x_source => 'BSC_UPDATE_INC.Add_Related_Tables');

123:
124: EXCEPTION
125: WHEN e_unexpected_error THEN
126: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_ADD_REL_TABLES_FAILED'),
127: x_source => 'BSC_UPDATE_INC.Add_Related_Tables');
128: RETURN FALSE;
129:
130: WHEN OTHERS THEN
131: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 132: x_source => 'BSC_UPDATE_INC.Add_Related_Tables');

128: RETURN FALSE;
129:
130: WHEN OTHERS THEN
131: BSC_MESSAGE.Add(x_message => SQLERRM,
132: x_source => 'BSC_UPDATE_INC.Add_Related_Tables');
133: RETURN FALSE;
134:
135: END Add_Related_Tables;
136:

Line 150: h_input_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

146:
147: h_i NUMBER;
148:
149: -- array for update incremental changes
150: h_input_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
151: h_num_input_tables NUMBER;
152:
153: h_color_indicators BSC_UPDATE_UTIL.t_array_of_number;
154: h_num_color_indicators NUMBER;

Line 153: h_color_indicators BSC_UPDATE_UTIL.t_array_of_number;

149: -- array for update incremental changes
150: h_input_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
151: h_num_input_tables NUMBER;
152:
153: h_color_indicators BSC_UPDATE_UTIL.t_array_of_number;
154: h_num_color_indicators NUMBER;
155:
156: h_current_fy NUMBER;
157:

Line 160: h_changed_calendars BSC_UPDATE_UTIL.t_array_of_number;

156: h_current_fy NUMBER;
157:
158: h_message VARCHAR2(4000);
159:
160: h_changed_calendars BSC_UPDATE_UTIL.t_array_of_number;
161: h_num_changed_calendars NUMBER;
162:
163: h_calendar_id NUMBER;
164: h_error_message VARCHAR2(2000);

Line 171: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGES_REVISION'), BSC_UPDATE_LOG.OUTPUT);

167: h_num_input_tables := 0;
168: h_num_color_indicators := 0;
169: h_num_changed_calendars := 0;
170:
171: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGES_REVISION'), BSC_UPDATE_LOG.OUTPUT);
172:
173: -- Check for Fiscal year changes in all calendars
174:
175: -- Initialize the array h_changed_calendars with the code of the calendars

Line 182: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_FISCAL_YEAR_CHANGE'), BSC_UPDATE_LOG.OUTPUT);

178: RAISE e_unexpected_error;
179: END IF;
180:
181: IF h_num_changed_calendars > 0 THEN
182: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_FISCAL_YEAR_CHANGE'), BSC_UPDATE_LOG.OUTPUT);
183: END IF;
184:
185: FOR h_i IN 1..h_num_changed_calendars LOOP
186: h_calendar_id := h_changed_calendars(h_i);

Line 192: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'CALENDAR_NAME')||

188: -- The beginning fiscal year or month was changed. This action invalidates
189: -- the current data for indicators using this calnedar.
190: -- BSC Loader will delete all current data for affected KPIs and recalculate the
191: -- calendar tables.
192: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'CALENDAR_NAME')||
193: BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'SYMBOL_COLON')||' '||
194: BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id), BSC_UPDATE_LOG.OUTPUT);
195:
196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN

Line 193: BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'SYMBOL_COLON')||' '||

189: -- the current data for indicators using this calnedar.
190: -- BSC Loader will delete all current data for affected KPIs and recalculate the
191: -- calendar tables.
192: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'CALENDAR_NAME')||
193: BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'SYMBOL_COLON')||' '||
194: BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id), BSC_UPDATE_LOG.OUTPUT);
195:
196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN
197: -- This is just for BSC Calendars

Line 194: BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id), BSC_UPDATE_LOG.OUTPUT);

190: -- BSC Loader will delete all current data for affected KPIs and recalculate the
191: -- calendar tables.
192: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'CALENDAR_NAME')||
193: BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'SYMBOL_COLON')||' '||
194: BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id), BSC_UPDATE_LOG.OUTPUT);
195:
196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN
197: -- This is just for BSC Calendars
198: --LOCKING: Lock the calendar

Line 196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN

192: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'CALENDAR_NAME')||
193: BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'SYMBOL_COLON')||' '||
194: BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id), BSC_UPDATE_LOG.OUTPUT);
195:
196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN
197: -- This is just for BSC Calendars
198: --LOCKING: Lock the calendar
199: IF NOT BSC_UPDATE_LOCK.Lock_Calendar(h_calendar_id) THEN
200: RAISE e_could_not_get_lock;

Line 199: IF NOT BSC_UPDATE_LOCK.Lock_Calendar(h_calendar_id) THEN

195:
196: IF BSC_UPDATE_UTIL.Get_Calendar_EDW_Flag(h_calendar_id) = 0 THEN
197: -- This is just for BSC Calendars
198: --LOCKING: Lock the calendar
199: IF NOT BSC_UPDATE_LOCK.Lock_Calendar(h_calendar_id) THEN
200: RAISE e_could_not_get_lock;
201: END IF;
202:
203: -- Fix bug#3822940 We need to validate that this is not a DBI calendar

Line 204: IF BSC_UPDATE_UTIL.Get_Calendar_Source(h_calendar_id) = 'BSC' THEN

200: RAISE e_could_not_get_lock;
201: END IF;
202:
203: -- Fix bug#3822940 We need to validate that this is not a DBI calendar
204: IF BSC_UPDATE_UTIL.Get_Calendar_Source(h_calendar_id) = 'BSC' THEN
205: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INIT')||
206: ' ('||BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id)||')', BSC_UPDATE_LOG.OUTPUT);
207: --LOCKING: Call the autonomous transaction function
208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN

Line 205: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INIT')||

201: END IF;
202:
203: -- Fix bug#3822940 We need to validate that this is not a DBI calendar
204: IF BSC_UPDATE_UTIL.Get_Calendar_Source(h_calendar_id) = 'BSC' THEN
205: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INIT')||
206: ' ('||BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id)||')', BSC_UPDATE_LOG.OUTPUT);
207: --LOCKING: Call the autonomous transaction function
208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN
209: RAISE e_unexpected_error;

Line 206: ' ('||BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id)||')', BSC_UPDATE_LOG.OUTPUT);

202:
203: -- Fix bug#3822940 We need to validate that this is not a DBI calendar
204: IF BSC_UPDATE_UTIL.Get_Calendar_Source(h_calendar_id) = 'BSC' THEN
205: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INIT')||
206: ' ('||BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id)||')', BSC_UPDATE_LOG.OUTPUT);
207: --LOCKING: Call the autonomous transaction function
208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN
209: RAISE e_unexpected_error;
210: END IF;

Line 208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN

204: IF BSC_UPDATE_UTIL.Get_Calendar_Source(h_calendar_id) = 'BSC' THEN
205: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INIT')||
206: ' ('||BSC_UPDATE_UTIL.Get_Calendar_Name(h_calendar_id)||')', BSC_UPDATE_LOG.OUTPUT);
207: --LOCKING: Call the autonomous transaction function
208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN
209: RAISE e_unexpected_error;
210: END IF;
211:
212: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INITIALIZED'), BSC_UPDATE_LOG.OUTPUT);

Line 212: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INITIALIZED'), BSC_UPDATE_LOG.OUTPUT);

208: IF NOT BSC_UPDATE_UTIL.Init_Calendar_Tables_AT(h_calendar_id) THEN
209: RAISE e_unexpected_error;
210: END IF;
211:
212: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_CALTABLES_INITIALIZED'), BSC_UPDATE_LOG.OUTPUT);
213: END IF;
214:
215: -- We need to load reporting calendar and load calendar into aw
216: IF BSC_APPS.bsc_mv THEN

Line 224: BSC_UPDATE_UTIL.Load_Calendar_Into_AW_AT(h_calendar_id);

220: END IF;
221:
222: --AW_INTEGRATION: call aw api to import calendars into aw world
223: --LOCKING: call the autonomous transaction
224: BSC_UPDATE_UTIL.Load_Calendar_Into_AW_AT(h_calendar_id);
225: END IF;
226:
227: --LOCKING: commit to release the lock
228: COMMIT;

Line 238: IF NOT BSC_UPDATE_LOCK.Lock_Calendar(h_calendar_id) THEN

234: END IF;
235:
236: -- Reset FISCAL_CHANGE variable to 0
237: --LOCKING: Lock the calendar
238: IF NOT BSC_UPDATE_LOCK.Lock_Calendar(h_calendar_id) THEN
239: RAISE e_could_not_get_lock;
240: END IF;
241:
242: UPDATE bsc_sys_calendars_b

Line 252: IF NOT BSC_UPDATE_LOCK.Lock_Prototype_Indicators(h_calendar_id) THEN

248:
249: -- Reset the flags for the indicators (flag = 6 or 7) to 0 because now there
250: -- is no data to update.
251: --LOCKING: lock indicators prototype
252: IF NOT BSC_UPDATE_LOCK.Lock_Prototype_Indicators(h_calendar_id) THEN
253: RAISE e_could_not_get_lock;
254: END IF;
255:
256: UPDATE bsc_kpis_b

Line 286: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_SUMTAB_RECALC_REQUIRED'),

282: RAISE e_unexpected_error;
283: END IF;
284:
285: IF h_num_input_tables > 0 THEN
286: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_SUMTAB_RECALC_REQUIRED'),
287: BSC_UPDATE_LOG.OUTPUT);
288: IF NOT BSC_UPDATE.Process_Input_Tables(h_input_tables, h_num_input_tables, 1) THEN
289: RAISE e_unexpected_error;
290: END IF;

Line 287: BSC_UPDATE_LOG.OUTPUT);

283: END IF;
284:
285: IF h_num_input_tables > 0 THEN
286: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_SUMTAB_RECALC_REQUIRED'),
287: BSC_UPDATE_LOG.OUTPUT);
288: IF NOT BSC_UPDATE.Process_Input_Tables(h_input_tables, h_num_input_tables, 1) THEN
289: RAISE e_unexpected_error;
290: END IF;
291: END IF;

Line 288: IF NOT BSC_UPDATE.Process_Input_Tables(h_input_tables, h_num_input_tables, 1) THEN

284:
285: IF h_num_input_tables > 0 THEN
286: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_SUMTAB_RECALC_REQUIRED'),
287: BSC_UPDATE_LOG.OUTPUT);
288: IF NOT BSC_UPDATE.Process_Input_Tables(h_input_tables, h_num_input_tables, 1) THEN
289: RAISE e_unexpected_error;
290: END IF;
291: END IF;
292:

Line 301: IF NOT BSC_UPDATE_LOCK.Lock_Temp_Tables('COLOR') THEN

297: END IF;
298:
299: IF h_num_color_indicators > 0 THEN
300: -- LOCKING: Lock temp tables for coloring
301: IF NOT BSC_UPDATE_LOCK.Lock_Temp_Tables('COLOR') THEN
302: RAISE e_could_not_get_lock;
303: END IF;
304:
305: -- LOCKING: call the autonomous transaction function

Line 306: IF NOT BSC_UPDATE_COLOR.Create_Temp_Tab_Tables_AT() THEN

302: RAISE e_could_not_get_lock;
303: END IF;
304:
305: -- LOCKING: call the autonomous transaction function
306: IF NOT BSC_UPDATE_COLOR.Create_Temp_Tab_Tables_AT() THEN
307: RAISE e_unexpected_error;
308: END IF;
309:
310: --LOCKING: Commit to release locks

Line 313: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPICOLOR_RECALC_REQUIRED'),

309:
310: --LOCKING: Commit to release locks
311: COMMIT;
312:
313: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPICOLOR_RECALC_REQUIRED'),
314: BSC_UPDATE_LOG.OUTPUT);
315: FOR h_i IN 1 .. h_num_color_indicators LOOP
316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),
317: BSC_UPDATE_LOG.OUTPUT);

Line 314: BSC_UPDATE_LOG.OUTPUT);

310: --LOCKING: Commit to release locks
311: COMMIT;
312:
313: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPICOLOR_RECALC_REQUIRED'),
314: BSC_UPDATE_LOG.OUTPUT);
315: FOR h_i IN 1 .. h_num_color_indicators LOOP
316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),
317: BSC_UPDATE_LOG.OUTPUT);
318:

Line 316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),

312:
313: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPICOLOR_RECALC_REQUIRED'),
314: BSC_UPDATE_LOG.OUTPUT);
315: FOR h_i IN 1 .. h_num_color_indicators LOOP
316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),
317: BSC_UPDATE_LOG.OUTPUT);
318:
319: --LOCKING: Lock indicator color
320: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicator(h_color_indicators(h_i)) THEN

Line 317: BSC_UPDATE_LOG.OUTPUT);

313: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPICOLOR_RECALC_REQUIRED'),
314: BSC_UPDATE_LOG.OUTPUT);
315: FOR h_i IN 1 .. h_num_color_indicators LOOP
316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),
317: BSC_UPDATE_LOG.OUTPUT);
318:
319: --LOCKING: Lock indicator color
320: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicator(h_color_indicators(h_i)) THEN
321: RAISE e_could_not_get_lock;

Line 320: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicator(h_color_indicators(h_i)) THEN

316: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC')||' '||h_color_indicators(h_i),
317: BSC_UPDATE_LOG.OUTPUT);
318:
319: --LOCKING: Lock indicator color
320: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicator(h_color_indicators(h_i)) THEN
321: RAISE e_could_not_get_lock;
322: END IF;
323:
324: -- LOCKING: Call the autonomous transaction

Line 325: IF NOT BSC_UPDATE_COLOR.Color_Indicator_AT(h_color_indicators(h_i)) THEN

321: RAISE e_could_not_get_lock;
322: END IF;
323:
324: -- LOCKING: Call the autonomous transaction
325: IF NOT BSC_UPDATE_COLOR.Color_Indicator_AT(h_color_indicators(h_i)) THEN
326: RAISE e_unexpected_error;
327: END IF;
328:
329: -- LOCKING: Commit to release the locks

Line 332: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC_COMPLETED');

328:
329: -- LOCKING: Commit to release the locks
330: COMMIT;
331:
332: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC_COMPLETED');
333: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'INDICATOR', TO_CHAR(h_color_indicators(h_i)));
334: BSC_UPDATE_LOG.Write_Line_log(h_message,
335: BSC_UPDATE_LOG.OUTPUT);
336:

Line 333: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'INDICATOR', TO_CHAR(h_color_indicators(h_i)));

329: -- LOCKING: Commit to release the locks
330: COMMIT;
331:
332: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC_COMPLETED');
333: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'INDICATOR', TO_CHAR(h_color_indicators(h_i)));
334: BSC_UPDATE_LOG.Write_Line_log(h_message,
335: BSC_UPDATE_LOG.OUTPUT);
336:
337:

Line 334: BSC_UPDATE_LOG.Write_Line_log(h_message,

330: COMMIT;
331:
332: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC_COMPLETED');
333: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'INDICATOR', TO_CHAR(h_color_indicators(h_i)));
334: BSC_UPDATE_LOG.Write_Line_log(h_message,
335: BSC_UPDATE_LOG.OUTPUT);
336:
337:
338: --LOCKING: Lock the update period of the indicator

Line 335: BSC_UPDATE_LOG.OUTPUT);

331:
332: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_COLOR_CALC_COMPLETED');
333: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'INDICATOR', TO_CHAR(h_color_indicators(h_i)));
334: BSC_UPDATE_LOG.Write_Line_log(h_message,
335: BSC_UPDATE_LOG.OUTPUT);
336:
337:
338: --LOCKING: Lock the update period of the indicator
339: IF NOT BSC_UPDATE_LOCK.Lock_Period_Indicator(h_color_indicators(h_i)) THEN

Line 339: IF NOT BSC_UPDATE_LOCK.Lock_Period_Indicator(h_color_indicators(h_i)) THEN

335: BSC_UPDATE_LOG.OUTPUT);
336:
337:
338: --LOCKING: Lock the update period of the indicator
339: IF NOT BSC_UPDATE_LOCK.Lock_Period_Indicator(h_color_indicators(h_i)) THEN
340: RAISE e_could_not_get_lock;
341: END IF;
342:
343: -- LOCKING: review not commit between this point and the commit to release the locks

Line 346: IF NOT BSC_UPDATE_UTIL.Update_Kpi_Period_Name(h_color_indicators(h_i)) THEN

342:
343: -- LOCKING: review not commit between this point and the commit to release the locks
344:
345: -- Update the name of period of indicator in BSC_KPI_DEFAULTS_TL table
346: IF NOT BSC_UPDATE_UTIL.Update_Kpi_Period_Name(h_color_indicators(h_i)) THEN
347: RAISE e_unexpected_error;
348: END IF;
349:
350: -- Update kpi time stamp

Line 351: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_color_indicators(h_i));

347: RAISE e_unexpected_error;
348: END IF;
349:
350: -- Update kpi time stamp
351: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_color_indicators(h_i));
352:
353: -- Update Tabs time stamp
354: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_color_indicators(h_i));
355:

Line 354: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_color_indicators(h_i));

350: -- Update kpi time stamp
351: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_color_indicators(h_i));
352:
353: -- Update Tabs time stamp
354: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_color_indicators(h_i));
355:
356: --LOCKING: commit to release locks
357: COMMIT;
358: END LOOP;

Line 364: IF NOT BSC_UPDATE_LOCK.Lock_Prototype_Indicators THEN

360: END IF;
361:
362: -- Reset the flags for the indicators (flag = 6 or 7) to 0
363: --LOCKING: lock the indicators with prototype flag 6 or 7
364: IF NOT BSC_UPDATE_LOCK.Lock_Prototype_Indicators THEN
365: RAISE e_could_not_get_lock;
366: END IF;
367:
368: IF NOT Reset_Flag_Indicators() THEN

Line 375: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGES_VERIF'), BSC_UPDATE_LOG.OUTPUT);

371:
372: --LOCKING: commit to release locks
373: COMMIT;
374:
375: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGES_VERIF'), BSC_UPDATE_LOG.OUTPUT);
376:
377: RETURN TRUE;
378:
379: EXCEPTION

Line 381: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGE_REV_FAILED'),

377: RETURN TRUE;
378:
379: EXCEPTION
380: WHEN e_unexpected_error THEN
381: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGE_REV_FAILED'),
382: x_source => 'BSC_UPDATE_INC.Do_Incremental');
383: RETURN FALSE;
384:
385: --LOCKING

Line 382: x_source => 'BSC_UPDATE_INC.Do_Incremental');

378:
379: EXCEPTION
380: WHEN e_unexpected_error THEN
381: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_INCR_CHANGE_REV_FAILED'),
382: x_source => 'BSC_UPDATE_INC.Do_Incremental');
383: RETURN FALSE;
384:
385: --LOCKING
386: WHEN e_could_not_get_lock THEN

Line 388: x_source => 'BSC_UPDATE_INC.Do_Incremental');

384:
385: --LOCKING
386: WHEN e_could_not_get_lock THEN
387: BSC_MESSAGE.Add(x_message => 'Loader could not get the required locks to continue.',
388: x_source => 'BSC_UPDATE_INC.Do_Incremental');
389: RETURN FALSE;
390:
391: WHEN e_error_load_rpt_cal THEN
392: BSC_MESSAGE.Add(x_message => 'BSC_BIA_WRAPPER.Load_Reporting_Calendar: '||h_error_message,

Line 393: x_source => 'BSC_UPDATE_INC.Do_Incremental');

389: RETURN FALSE;
390:
391: WHEN e_error_load_rpt_cal THEN
392: BSC_MESSAGE.Add(x_message => 'BSC_BIA_WRAPPER.Load_Reporting_Calendar: '||h_error_message,
393: x_source => 'BSC_UPDATE_INC.Do_Incremental');
394: RETURN FALSE;
395:
396: WHEN OTHERS THEN
397: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 398: x_source => 'BSC_UPDATE_INC.Do_Incremental');

394: RETURN FALSE;
395:
396: WHEN OTHERS THEN
397: BSC_MESSAGE.Add(x_message => SQLERRM,
398: x_source => 'BSC_UPDATE_INC.Do_Incremental');
399: RETURN FALSE;
400:
401: END Do_Incremental;
402:

Line 422: x_changed_calendars IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_number,

418: /*===========================================================================+
419: | FUNCTION Get_Changed_Calendars
420: +============================================================================*/
421: FUNCTION Get_Changed_Calendars (
422: x_changed_calendars IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_number,
423: x_num_changed_calendars IN OUT NOCOPY NUMBER
424: ) RETURN BOOLEAN IS
425:
426: TYPE t_cursor IS REF CURSOR;

Line 452: x_source => 'BSC_UPDATE_INC.Get_Changed_Calendars');

448:
449: EXCEPTION
450: WHEN OTHERS THEN
451: BSC_MESSAGE.Add(x_message => SQLERRM,
452: x_source => 'BSC_UPDATE_INC.Get_Changed_Calendars');
453: RETURN FALSE;
454:
455: END Get_Changed_Calendars;
456:

Line 462: x_color_indicators IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_number,

458: /*===========================================================================+
459: | FUNCTION Get_Color_Indics_Incremental
460: +============================================================================*/
461: FUNCTION Get_Color_Indics_Incremental (
462: x_color_indicators IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_number,
463: x_num_color_indicators IN OUT NOCOPY NUMBER
464: ) RETURN BOOLEAN IS
465:
466: TYPE t_cursor IS REF CURSOR;

Line 491: IF BSC_UPDATE.g_kpi_mode THEN

487: ') ';
488:
489: --BSC-BIS-DIMENSIONS: If Loader is running in KPI_MODE only consider indicators
490: -- in g_indicators
491: IF BSC_UPDATE.g_kpi_mode THEN
492:
493: IF BSC_UPDATE.g_num_indicators > 0 THEN
494:
495: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');

Line 493: IF BSC_UPDATE.g_num_indicators > 0 THEN

489: --BSC-BIS-DIMENSIONS: If Loader is running in KPI_MODE only consider indicators
490: -- in g_indicators
491: IF BSC_UPDATE.g_kpi_mode THEN
492:
493: IF BSC_UPDATE.g_num_indicators > 0 THEN
494:
495: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');
496: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
497: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));

Line 496: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP

492:
493: IF BSC_UPDATE.g_num_indicators > 0 THEN
494:
495: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');
496: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
497: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
498: END LOOP;
499: h_sql := h_sql||' AND ('||h_where_indics||')';
500: END IF;

Line 497: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));

493: IF BSC_UPDATE.g_num_indicators > 0 THEN
494:
495: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');
496: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
497: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
498: END LOOP;
499: h_sql := h_sql||' AND ('||h_where_indics||')';
500: END IF;
501: END IF;

Line 517: x_source => 'BSC_UPDATE_INC.Get_Color_Indics_Incremental');

513: RETURN TRUE;
514: EXCEPTION
515: WHEN OTHERS THEN
516: BSC_MESSAGE.Add(x_message => SQLERRM,
517: x_source => 'BSC_UPDATE_INC.Get_Color_Indics_Incremental');
518: RETURN FALSE;
519:
520: END Get_Color_Indics_Incremental;
521:

Line 527: x_input_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,

523: /*===========================================================================+
524: | FUNCTION Get_Input_Tables
525: +============================================================================*/
526: FUNCTION Get_Input_Tables(
527: x_input_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
528: x_num_input_tables IN OUT NOCOPY NUMBER,
529: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
530: x_num_tables IN NUMBER
531: ) RETURN BOOLEAN IS

Line 529: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,

525: +============================================================================*/
526: FUNCTION Get_Input_Tables(
527: x_input_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
528: x_num_input_tables IN OUT NOCOPY NUMBER,
529: x_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
530: x_num_tables IN NUMBER
531: ) RETURN BOOLEAN IS
532: e_unexpected_error EXCEPTION;
533:

Line 536: h_new_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

532: e_unexpected_error EXCEPTION;
533:
534: h_i NUMBER;
535:
536: h_new_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
537: h_num_new_tables NUMBER;
538:
539: h_table VARCHAR2(30);
540:

Line 562: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table, x_input_tables, x_num_input_tables) THEN

558: OPEN c_source_tables (h_table);
559: FETCH c_source_tables INTO h_source_table;
560: IF c_source_tables%NOTFOUND THEN
561: -- h_table is a input table => add to x_input_tables
562: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(h_table, x_input_tables, x_num_input_tables) THEN
563: x_num_input_tables := x_num_input_tables + 1;
564: x_input_tables(x_num_input_tables) := h_table;
565: END IF;
566: ELSE

Line 587: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_ITABLES_FAILED'),

583: RETURN TRUE;
584:
585: EXCEPTION
586: WHEN e_unexpected_error THEN
587: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_ITABLES_FAILED'),
588: x_source => 'BSC_UPDATE_INC.Get_Input_Tables');
589: RETURN FALSE;
590:
591: WHEN OTHERS THEN

Line 588: x_source => 'BSC_UPDATE_INC.Get_Input_Tables');

584:
585: EXCEPTION
586: WHEN e_unexpected_error THEN
587: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_ITABLES_FAILED'),
588: x_source => 'BSC_UPDATE_INC.Get_Input_Tables');
589: RETURN FALSE;
590:
591: WHEN OTHERS THEN
592: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 593: x_source => 'BSC_UPDATE_INC.Get_Input_Tables');

589: RETURN FALSE;
590:
591: WHEN OTHERS THEN
592: BSC_MESSAGE.Add(x_message => SQLERRM,
593: x_source => 'BSC_UPDATE_INC.Get_Input_Tables');
594: RETURN FALSE;
595: END Get_Input_Tables;
596:
597:

Line 602: x_input_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,

598: /*===========================================================================+
599: | FUNCTION Get_Input_Tables_Incremental
600: +============================================================================*/
601: FUNCTION Get_Input_Tables_Incremental (
602: x_input_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
603: x_num_input_tables IN OUT NOCOPY NUMBER
604: ) RETURN BOOLEAN IS
605:
606: e_unexpected_error EXCEPTION;

Line 614: h_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

610: h_sql VARCHAR2(32700);
611:
612: h_table VARCHAR2(30);
613:
614: h_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
615: h_num_tables NUMBER;
616:
617: h_i NUMBER;
618: h_where_indics VARCHAR2(32700);

Line 633: IF BSC_UPDATE.g_kpi_mode THEN

629: ' k.prototype_flag = :1 AND t.table_name IS NOT NULL';
630:
631: --BSC-BIS-DIMENSIONS: If Loader is running in KPI_MODE only consider indicators
632: -- in g_indicators
633: IF BSC_UPDATE.g_kpi_mode THEN
634: IF BSC_UPDATE.g_num_indicators > 0 THEN
635: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'k.indicator');
636: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
637: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));

Line 634: IF BSC_UPDATE.g_num_indicators > 0 THEN

630:
631: --BSC-BIS-DIMENSIONS: If Loader is running in KPI_MODE only consider indicators
632: -- in g_indicators
633: IF BSC_UPDATE.g_kpi_mode THEN
634: IF BSC_UPDATE.g_num_indicators > 0 THEN
635: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'k.indicator');
636: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
637: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
638: END LOOP;

Line 636: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP

632: -- in g_indicators
633: IF BSC_UPDATE.g_kpi_mode THEN
634: IF BSC_UPDATE.g_num_indicators > 0 THEN
635: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'k.indicator');
636: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
637: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
638: END LOOP;
639: h_sql := h_sql||' AND ('||h_where_indics||')';
640: END IF;

Line 637: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));

633: IF BSC_UPDATE.g_kpi_mode THEN
634: IF BSC_UPDATE.g_num_indicators > 0 THEN
635: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'k.indicator');
636: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
637: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
638: END LOOP;
639: h_sql := h_sql||' AND ('||h_where_indics||')';
640: END IF;
641: END IF;

Line 662: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_INCR_ITABLES_FAILED'),

658:
659: RETURN TRUE;
660: EXCEPTION
661: WHEN e_unexpected_error THEN
662: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_INCR_ITABLES_FAILED'),
663: x_source => 'BSC_UPDATE_INC.Get_Input_Tables_Incremental');
664: RETURN FALSE;
665:
666: WHEN OTHERS THEN

Line 663: x_source => 'BSC_UPDATE_INC.Get_Input_Tables_Incremental');

659: RETURN TRUE;
660: EXCEPTION
661: WHEN e_unexpected_error THEN
662: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_RETR_INCR_ITABLES_FAILED'),
663: x_source => 'BSC_UPDATE_INC.Get_Input_Tables_Incremental');
664: RETURN FALSE;
665:
666: WHEN OTHERS THEN
667: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 668: x_source => 'BSC_UPDATE_INC.Get_Input_Tables_Incremental');

664: RETURN FALSE;
665:
666: WHEN OTHERS THEN
667: BSC_MESSAGE.Add(x_message => SQLERRM,
668: x_source => 'BSC_UPDATE_INC.Get_Input_Tables_Incremental');
669: RETURN FALSE;
670:
671: END Get_Input_Tables_Incremental;
672:

Line 680: h_purge_indicators BSC_UPDATE_UTIL.t_array_of_number;

676: +============================================================================*/
677: FUNCTION Purge_Data_All_Indicators RETURN BOOLEAN IS
678: e_unexpected_error EXCEPTION;
679:
680: h_purge_indicators BSC_UPDATE_UTIL.t_array_of_number;
681: h_num_purge_indicators NUMBER;
682:
683: TYPE t_cursor IS REF CURSOR;
684:

Line 716: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

712: RETURN TRUE;
713:
714: EXCEPTION
715: WHEN e_unexpected_error THEN
716: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
717: x_source => 'BSC_UPDATE_INC.Purge_Data_All_Indicators');
718: RETURN FALSE;
719:
720: WHEN OTHERS THEN

Line 717: x_source => 'BSC_UPDATE_INC.Purge_Data_All_Indicators');

713:
714: EXCEPTION
715: WHEN e_unexpected_error THEN
716: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
717: x_source => 'BSC_UPDATE_INC.Purge_Data_All_Indicators');
718: RETURN FALSE;
719:
720: WHEN OTHERS THEN
721: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 722: x_source => 'BSC_UPDATE_INC.Purge_Data_All_Indicators');

718: RETURN FALSE;
719:
720: WHEN OTHERS THEN
721: BSC_MESSAGE.Add(x_message => SQLERRM,
722: x_source => 'BSC_UPDATE_INC.Purge_Data_All_Indicators');
723: RETURN FALSE;
724:
725: END Purge_Data_All_Indicators;
726:

Line 739: h_purge_indicators BSC_UPDATE_UTIL.t_array_of_number;

735: e_unexpected_error EXCEPTION;
736: --LOCKING
737: e_could_not_get_lock EXCEPTION;
738:
739: h_purge_indicators BSC_UPDATE_UTIL.t_array_of_number;
740: h_num_purge_indicators NUMBER;
741:
742: TYPE t_cursor IS REF CURSOR;
743:

Line 778: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');

774: EXCEPTION
775: --LOCKING
776: WHEN e_could_not_get_lock THEN
777: BSC_MESSAGE.Add(x_message => 'Loader could not get the required locks to continue.',
778: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');
779: RETURN FALSE;
780:
781: WHEN e_unexpected_error THEN
782: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

Line 782: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

778: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');
779: RETURN FALSE;
780:
781: WHEN e_unexpected_error THEN
782: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
783: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');
784: RETURN FALSE;
785:
786: WHEN OTHERS THEN

Line 783: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');

779: RETURN FALSE;
780:
781: WHEN e_unexpected_error THEN
782: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
783: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');
784: RETURN FALSE;
785:
786: WHEN OTHERS THEN
787: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 788: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');

784: RETURN FALSE;
785:
786: WHEN OTHERS THEN
787: BSC_MESSAGE.Add(x_message => SQLERRM,
788: x_source => 'BSC_UPDATE_INC.Purge_Data_Indicators_Calendar');
789: RETURN FALSE;
790:
791: END Purge_Data_Indicators_Calendar;
792:

Line 798: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,

794: /*===========================================================================+
795: | FUNCTION Purge_Indicators_Data
796: +============================================================================*/
797: FUNCTION Purge_Indicators_Data (
798: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,
799: x_num_purge_indicators IN NUMBER
800: ) RETURN BOOLEAN IS
801: e_unexpected_error EXCEPTION;
802: Begin

Line 806: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

802: Begin
803: return Purge_Indicators_Data(x_purge_indicators,x_num_purge_indicators,'N');
804: EXCEPTION
805: WHEN e_unexpected_error THEN
806: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
807: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
808: RETURN FALSE;
809:
810: WHEN OTHERS THEN

Line 807: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');

803: return Purge_Indicators_Data(x_purge_indicators,x_num_purge_indicators,'N');
804: EXCEPTION
805: WHEN e_unexpected_error THEN
806: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
807: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
808: RETURN FALSE;
809:
810: WHEN OTHERS THEN
811: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 812: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');

808: RETURN FALSE;
809:
810: WHEN OTHERS THEN
811: BSC_MESSAGE.Add(x_message => SQLERRM,
812: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
813: RETURN FALSE;
814:
815: END Purge_Indicators_Data;
816:

Line 818: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,

814:
815: END Purge_Indicators_Data;
816:
817: FUNCTION Purge_Indicators_Data (
818: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,
819: x_num_purge_indicators IN NUMBER,
820: x_keep_input_data varchar2
821: ) RETURN BOOLEAN IS
822:

Line 827: h_purge_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

823: e_unexpected_error EXCEPTION;
824: --LOCKING
825: e_could_not_get_lock EXCEPTION;
826:
827: h_purge_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
828: h_num_purge_tables NUMBER;
829:
830: h_system_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
831: h_num_system_tables NUMBER;

Line 830: h_system_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

826:
827: h_purge_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
828: h_num_purge_tables NUMBER;
829:
830: h_system_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
831: h_num_system_tables NUMBER;
832:
833: TYPE t_cursor IS REF CURSOR;
834: h_cursor t_cursor;

Line 848: l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_number;

844: h_current_fy NUMBER;
845: h_message VARCHAR2(4000);
846:
847: h_calendar_id NUMBER;
848: l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_number;
849: l_num_bind_vars NUMBER;
850:
851: h_where_tables_mv VARCHAR2(32700);
852: h_base_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

Line 852: h_base_tables BSC_UPDATE_UTIL.t_array_of_varchar2;

848: l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_number;
849: l_num_bind_vars NUMBER;
850:
851: h_where_tables_mv VARCHAR2(32700);
852: h_base_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
853: h_num_base_tables NUMBER;
854:
855: --AW_INTEGRATION: New variables
856: h_aw_indicators BSC_UPDATE_UTIL.t_array_of_number;

Line 856: h_aw_indicators BSC_UPDATE_UTIL.t_array_of_number;

852: h_base_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
853: h_num_base_tables NUMBER;
854:
855: --AW_INTEGRATION: New variables
856: h_aw_indicators BSC_UPDATE_UTIL.t_array_of_number;
857: h_num_aw_indicators NUMBER;
858: h_aw_table_name VARCHAR2(30);
859:
860: --LOCKING: new variables

Line 861: h_lock_indicators BSC_UPDATE_UTIL.t_array_of_number;

857: h_num_aw_indicators NUMBER;
858: h_aw_table_name VARCHAR2(30);
859:
860: --LOCKING: new variables
861: h_lock_indicators BSC_UPDATE_UTIL.t_array_of_number;
862: h_num_lock_indicators NUMBER;
863:
864: -- ENH_B_TABLES_PERF: new variable
865: h_proj_tbl_name VARCHAR2(30);

Line 890: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(x_purge_indicators(h_i)) = 2 THEN

886: BSC_APPS.Add_Value_Big_In_Cond(1, x_purge_indicators(h_i));
887:
888: --AW_INTEGRATION: We need to truncate the cubes of the Aw indicators.
889: --I am going to add aw kpis in the array h_aw_indicators to be truncated later.
890: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(x_purge_indicators(h_i)) = 2 THEN
891: h_num_aw_indicators := h_num_aw_indicators + 1;
892: h_aw_indicators(h_num_aw_indicators) := x_purge_indicators(h_i);
893: END IF;
894:

Line 931: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPIDATA_DELETION'), BSC_UPDATE_LOG.OUTPUT);

927: FOR h_i IN 1 .. h_num_purge_tables LOOP
928: BSC_APPS.Add_Value_Big_In_Cond(2, h_purge_tables(h_i));
929: END LOOP;
930:
931: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPIDATA_DELETION'), BSC_UPDATE_LOG.OUTPUT);
932:
933: FOR h_i IN 1 .. x_num_purge_indicators LOOP
934: BSC_UPDATE_LOG.Write_Line_log(x_purge_indicators(h_i), BSC_UPDATE_LOG.OUTPUT);
935: END LOOP;

Line 934: BSC_UPDATE_LOG.Write_Line_log(x_purge_indicators(h_i), BSC_UPDATE_LOG.OUTPUT);

930:
931: BSC_UPDATE_LOG.Write_Line_log(BSC_UPDATE_UTIL.Get_Message('BSC_KPIDATA_DELETION'), BSC_UPDATE_LOG.OUTPUT);
932:
933: FOR h_i IN 1 .. x_num_purge_indicators LOOP
934: BSC_UPDATE_LOG.Write_Line_log(x_purge_indicators(h_i), BSC_UPDATE_LOG.OUTPUT);
935: END LOOP;
936:
937: -- Add to the condition string of the indicators the interrelated
938: -- indicators

Line 949: BSC_UPDATE_LOG.Write_Line_log(h_indicator, BSC_UPDATE_LOG.OUTPUT);

945: FETCH h_cursor INTO h_indicator;
946: WHILE h_cursor%FOUND LOOP
947: BSC_APPS.Add_Value_Big_In_Cond(1, h_indicator);
948:
949: BSC_UPDATE_LOG.Write_Line_log(h_indicator, BSC_UPDATE_LOG.OUTPUT);
950:
951: --AW_INTEGRATION: We need to truncate the cubes of the Aw indicators.
952: --I am going to add aw kpis in the array h_aw_indicators to be truncated later.
953: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(h_indicator) = 2 THEN

Line 953: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(h_indicator) = 2 THEN

949: BSC_UPDATE_LOG.Write_Line_log(h_indicator, BSC_UPDATE_LOG.OUTPUT);
950:
951: --AW_INTEGRATION: We need to truncate the cubes of the Aw indicators.
952: --I am going to add aw kpis in the array h_aw_indicators to be truncated later.
953: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(h_indicator) = 2 THEN
954: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Number(h_indicator, h_aw_indicators, h_num_aw_indicators) THEN
955: h_num_aw_indicators := h_num_aw_indicators + 1;
956: h_aw_indicators(h_num_aw_indicators) := h_indicator;
957: END IF;

Line 954: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Number(h_indicator, h_aw_indicators, h_num_aw_indicators) THEN

950:
951: --AW_INTEGRATION: We need to truncate the cubes of the Aw indicators.
952: --I am going to add aw kpis in the array h_aw_indicators to be truncated later.
953: IF BSC_UPDATE_UTIL.Get_Kpi_Impl_Type(h_indicator) = 2 THEN
954: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Number(h_indicator, h_aw_indicators, h_num_aw_indicators) THEN
955: h_num_aw_indicators := h_num_aw_indicators + 1;
956: h_aw_indicators(h_num_aw_indicators) := h_indicator;
957: END IF;
958: END IF;

Line 962: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Number(h_indicator, h_lock_indicators, h_num_lock_indicators) THEN

958: END IF;
959:
960: --LOCKING: Add kpis to array h_lock_indicators. Later I need to lock the
961: -- period of those indicators
962: IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Number(h_indicator, h_lock_indicators, h_num_lock_indicators) THEN
963: h_num_lock_indicators := h_num_lock_indicators + 1;
964: h_lock_indicators(h_num_lock_indicators) := h_indicator;
965: END IF;
966:

Line 985: IF BSC_UPDATE_UTIL.Get_Table_Generation_Type(h_purge_tables(h_i)) <> -1 THEN

981: FOR h_i IN 1 .. h_num_purge_tables LOOP
982: IF BSC_APPS.bsc_mv THEN
983: -- BSC-MV Architecture
984:
985: IF BSC_UPDATE_UTIL.Get_Table_Generation_Type(h_purge_tables(h_i)) <> -1 THEN
986: -- It is an input, base table or a table created to store the projection at kpi level
987:
988: --added for 5.2 when launched from RSG, we should not truncate the input tables
989: --input tables will be populated first. then rsg called. for initial load, rsg will call

Line 994: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN

990: --purge. then immediately, it will call load. if we truncate input table, there are no rows
991: --to process
992:
993: IF x_keep_input_data='Y' THEN
994: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN
995: -- It is not an input table, we can truncate it.
996:
997: --LOCKING: Lock the table
998: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

Line 998: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

994: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN
995: -- It is not an input table, we can truncate it.
996:
997: --LOCKING: Lock the table
998: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN
999: RAISE e_could_not_get_lock;
1000: END IF;
1001:
1002: --LOCKING: Call the autonomous transaction function

Line 1003: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));

999: RAISE e_could_not_get_lock;
1000: END IF;
1001:
1002: --LOCKING: Call the autonomous transaction function
1003: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1004:
1005: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1006: -- We need to truncate the projection table too.
1007: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

Line 1007: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

1003: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1004:
1005: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1006: -- We need to truncate the projection table too.
1007: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1008: IF h_proj_tbl_name IS NOT NULL THEN
1009: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1010: END IF;
1011:

Line 1009: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);

1005: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1006: -- We need to truncate the projection table too.
1007: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1008: IF h_proj_tbl_name IS NOT NULL THEN
1009: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1010: END IF;
1011:
1012: --LOCKING: commit to release locks
1013: COMMIT;

Line 1015: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');

1011:
1012: --LOCKING: commit to release locks
1013: COMMIT;
1014:
1015: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1016: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1017: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1018:
1019: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));

Line 1016: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));

1012: --LOCKING: commit to release locks
1013: COMMIT;
1014:
1015: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1016: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1017: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1018:
1019: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));
1020: END IF;

Line 1017: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);

1013: COMMIT;
1014:
1015: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1016: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1017: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1018:
1019: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));
1020: END IF;
1021: ELSE

Line 1025: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

1021: ELSE
1022: -- We can truncate the table no matter if it is an input table
1023:
1024: --LOCKING: Lock the table
1025: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN
1026: RAISE e_could_not_get_lock;
1027: END IF;
1028:
1029: --LOCKING: Call the autonomous transaction function

Line 1030: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));

1026: RAISE e_could_not_get_lock;
1027: END IF;
1028:
1029: --LOCKING: Call the autonomous transaction function
1030: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1031:
1032: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1033: -- We need to truncate the projection table too.
1034: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

Line 1034: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

1030: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1031:
1032: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1033: -- We need to truncate the projection table too.
1034: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1035: IF h_proj_tbl_name IS NOT NULL THEN
1036: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1037: END IF;
1038:

Line 1036: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);

1032: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1033: -- We need to truncate the projection table too.
1034: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1035: IF h_proj_tbl_name IS NOT NULL THEN
1036: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1037: END IF;
1038:
1039: --LOCKING: commit to release locks
1040: COMMIT;

Line 1042: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');

1038:
1039: --LOCKING: commit to release locks
1040: COMMIT;
1041:
1042: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1043: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1044: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1045:
1046: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));

Line 1043: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));

1039: --LOCKING: commit to release locks
1040: COMMIT;
1041:
1042: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1043: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1044: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1045:
1046: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));
1047: END IF;

Line 1044: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);

1040: COMMIT;
1041:
1042: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1043: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1044: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1045:
1046: BSC_APPS.Add_Value_Big_In_Cond(3, h_purge_tables(h_i));
1047: END IF;
1048: END IF;

Line 1058: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN

1054: --purge. then immediately, it will call load. if we truncate input table, there are no rows
1055: --to process
1056:
1057: IF x_keep_input_data='Y' THEN
1058: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN
1059: -- It is not an input table, we can truncate it.
1060:
1061: --LOCKING: Lock the table
1062: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

Line 1062: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

1058: IF BSC_UPDATE_UTIL.Get_Table_Type(h_purge_tables(h_i)) <> 0 THEN
1059: -- It is not an input table, we can truncate it.
1060:
1061: --LOCKING: Lock the table
1062: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN
1063: RAISE e_could_not_get_lock;
1064: END IF;
1065:
1066: --LOCKING: Call the autonomous transaction function

Line 1067: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));

1063: RAISE e_could_not_get_lock;
1064: END IF;
1065:
1066: --LOCKING: Call the autonomous transaction function
1067: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1068:
1069: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1070: -- We need to truncate the projection table too.
1071: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

Line 1071: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

1067: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1068:
1069: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1070: -- We need to truncate the projection table too.
1071: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1072: IF h_proj_tbl_name IS NOT NULL THEN
1073: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1074: END IF;
1075:

Line 1073: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);

1069: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1070: -- We need to truncate the projection table too.
1071: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1072: IF h_proj_tbl_name IS NOT NULL THEN
1073: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1074: END IF;
1075:
1076: --LOCKING: commit to release locks
1077: COMMIT;

Line 1079: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');

1075:
1076: --LOCKING: commit to release locks
1077: COMMIT;
1078:
1079: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1080: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1081: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1082: END IF;
1083: ELSE

Line 1080: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));

1076: --LOCKING: commit to release locks
1077: COMMIT;
1078:
1079: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1080: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1081: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1082: END IF;
1083: ELSE
1084: -- We can truncate all tables no matter if it is an input table

Line 1081: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);

1077: COMMIT;
1078:
1079: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1080: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1081: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1082: END IF;
1083: ELSE
1084: -- We can truncate all tables no matter if it is an input table
1085: --LOCKING: Lock the table

Line 1086: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN

1082: END IF;
1083: ELSE
1084: -- We can truncate all tables no matter if it is an input table
1085: --LOCKING: Lock the table
1086: IF NOT BSC_UPDATE_LOCK.Lock_Table(h_purge_tables(h_i)) THEN
1087: RAISE e_could_not_get_lock;
1088: END IF;
1089:
1090: --LOCKING: Call the autonomous transaction function

Line 1091: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));

1087: RAISE e_could_not_get_lock;
1088: END IF;
1089:
1090: --LOCKING: Call the autonomous transaction function
1091: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1092:
1093: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1094: -- We need to truncate the projection table too.
1095: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

Line 1095: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));

1091: BSC_UPDATE_UTIL.Truncate_Table_AT(h_purge_tables(h_i));
1092:
1093: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1094: -- We need to truncate the projection table too.
1095: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1096: IF h_proj_tbl_name IS NOT NULL THEN
1097: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1098: END IF;
1099:

Line 1097: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);

1093: -- ENH_B_TABLES_PERF: with the new strategy the B table may have a projection table
1094: -- We need to truncate the projection table too.
1095: h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_purge_tables(h_i));
1096: IF h_proj_tbl_name IS NOT NULL THEN
1097: BSC_UPDATE_UTIL.Truncate_Table_AT(h_proj_tbl_name);
1098: END IF;
1099:
1100: --LOCKING: commit to release locks
1101: COMMIT;

Line 1103: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');

1099:
1100: --LOCKING: commit to release locks
1101: COMMIT;
1102:
1103: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1104: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1105: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1106: END IF;
1107: END IF;

Line 1104: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));

1100: --LOCKING: commit to release locks
1101: COMMIT;
1102:
1103: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1104: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1105: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1106: END IF;
1107: END IF;
1108: END LOOP;

Line 1105: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);

1101: COMMIT;
1102:
1103: h_message := BSC_UPDATE_UTIL.Get_Message('BSC_TABLE_NAME_DELETION');
1104: h_message := BSC_UPDATE_UTIL.Replace_Token(h_message, 'TABLE_NAME', h_purge_tables(h_i));
1105: BSC_UPDATE_LOG.Write_Line_log(h_message, BSC_UPDATE_LOG.OUTPUT);
1106: END IF;
1107: END IF;
1108: END LOOP;
1109:

Line 1124: IF BSC_UPDATE_UTIL.Is_Table_For_AW_Kpi(h_table_name) THEN

1120: LOOP
1121: FETCH h_cursor INTO h_table_name;
1122: EXIT WHEN h_cursor%NOTFOUND;
1123:
1124: IF BSC_UPDATE_UTIL.Is_Table_For_AW_Kpi(h_table_name) THEN
1125: -- Base table for AW indicators
1126:
1127: -- Fix bug#4567847: there is no aw table created for the base table any more.
1128: NULL;

Line 1139: IF NOT BSC_UPDATE.Refresh_System_MVs(h_base_tables, h_num_base_tables) THEN

1135: CLOSE h_cursor;
1136:
1137: -- Refresh Mvs
1138: IF h_num_base_tables > 0 THEN
1139: IF NOT BSC_UPDATE.Refresh_System_MVs(h_base_tables, h_num_base_tables) THEN
1140: RAISE e_unexpected_error;
1141: END IF;
1142: END IF;
1143:

Line 1147: IF NOT BSC_UPDATE_LOCK.Lock_AW_Indicator_Cubes(h_aw_indicators(h_i)) THEN

1143:
1144: -- AW_INTEGRATION: Truncate kpis cubes
1145: FOR h_i IN 1..h_num_aw_indicators LOOP
1146: --LOCKING: lock the aw cubes of the indicator
1147: IF NOT BSC_UPDATE_LOCK.Lock_AW_Indicator_Cubes(h_aw_indicators(h_i)) THEN
1148: RAISE e_could_not_get_lock;
1149: END IF;
1150:
1151: --LOCKING: call the autonomous transaction procedure

Line 1161: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicators(h_lock_indicators, h_num_lock_indicators) THEN

1157: END IF;
1158:
1159: -- Reset to gray the color of the indicators
1160: --LOCKING: Lock the color of the indicators
1161: IF NOT BSC_UPDATE_LOCK.Lock_Color_Indicators(h_lock_indicators, h_num_lock_indicators) THEN
1162: RAISE e_could_not_get_lock;
1163: END IF;
1164:
1165: h_sql := 'UPDATE bsc_sys_kpi_colors';

Line 1171: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;

1167: h_sql := h_sql||' actual_data = NULL,';
1168: h_sql := h_sql||' budget_data = NULL';
1169: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1170: l_bind_vars_values.delete;
1171: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;
1172: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1173:
1174: h_sql := 'UPDATE bsc_sys_objective_colors';
1175: h_sql := h_sql||' SET obj_color = :1 ';

Line 1172: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);

1168: h_sql := h_sql||' budget_data = NULL';
1169: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1170: l_bind_vars_values.delete;
1171: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;
1172: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1173:
1174: h_sql := 'UPDATE bsc_sys_objective_colors';
1175: h_sql := h_sql||' SET obj_color = :1 ';
1176: h_sql := h_sql||' WHERE ('||h_where_indics||')';

Line 1178: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;

1174: h_sql := 'UPDATE bsc_sys_objective_colors';
1175: h_sql := h_sql||' SET obj_color = :1 ';
1176: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1177: l_bind_vars_values.delete;
1178: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;
1179: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1180:
1181:
1182: --LOCKING: commit to release the locks

Line 1179: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);

1175: h_sql := h_sql||' SET obj_color = :1 ';
1176: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1177: l_bind_vars_values.delete;
1178: l_bind_vars_values(1) := BSC_UPDATE_COLOR.GRAY;
1179: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1180:
1181:
1182: --LOCKING: commit to release the locks
1183: COMMIT;

Line 1188: IF NOT BSC_UPDATE_LOCK.Lock_Tables(h_purge_tables, h_num_purge_tables) THEN

1184:
1185: -- Reset some information by calendar
1186: --LOCKING: Lock the tables. We are going to udate the current period of
1187: -- all the tables and we need to prevent loader is processing those tables at the same time
1188: IF NOT BSC_UPDATE_LOCK.Lock_Tables(h_purge_tables, h_num_purge_tables) THEN
1189: RAISE e_could_not_get_lock;
1190: END IF;
1191:
1192: --LOCKING: Lock the update period of the indicators. We are going to upadte the current period

Line 1194: IF NOT BSC_UPDATE_LOCK.Lock_Period_Indicators(h_lock_indicators, h_num_lock_indicators) THEN

1190: END IF;
1191:
1192: --LOCKING: Lock the update period of the indicators. We are going to upadte the current period
1193: -- of all the affected indicators
1194: IF NOT BSC_UPDATE_LOCK.Lock_Period_Indicators(h_lock_indicators, h_num_lock_indicators) THEN
1195: RAISE e_could_not_get_lock;
1196: END IF;
1197:
1198: -- LOCKING: review not commit between this point and the commit to release the locks

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

1204: OPEN h_cursor FOR h_sql;
1205: FETCH h_cursor INTO h_calendar_id;
1206: WHILE h_cursor%FOUND LOOP
1207: -- Get the current fiscal year
1208: h_current_fy := BSC_UPDATE_UTIL.Get_Calendar_Fiscal_Year(h_calendar_id);
1209:
1210: -- Reset the current period of the tables
1211: h_sql := 'UPDATE'||
1212: ' bsc_db_tables '||

Line 1230: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,2);

1226: ' ('||h_where_tables||')';
1227: l_bind_vars_values.delete;
1228: l_bind_vars_values(1) := h_current_fy;
1229: l_bind_vars_values(2) := h_calendar_id;
1230: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,2);
1231:
1232: h_sql := 'UPDATE'||
1233: ' bsc_db_tables '||
1234: 'SET '||

Line 1250: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);

1246: ' yearly_flag = 0) AND '||
1247: ' ('||h_where_tables||')';
1248: l_bind_vars_values.delete;
1249: l_bind_vars_values(1) := h_calendar_id;
1250: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1251:
1252: -- Reset the current period of the indicators
1253: h_sql := 'UPDATE '||
1254: ' bsc_kpi_periodicities '||

Line 1270: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,2);

1266: ' ('||h_where_indics||')';
1267: l_bind_vars_values.delete;
1268: l_bind_vars_values(1) := h_current_fy;
1269: l_bind_vars_values(2) := h_calendar_id;
1270: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,2);
1271:
1272: h_sql := 'UPDATE '||
1273: ' bsc_kpi_periodicities '||
1274: 'SET '||

Line 1288: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);

1284: ' yearly_flag = 0) AND '||
1285: ' ('||h_where_indics||')';
1286: l_bind_vars_values.delete;
1287: l_bind_vars_values(1) := h_calendar_id;
1288: BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,1);
1289:
1290: FETCH h_cursor INTO h_calendar_id;
1291: END LOOP;
1292: CLOSE h_cursor;

Line 1298: IF NOT BSC_UPDATE_UTIL.Update_Kpi_Period_Name(x_purge_indicators(h_i)) THEN

1294: -- Update the name of period of indicators in BSC_KPI_DEFAULTS_TL table
1295: FOR h_i IN 1 .. x_num_purge_indicators LOOP
1296: --LOCKING: there is not commit inside this function, so no need to call
1297: -- an autonomous transaction
1298: IF NOT BSC_UPDATE_UTIL.Update_Kpi_Period_Name(x_purge_indicators(h_i)) THEN
1299: RAISE e_unexpected_error;
1300: END IF;
1301: END LOOP;
1302:

Line 1306: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1302:
1303: -- Update date of indicators
1304: h_sql := 'UPDATE bsc_kpi_defaults_b SET last_update_date = SYSDATE';
1305: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1306: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1307:
1308: -- Update Kpis time stamp
1309: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_where_indics);
1310:

Line 1309: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_where_indics);

1305: h_sql := h_sql||' WHERE ('||h_where_indics||')';
1306: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1307:
1308: -- Update Kpis time stamp
1309: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_where_indics);
1310:
1311: -- Update Tabs time stamp
1312: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_where_indics);
1313:

Line 1312: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_where_indics);

1308: -- Update Kpis time stamp
1309: BSC_UPDATE_UTIL.Update_Kpi_Time_Stamp(h_where_indics);
1310:
1311: -- Update Tabs time stamp
1312: BSC_UPDATE_UTIL.Update_Kpi_Tab_Time_Stamp(h_where_indics);
1313:
1314: -- LOCKING: commit to release the locks
1315: COMMIT;
1316: END IF;

Line 1324: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');

1320: EXCEPTION
1321: --LOCKING
1322: WHEN e_could_not_get_lock THEN
1323: BSC_MESSAGE.Add(x_message => 'Loader could not get the required locks to continue.',
1324: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
1325: RETURN FALSE;
1326:
1327: WHEN e_unexpected_error THEN
1328: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

Line 1328: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),

1324: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
1325: RETURN FALSE;
1326:
1327: WHEN e_unexpected_error THEN
1328: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
1329: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
1330: RETURN FALSE;
1331:
1332: WHEN OTHERS THEN

Line 1329: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');

1325: RETURN FALSE;
1326:
1327: WHEN e_unexpected_error THEN
1328: BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_PURGE_KPIS_FAILED'),
1329: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
1330: RETURN FALSE;
1331:
1332: WHEN OTHERS THEN
1333: BSC_MESSAGE.Add(x_message => SQLERRM,

Line 1334: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');

1330: RETURN FALSE;
1331:
1332: WHEN OTHERS THEN
1333: BSC_MESSAGE.Add(x_message => SQLERRM,
1334: x_source => 'BSC_UPDATE_INC.Purge_Indicators_Data');
1335: RETURN FALSE;
1336:
1337: END Purge_Indicators_Data;
1338:

Line 1344: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,

1340: /*===========================================================================+
1341: | FUNCTION Purge_Indicators_Data_AT
1342: +============================================================================*/
1343: FUNCTION Purge_Indicators_Data_AT (
1344: x_purge_indicators IN BSC_UPDATE_UTIL.t_array_of_number,
1345: x_num_purge_indicators IN NUMBER,
1346: x_keep_input_data varchar2
1347: ) RETURN BOOLEAN IS
1348: PRAGMA AUTONOMOUS_TRANSACTION;

Line 1368: IF (BSC_UPDATE.g_kpi_mode) AND (BSC_UPDATE.g_num_indicators > 0) THEN

1364: h_sql_kpi VARCHAR2(32000);
1365: h_where_indics VARCHAR2(32000);
1366: h_i NUMBER;
1367: BEGIN
1368: IF (BSC_UPDATE.g_kpi_mode) AND (BSC_UPDATE.g_num_indicators > 0) THEN
1369: h_sql := 'UPDATE bsc_kpis_b'||
1370: ' SET prototype_flag = 0, last_update_date = SYSDATE'||
1371: ' WHERE prototype_flag IN (6, 7)';
1372:

Line 1379: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP

1375: ' SET prototype_flag = 0 ' ||
1376: ' WHERE prototype_flag = 7 ';
1377:
1378: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');
1379: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
1380: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
1381: END LOOP;
1382: h_sql := h_sql || ' AND (' || h_where_indics || ')';
1383: h_sql_kpi := h_sql_kpi || ' AND (' || h_where_indics || ')';

Line 1380: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));

1376: ' WHERE prototype_flag = 7 ';
1377:
1378: h_where_indics := BSC_APPS.Get_New_Big_In_Cond_Number(1, 'indicator');
1379: FOR h_i IN 1 .. BSC_UPDATE.g_num_indicators LOOP
1380: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
1381: END LOOP;
1382: h_sql := h_sql || ' AND (' || h_where_indics || ')';
1383: h_sql_kpi := h_sql_kpi || ' AND (' || h_where_indics || ')';
1384: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

Line 1384: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);

1380: BSC_APPS.Add_Value_Big_In_Cond(1, BSC_UPDATE.g_indicators(h_i));
1381: END LOOP;
1382: h_sql := h_sql || ' AND (' || h_where_indics || ')';
1383: h_sql_kpi := h_sql_kpi || ' AND (' || h_where_indics || ')';
1384: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1385: BSC_UPDATE_UTIL.Execute_Immediate(h_sql_kpi);
1386: ELSE
1387: UPDATE bsc_kpis_b
1388: SET prototype_flag = 0, last_update_date = SYSDATE

Line 1385: BSC_UPDATE_UTIL.Execute_Immediate(h_sql_kpi);

1381: END LOOP;
1382: h_sql := h_sql || ' AND (' || h_where_indics || ')';
1383: h_sql_kpi := h_sql_kpi || ' AND (' || h_where_indics || ')';
1384: BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
1385: BSC_UPDATE_UTIL.Execute_Immediate(h_sql_kpi);
1386: ELSE
1387: UPDATE bsc_kpis_b
1388: SET prototype_flag = 0, last_update_date = SYSDATE
1389: WHERE prototype_flag IN (6, 7);

Line 1401: x_source => 'BSC_UPDATE_INC.Reset_Flag_Indicators');

1397: RETURN TRUE;
1398: EXCEPTION
1399: WHEN OTHERS THEN
1400: BSC_MESSAGE.Add(x_message => SQLERRM,
1401: x_source => 'BSC_UPDATE_INC.Reset_Flag_Indicators');
1402: RETURN FALSE;
1403: END Reset_Flag_Indicators;
1404:
1405:

Line 1422: END BSC_UPDATE_INC;

1418: );
1419: commit; -- autonomous transactions need to commit
1420: END Purge_AW_Indicator_AT;
1421:
1422: END BSC_UPDATE_INC;