DBA Data[Home] [Help]

APPS.BSC_UPDATE_DIM SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 37

    h_sql := 'SELECT d.code'||
             ' FROM '||x_dimension_table||' d, '||x_temp_table||' t'||
             ' WHERE d.code = t.code AND ('||h_cond||')';
Line: 71

    l_parent_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 72

    l_src_parent_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 107

                                   BSC_UPDATE_UTIL.Make_Lst_Description(l_parent_columns, l_num_parent_columns, 'VARCHAR2(400)');
Line: 129

            SELECT COUNT(1) INTO l_count
            FROM all_snapshot_logs
            WHERE master = l_table_name AND log_owner = l_table_owner;
Line: 136

                SELECT COUNT(1) INTO l_count
                FROM all_constraints
                WHERE owner = l_table_owner AND constraint_type = 'P' AND table_name = l_table_name;
Line: 159

                    l_sql := l_sql||','||BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(l_parent_columns, l_num_parent_columns);
Line: 243

    h_table_columns BSC_UPDATE_UTIL.t_array_temp_table_cols;
Line: 254

    h_table_name := 'BSC_AW_DIM_DELETE';
Line: 255

    h_table_columns.delete;
Line: 263

    h_table_columns(h_num_columns).column_name := 'DELETE_VALUE';
Line: 268

    IF NOT BSC_UPDATE_UTIL.Create_Permanent_Table(h_table_name, h_table_columns, h_num_columns,
                                                  h_tablespace, h_idx_tablespace) THEN
        RAISE e_unexpected_error;
Line: 276

    h_table_columns.delete;
Line: 288

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 294

    h_table_columns.delete;
Line: 306

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 312

    h_table_columns.delete;
Line: 334

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 342

      BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR'),
                      x_source => 'BSC_UPDATE_DIM.Create_AW_Dim_Temp_Tables');
Line: 348

                      x_source => 'BSC_UPDATE_DIM.Create_AW_Dim_Temp_Tables');
Line: 375

    h_table_columns BSC_UPDATE_UTIL.t_array_temp_table_cols;
Line: 387

    h_table_columns.delete;
Line: 416

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 422

    h_table_columns.delete;
Line: 429

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 435

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 442

    h_table_columns.delete;
Line: 464

    IF NOT BSC_UPDATE_UTIL.Create_Permanent_Table(h_table_name, h_table_columns, h_num_columns,
                                                  h_tablespace, h_idx_tablespace) THEN
        RAISE e_unexpected_error;
Line: 472

    h_table_columns.delete;
Line: 494

    IF NOT BSC_UPDATE_UTIL.Create_Global_Temp_Table(h_table_name, h_table_columns, h_num_columns) THEN
        RAISE e_unexpected_error;
Line: 502

      BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR'),
                      x_source => 'BSC_UPDATE_DIM.Create_Dbi_Dim_Temp_Tables');
Line: 508

                      x_source => 'BSC_UPDATE_DIM.Create_Dbi_Dim_Temp_Tables');
Line: 514

| FUNCTION Delete_Codes_Cascade
+============================================================================*/
FUNCTION Delete_Codes_Cascade(
	x_dim_table IN VARCHAR2,
	x_deleted_codes IN BSC_UPDATE_UTIL.t_array_of_number,
	x_num_deleted_codes IN NUMBER
	) RETURN BOOLEAN IS

    e_unexpected_error EXCEPTION;
Line: 529

        SELECT dim_level_id, level_pk_col
        FROM bsc_sys_dim_levels_b
        WHERE level_table_name = p_level_table_name;
Line: 537

        SELECT r.relation_col, t.level_pk_col
        FROM bsc_sys_dim_level_rels r, bsc_sys_dim_levels_b t
        WHERE t.dim_level_id = r.parent_dim_level_id AND
              r.dim_level_id = p_dim_level_id AND r.relation_type = p_relation_type;
Line: 546

        SELECT t.level_table_name
        FROM bsc_sys_dim_levels_b t, bsc_sys_dim_level_rels r
        WHERE t.dim_level_id = r.dim_level_id AND
              r.parent_dim_level_id = p_parent_id AND r.relation_type = p_relation_type;
Line: 556

    h_deleted_codes 	BSC_UPDATE_UTIL.t_array_of_number;
Line: 561

    h_deleted_codes1 	BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 562

    h_deleted_codes2 	BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 563

    h_num_deleted_codes NUMBER;
Line: 573

    h_num_deleted_codes := 0;
Line: 591

    FOR h_i IN 1..x_num_deleted_codes LOOP
        BSC_APPS.Add_Value_Big_In_Cond(1, x_deleted_codes(h_i));
Line: 595

    IF NOT Delete_Key_Values_In_Tables(h_level_pk_col, h_condition) THEN
        RAISE e_unexpected_error;
Line: 605

        FOR h_i IN 1..x_num_deleted_codes LOOP
            BSC_APPS.Add_Value_Big_In_Cond(1, x_deleted_codes(h_i));
Line: 609

        h_sql := 'SELECT '||h_level_pk_col||', '||h_mn_level_pk_col||
                 ' FROM '||h_mn_dim_table||
                 ' WHERE '||h_condition;
Line: 613

        h_num_deleted_codes := 0;
Line: 618

            h_num_deleted_codes := h_num_deleted_codes + 1;
Line: 619

            h_deleted_codes1(h_num_deleted_codes) := h_code1;
Line: 620

            h_deleted_codes2(h_num_deleted_codes) := h_code2;
Line: 626

        IF h_num_deleted_codes > 0 THEN
            IF NOT Delete_Codes_CascadeMN(h_mn_dim_table,
                                          h_level_pk_col,
                                          h_mn_level_pk_col,
                                          h_deleted_codes1,
                                          h_deleted_codes2,
                                          h_num_deleted_codes) THEN
                RAISE e_unexpected_error;
Line: 649

        FOR h_i IN 1..x_num_deleted_codes LOOP
            BSC_APPS.Add_Value_Big_In_Cond(1, x_deleted_codes(h_i));
Line: 653

        h_sql := 'SELECT DISTINCT CODE FROM '||h_child_dim_table||
                 ' WHERE '||h_condition;
Line: 656

        h_num_deleted_codes := 0;
Line: 661

            h_num_deleted_codes := h_num_deleted_codes + 1;
Line: 662

            h_deleted_codes(h_num_deleted_codes) := h_code;
Line: 668

        IF h_num_deleted_codes > 0 THEN
            IF NOT Delete_Codes_Cascade(h_child_dim_table,
                                        h_deleted_codes,
                                        h_num_deleted_codes) THEN
                RAISE e_unexpected_error;
Line: 677

                h_dim_level_list.delete;
Line: 692

    FOR h_i IN 1..x_num_deleted_codes LOOP
        BSC_APPS.Add_Value_Big_In_Cond(1, x_deleted_codes(h_i));
Line: 697

            Insert_AW_Delete_Value(x_dim_table, x_deleted_codes(h_i));
Line: 701

    h_sql := 'DELETE FROM '||x_dim_table||
             ' WHERE '||h_condition;
Line: 703

    BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 709

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_DIMREC_DELETE_FAILED'),
                        x_source => 'BSC_UPDATE_BASE.Delete_Codes_Cascade');
Line: 715

                        x_source => 'BSC_UPDATE_DIM.Delete_Codes_Cascade');
Line: 718

END Delete_Codes_Cascade;
Line: 722

| FUNCTION Delete_Codes_CascadeMN
+============================================================================*/
FUNCTION Delete_Codes_CascadeMN(
	x_dim_table IN VARCHAR2,
	x_key_column1 IN VARCHAR2,
	x_key_column2 IN VARCHAR2,
	x_deleted_codes1 IN BSC_UPDATE_UTIL.t_array_of_varchar2,
	x_deleted_codes2 IN BSC_UPDATE_UTIL.t_array_of_varchar2,
	x_num_deleted_codes IN NUMBER
	) RETURN BOOLEAN IS

    h_condition VARCHAR2(32700);
Line: 741

        SELECT DISTINCT bt.table_name
        FROM (SELECT DISTINCT table_name
              FROM bsc_db_tables_rels
              WHERE source_table_name IN (
                    SELECT table_name
                    FROM bsc_db_tables
                    WHERE table_type = p_table_type)
             ) bt,
             bsc_db_tables_cols c
        WHERE bt.table_name = c.table_name AND
              (c.column_name = p_col_name1 OR
              c.column_name = p_col_name2) AND
              c.column_type = p_col_type
        GROUP BY bt.table_name
        HAVING COUNT(*) = p_count;
Line: 771

    FOR h_i IN 1..x_num_deleted_codes LOOP
        BSC_APPS.Add_Value_Big_In_Cond(1, x_deleted_codes1(h_i)||'-'||x_deleted_codes2(h_i));
Line: 783

        h_sql := 'DELETE FROM '||h_system_table||
                 ' WHERE '||h_condition;
Line: 787

        BEGIN BSC_UPDATE_UTIL.Execute_Immediate(h_sql); EXCEPTION WHEN OTHERS THEN NULL; END;
Line: 791

        h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_system_table);
Line: 793

            h_sql := 'DELETE FROM '||h_proj_tbl_name||
                     ' WHERE '||h_condition;
Line: 797

            BEGIN BSC_UPDATE_UTIL.Execute_Immediate(h_sql); EXCEPTION WHEN OTHERS THEN NULL; END;
Line: 805

    h_sql := 'DELETE FROM '||x_dim_table||
             ' WHERE '||h_condition;
Line: 807

    BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 814

                        x_source => 'BSC_UPDATE_DIM.Delete_Codes_CascadeMN');
Line: 817

END Delete_Codes_CascadeMN;
Line: 821

| FUNCTION Delete_Key_Values_In_Tables
+============================================================================*/
FUNCTION Delete_Key_Values_In_Tables(
	x_level_pk_col IN VARCHAR2,
        x_condition IN VARCHAR2
	) RETURN BOOLEAN IS

    h_sql VARCHAR2(32700);
Line: 834

        SELECT DISTINCT bt.table_name
        FROM (SELECT DISTINCT table_name
              FROM bsc_db_tables_rels
              WHERE source_table_name IN (
                       SELECT table_name
                       FROM bsc_db_tables
                       WHERE table_type = p_table_type)
             ) bt,
             bsc_db_tables_cols c
        WHERE bt.table_name = c.table_name AND
              c.column_name = p_col_name AND
              c.column_type = p_col_type;
Line: 860

        h_sql := 'DELETE FROM '||h_table_name||
                 ' WHERE '||x_condition;
Line: 864

        BEGIN BSC_UPDATE_UTIL.Execute_Immediate(h_sql); EXCEPTION WHEN OTHERS THEN NULL; END;
Line: 868

        h_proj_tbl_name := BSC_UPDATE_BASE_V2.Get_Base_Proj_Tbl_Name(h_table_name);
Line: 870

            h_sql := 'DELETE FROM '||h_proj_tbl_name||
                     ' WHERE '||x_condition;
Line: 874

            BEGIN BSC_UPDATE_UTIL.Execute_Immediate(h_sql); EXCEPTION WHEN OTHERS THEN NULL; END;
Line: 888

                        x_source => 'BSC_UPDATE_DIM.Delete_Key_Values_In_Tables');
Line: 891

END Delete_Key_Values_In_Tables;
Line: 900

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 927

    SELECT level_table_name
    INTO l_level_table_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = l_dim_short_name;
Line: 954

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_start_time = SYSDATE, refresh_end_time = NULL'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 959

        l_sql := 'INSERT INTO bsc_object_refresh_log'||
                 ' (object_name, object_type, refresh_start_time, refresh_end_time)'||
                 ' VALUES (:1, :2, SYSDATE, NULL)';
Line: 968

        BSC_UPDATE_UTIL.Execute_Immediate('DELETE BSC_AW_TMP_DENORM');
Line: 969

        l_sql := 'INSERT INTO BSC_AW_TMP_DENORM (CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 976

    BSC_UPDATE_UTIL.Truncate_Table(l_dbi_dim_data.denorm_table);
Line: 983

            l_sql := 'SELECT DISTINCT '||l_dbi_dim_data.parent_col_src||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE top_node_flag = :1';
Line: 988

            l_sql := 'SELECT DISTINCT imm_child_id'||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE '||l_dbi_dim_data.parent_col_src||' <> imm_child_id'||
                     ' AND ('||l_where_level||')';
Line: 1010

        l_sql := 'INSERT INTO '||l_dbi_dim_data.denorm_table||' ('||
                 l_dbi_dim_data.parent_col||', '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_level_col||')'||
                 ' SELECT '||l_dbi_dim_data.parent_col_src||', '||l_dbi_dim_data.child_col_src||', :1'||
                 ' FROM '||l_dbi_dim_data.denorm_src_object||
                 ' WHERE '||l_where_level;
Line: 1021

        l_sql := 'INSERT INTO BSC_AW_REC_DIM_HIER_CHANGE (DIM_LEVEL, CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT :1, CHILD_VALUE, PARENT_VALUE FROM BSC_AW_TMP_DENORM'||
                 ' MINUS '||
                 ' SELECT :2, '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1032

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_end_time = SYSDATE'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1043

                        x_source => 'BSC_UPDATE_DIM.Denorm_Eni_Item_Vbh_Cat');
Line: 1056

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 1061

    l_ids_this_level BSC_UPDATE_UTIL.t_array_of_number;
Line: 1063

    l_ids BSC_UPDATE_UTIL.t_array_of_number;
Line: 1086

    SELECT level_table_name
    INTO l_level_table_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = l_short_name;
Line: 1114

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_start_time = SYSDATE, refresh_end_time = NULL'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1119

        l_sql := 'INSERT INTO bsc_object_refresh_log'||
                 ' (object_name, object_type, refresh_start_time, refresh_end_time)'||
                 ' VALUES (:1, :2, SYSDATE, NULL)';
Line: 1128

        BSC_UPDATE_UTIL.Execute_Immediate('DELETE BSC_AW_TMP_DENORM');
Line: 1129

        l_sql := 'INSERT INTO BSC_AW_TMP_DENORM (CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1136

    BSC_UPDATE_UTIL.Truncate_Table(l_dbi_dim_data.denorm_table);
Line: 1142

        l_ids_this_level.delete;
Line: 1146

            l_sql := 'SELECT DISTINCT '||l_dbi_dim_data.child_col_src||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE '||l_src_condition||
                     ' AND '||l_dbi_dim_data.parent_col_src||' IS NULL';
Line: 1151

            l_sql := 'SELECT DISTINCT '||l_dbi_dim_data.child_col_src||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE '||l_src_condition||
                     ' AND '||l_where_level;
Line: 1174

            l_sql := 'INSERT INTO '||l_dbi_dim_data.denorm_table||' ('||
                     l_dbi_dim_data.parent_col||', '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_level_col||
                     ') VALUES (:1, :2, :3)';
Line: 1182

            IF NOT Insert_Children_Denorm_Table(x_parent_id => l_ids_this_level(l_i),
                                                x_ids => l_ids,
                                                x_num_ids => l_num_ids,
                                                x_level => l_current_level,
                                                x_denorm_table => l_dbi_dim_data.denorm_table,
                                                x_child_col => l_dbi_dim_data.child_col,
                                                x_parent_col => l_dbi_dim_data.parent_col,
                                                x_parent_level_col => l_dbi_dim_data.parent_level_col,
                                                x_denorm_src_object => l_dbi_dim_data.denorm_src_object,
                                                x_child_col_src => l_dbi_dim_data.child_col_src,
                                                x_parent_col_src => l_dbi_dim_data.parent_col_src,
                                                x_src_condition => l_src_condition) THEN
                RAISE e_unexpected_error;
Line: 1202

        l_sql := 'INSERT INTO BSC_AW_REC_DIM_HIER_CHANGE (DIM_LEVEL, CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT :1, CHILD_VALUE, PARENT_VALUE FROM BSC_AW_TMP_DENORM'||
                 ' MINUS '||
                 ' SELECT :2, '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1213

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_end_time = SYSDATE'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1223

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR'),
                        x_source => 'BSC_UPDATE_DIM.Denorm_Eni_Item_Itm_Cat');
Line: 1229

                        x_source => 'BSC_UPDATE_DIM.Denorm_Eni_Item_Itm_Cat');
Line: 1240

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 1259

    SELECT level_table_name
    INTO l_level_table_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = l_dim_short_name;
Line: 1286

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_start_time = SYSDATE, refresh_end_time = NULL'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1291

        l_sql := 'INSERT INTO bsc_object_refresh_log'||
                 ' (object_name, object_type, refresh_start_time, refresh_end_time)'||
                 ' VALUES (:1, :2, SYSDATE, NULL)';
Line: 1300

        BSC_UPDATE_UTIL.Execute_Immediate('DELETE BSC_AW_TMP_DENORM');
Line: 1301

        l_sql := 'INSERT INTO BSC_AW_TMP_DENORM (CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1308

    BSC_UPDATE_UTIL.Truncate_Table(l_dbi_dim_data.denorm_table);
Line: 1321

    l_sql := 'INSERT INTO '||l_dbi_dim_data.denorm_table||' ('||l_lst_cols||')'||
             ' SELECT '||l_lst_src_cols||
             ' FROM '||l_dbi_dim_data.denorm_src_object||
             ' WHERE '||l_dbi_dim_data.parent_level_src_col||' <= :1';
Line: 1334

        l_sql := 'INSERT INTO BSC_AW_REC_DIM_HIER_CHANGE (DIM_LEVEL, CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT :1, CHILD_VALUE, PARENT_VALUE FROM BSC_AW_TMP_DENORM'||
                 ' MINUS '||
                 ' SELECT :2, '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1345

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_end_time = SYSDATE'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1356

                        x_source => 'BSC_UPDATE_DIM.Denorm_Hri_Per_Usrdr_H');
Line: 1368

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 1373

    l_ids_this_level BSC_UPDATE_UTIL.t_array_of_number;
Line: 1375

    l_ids BSC_UPDATE_UTIL.t_array_of_number;
Line: 1397

    SELECT level_table_name
    INTO l_level_table_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = l_short_name;
Line: 1424

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_start_time = SYSDATE, refresh_end_time = NULL'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1429

        l_sql := 'INSERT INTO bsc_object_refresh_log'||
                 ' (object_name, object_type, refresh_start_time, refresh_end_time)'||
                 ' VALUES (:1, :2, SYSDATE, NULL)';
Line: 1438

        BSC_UPDATE_UTIL.Execute_Immediate('DELETE BSC_AW_TMP_DENORM');
Line: 1439

        l_sql := 'INSERT INTO BSC_AW_TMP_DENORM (CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1446

    BSC_UPDATE_UTIL.Truncate_Table(l_dbi_dim_data.denorm_table);
Line: 1450

        l_ids_this_level.delete;
Line: 1454

            l_sql := 'SELECT DISTINCT '||l_dbi_dim_data.child_col_src||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE '||l_dbi_dim_data.parent_col_src||' IS NULL';
Line: 1458

            l_sql := 'SELECT DISTINCT '||l_dbi_dim_data.child_col_src||
                     ' FROM '||l_dbi_dim_data.denorm_src_object||
                     ' WHERE '||l_where_level;
Line: 1480

            l_sql := 'INSERT INTO '||l_dbi_dim_data.denorm_table||' ('||
                     l_dbi_dim_data.parent_col||', '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_level_col||
                     ') VALUES (:1, :2, :3)';
Line: 1489

            IF NOT Insert_Children_Denorm_Table(x_parent_id => l_ids_this_level(l_i),
                                                x_ids => l_ids,
                                                x_num_ids => l_num_ids,
                                                x_level => l_current_level,
                                                x_denorm_table => l_dbi_dim_data.denorm_table,
                                                x_child_col => l_dbi_dim_data.child_col,
                                                x_parent_col => l_dbi_dim_data.parent_col,
                                                x_parent_level_col => l_dbi_dim_data.parent_level_col,
                                                x_denorm_src_object => l_dbi_dim_data.denorm_src_object,
                                                x_child_col_src => l_dbi_dim_data.child_col_src,
                                                x_parent_col_src => l_dbi_dim_data.parent_col_src,
                                                x_src_condition => NULL) THEN
                RAISE e_unexpected_error;
Line: 1509

        l_sql := 'INSERT INTO BSC_AW_REC_DIM_HIER_CHANGE (DIM_LEVEL, CHILD_VALUE, PARENT_VALUE)'||
                 ' SELECT :1, CHILD_VALUE, PARENT_VALUE FROM BSC_AW_TMP_DENORM'||
                 ' MINUS '||
                 ' SELECT :2, '||l_dbi_dim_data.child_col||', '||l_dbi_dim_data.parent_col||
                 ' FROM '||l_dbi_dim_data.denorm_table;
Line: 1520

    l_sql := 'UPDATE bsc_object_refresh_log'||
             ' SET refresh_end_time = SYSDATE'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 1530

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR'),
                        x_source => 'BSC_UPDATE_DIM.Denorm_Pji_Organizations');
Line: 1536

                        x_source => 'BSC_UPDATE_DIM.Denorm_Pji_Organizations');
Line: 1556

    select count(level_table_name)
    into h_count
    from bsc_kpi_dim_levels_b
    where indicator in (
        select p.indicator
        from bsc_kpi_properties p, bsc_kpis_b k
        where p.indicator = k.indicator and
              p.property_code = h_aw_impl_type_name and
              p.property_value = h_aw_impl_type and
              k.prototype_flag in (0,6,7)
    ) and level_table_name = x_dim_table;
Line: 1592

    select count(level_table_name)
    into h_count
    from bsc_kpi_dim_levels_b
    where indicator in (
        select k.indicator
        from bsc_kpi_properties p, bsc_kpis_b k
        where p.indicator (+) = k.indicator and
              p.property_code (+) = h_mv_impl_type_name and
              (p.property_value is null or p.property_value = h_mv_impl_type) and
              k.prototype_flag in (0,6,7)
    ) and level_table_name = x_dim_table;
Line: 1617

    x_dbi_dim_data OUT NOCOPY BSC_UPDATE_DIM.t_array_dbi_dim_data
) IS
    l_i NUMBER;
Line: 1638

        x_aux_fields IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
	) RETURN NUMBER IS

    TYPE t_cursor IS REF CURSOR;
Line: 1645

    c_aux_fields_sql VARCHAR2(2000) := 'SELECT c.column_name'||
                                       ' FROM bsc_sys_dim_level_cols c, bsc_sys_dim_levels_b d'||
                                       ' WHERE d.dim_level_id = c.dim_level_id AND'||
                                       ' d.level_table_name = :1 AND'||
                                       ' column_type = :2';
Line: 1652

        SELECT c.column_name
        FROM bsc_sys_dim_level_cols c, bsc_sys_dim_levels_b d
        WHERE d.dim_level_id = c.dim_level_id AND
              d.level_table_name = p_level_table_name AND
              column_type = p_column_type;
Line: 1688

        x_child_dimensions IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
	) RETURN NUMBER IS

    h_num_child_dimensions NUMBER;
Line: 1701

    c_child_dimensions_sql VARCHAR2(2000) := 'SELECT t.level_table_name'||
                                             ' FROM bsc_sys_dim_levels_b t, bsc_sys_dim_level_rels r'||
                                             ' WHERE t.dim_level_id = r.dim_level_id AND'||
                                             ' r.parent_dim_level_id = :1 AND r.relation_type = :2';
Line: 1707

        SELECT t.level_table_name
        FROM bsc_sys_dim_levels_b t, bsc_sys_dim_level_rels r
        WHERE t.dim_level_id = r.dim_level_id AND
              r.parent_dim_level_id = p_parent_id AND r.relation_type = p_relation_type;
Line: 1720

    h_sql := 'SELECT dim_level_id'||
             ' FROM bsc_sys_dim_levels_b'||
             ' WHERE level_table_name = :1';
Line: 1727

    SELECT dim_level_id
    INTO h_table_id
    FROM bsc_sys_dim_levels_b
    WHERE level_table_name = x_dimension_table;
Line: 1754

        x_parent_columns IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_src_parent_columns IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
        ) RETURN NUMBER IS

    CURSOR c_parent_cols IS
        SELECT p.level_pk_col
        FROM bsc_sys_dim_levels_b c, bsc_sys_dim_level_rels r, bsc_sys_dim_levels_b p
        WHERE c.dim_level_id = r.dim_level_id AND
              r.parent_dim_level_id = p.dim_level_id AND
              r.relation_type = 1 AND
              r.dim_level_id <> r.parent_dim_level_id AND
              c.short_name = x_dim_short_name
        ORDER BY p.level_pk_col;
Line: 1770

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 1811

    SELECT level_view_name
    INTO l_view_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = x_dim_short_name;
Line: 1828

        x_dbi_dim_data OUT NOCOPY BSC_UPDATE_DIM.t_dbi_dim_data
        ) IS

    l_i NUMBER;
Line: 1852

	x_indicators IN BSC_UPDATE_UTIL.t_array_of_number,
        x_num_indicators IN NUMBER,
        x_dbi_dimensions IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_num_dbi_dimensions IN OUT NOCOPY NUMBER
	) RETURN BOOLEAN IS

    h_where_indics VARCHAR2(32000);
Line: 1867

    h_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 1880

    h_sql := 'SELECT DISTINCT level_shortname'||
             ' FROM bsc_kpi_dim_levels_vl'||
             ' WHERE ('||h_where_indics||') AND level_source = :1';
Line: 1902

                        x_source => 'BSC_UPDATE_DIM.Get_Dbi_Dims_Kpis');
Line: 1909

| FUNCTION Get_Deleted_Records
+============================================================================*/
FUNCTION Get_Deleted_Records(
        x_dimension_table IN VARCHAR2,
        x_temp_table IN VARCHAR2,
        x_deleted_records IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_number
        ) RETURN NUMBER IS

    h_num_deleted_records NUMBER;
Line: 1926

    h_num_deleted_records := 0;
Line: 1928

    h_sql := 'SELECT T.CODE'||
             ' FROM '||x_temp_table||' T, '||x_dimension_table||' D'||
             ' WHERE T.CODE = D.CODE (+)'||
             ' AND D.CODE IS NULL';
Line: 1936

        h_num_deleted_records := h_num_deleted_records + 1;
Line: 1937

        x_deleted_records(h_num_deleted_records) := h_code;
Line: 1943

    RETURN h_num_deleted_records;
Line: 1945

END Get_Deleted_Records;
Line: 1963

    h_sql := 'SELECT table_name'||
             ' FROM bsc_db_tables_rels'||
             ' WHERE source_table_name = :1';
Line: 1970

    SELECT table_name
    INTO h_table_name
    FROM bsc_db_tables_rels
    WHERE source_table_name = x_input_table;
Line: 1998

    h_sql := 'SELECT COUNT(*)'||
             ' FROM bsc_sys_dim_levels_b'||
             ' WHERE level_table_name = :1';
Line: 2005

    SELECT COUNT(*)
    INTO h_count
    FROM bsc_sys_dim_levels_b
    WHERE level_table_name = x_dim_table;
Line: 2016

    h_sql := 'SELECT COUNT(*)'||
             ' FROM bsc_sys_dim_level_rels'||
             ' WHERE relation_col = :1';
Line: 2023

    SELECT COUNT(*)
    INTO h_count
    FROM bsc_sys_dim_level_rels
    WHERE relation_col = x_dim_table;
Line: 2042

        x_parent_tables IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_parent_keys IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
	) RETURN NUMBER IS

    TYPE t_cursor IS REF CURSOR;
Line: 2050

    c_parents_sql VARCHAR2(2000) := 'SELECT dp.level_table_name, dp.level_pk_col'||
                                    ' FROM bsc_sys_dim_levels_b d, bsc_sys_dim_levels_b dp,'||
                                    ' bsc_sys_dim_level_rels r'||
                                    ' WHERE d.dim_level_id = r.dim_level_id AND'||
                                    ' r.parent_dim_level_id = dp.dim_level_id AND'||
                                    ' DECODE(r.relation_type, 2, r.relation_col,'||
                                    ' d.level_table_name) = :1';
Line: 2059

        SELECT dp.level_table_name, dp.level_pk_col
        FROM bsc_sys_dim_levels_b d, bsc_sys_dim_levels_b dp, bsc_sys_dim_level_rels r
        WHERE d.dim_level_id = r.dim_level_id AND
              r.parent_dim_level_id = dp.dim_level_id AND
              DECODE(r.relation_type, 2, r.relation_col, d.level_table_name) = p_dim_table;
Line: 2105

    h_sql := 'SELECT level_pk_col'||
             ' FROM bsc_sys_dim_levels_b'||
             ' WHERE level_table_name = :1';
Line: 2112

    SELECT level_pk_col
    INTO h_level_pk_col
    FROM bsc_sys_dim_levels_b
    WHERE level_table_name = x_dimension_table;
Line: 2137

    h_sql := 'SELECT NVL(MAX(CODE) + 1, 1) FROM '||x_dim_table;
Line: 2151

                        x_source => 'BSC_UPDATE_BASE.Get_New_Code');
Line: 2162

        x_parent_dimensions IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
	) RETURN NUMBER IS

    h_num_parent_dimensions NUMBER;
Line: 2175

    c_parent_dimensions_sql VARCHAR2(2000) := 'SELECT t.level_table_name'||
                                              ' FROM bsc_sys_dim_levels_b t, bsc_sys_dim_level_rels r'||
                                              ' WHERE t.dim_level_id = r.parent_dim_level_id AND'||
                                              ' r.dim_level_id = :1 AND r.relation_type = :2';
Line: 2181

        SELECT t.level_table_name
        FROM bsc_sys_dim_levels_b t, bsc_sys_dim_level_rels r
        WHERE t.dim_level_id = r.parent_dim_level_id AND
              r.dim_level_id = p_dim_level_id AND r.relation_type = p_relation_type;
Line: 2193

    h_sql := 'SELECT dim_level_id'||
             ' FROM bsc_sys_dim_levels_b'||
             ' WHERE level_table_name = :1';
Line: 2200

    SELECT dim_level_id
    INTO h_table_id
    FROM bsc_sys_dim_levels_b
    WHERE level_table_name = x_dimension_table;
Line: 2227

        x_relation_cols IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2
        ) RETURN NUMBER IS

    TYPE t_cursor IS REF CURSOR;
Line: 2234

    c_relation_cols_sql VARCHAR2(2000) := 'SELECT r.relation_col'||
                                          ' FROM bsc_sys_dim_levels_b d, bsc_sys_dim_level_rels r'||
                                          ' WHERE d.dim_level_id = r.dim_level_id AND'||
                                          ' d.level_table_name = :1 AND r.relation_type = :2';
Line: 2240

        SELECT r.relation_col
        FROM bsc_sys_dim_levels_b d, bsc_sys_dim_level_rels r
        WHERE d.dim_level_id = r.dim_level_id AND
              d.level_table_name = p_level_table_name AND r.relation_type = p_relation_type;
Line: 2282

    l_ids BSC_UPDATE_UTIL.t_array_of_number;
Line: 2283

    l_values BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 2294

    select count(view_name) into l_count
    from user_views
    where view_name = l_dbi_plans_view;
Line: 2304

    l_sql := 'DELETE FROM bsc_sys_benchmarks_b'||
             ' WHERE source_type = :1'||
             ' AND data_type NOT IN ('||
             ' SELECT id FROM isc_plan_snapshot_v'||
             ')';
Line: 2311

    DELETE FROM bsc_sys_benchmarks_tl
    WHERE bm_id NOT IN (SELECT bm_id FROM bsc_sys_benchmarks_b);
Line: 2317

    l_sql := 'SELECT s.id, s.value'||
             ' FROM isc_plan_snapshot_v s, bsc_sys_benchmarks_b b'||
             ' WHERE s.id = b.data_type (+) AND b.source_type (+) = :1 AND b.data_type IS NULL AND s.id < 1000';
Line: 2332

        SELECT NVL(MAX(bm_id)+1,1) INTO l_bm_id
        FROM bsc_sys_benchmarks_b;
Line: 2336

        BSC_SYS_BENCHMARKS_PKG.Insert_Row(x_bm_id => l_bm_id,
                                          x_color => 0,
                                          x_data_type => l_ids(l_i),
                                          x_source_type => 2,
                                          x_periodicity_id => 0,
                                          x_no_display_flag => 0,
                                          x_name => l_values(l_i));
Line: 2378

    g_dbi_dim_data.delete;
Line: 2387

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+parallel (drg)*/ to_char(drg.id) USER_CODE,to_char(drg.id) CODE '||
    'FROM jtf_rs_dbi_denorm_res_groups drg
    UNION ALL SELECT TO_CHAR(-1111) USER_CODE,TO_CHAR(-1111) CODE FROM dual
    UNION ALL SELECT /*+parallel (drg)*/ to_char(drg.id_for_grp_mem) USER_CODE,to_char(drg.id_for_grp_mem) CODE FROM '||
    'jtf_rs_dbi_denorm_res_groups drg
    UNION ALL SELECT /*+parallel (d1)*/ to_char(d1.group_id) USER_CODE,to_char(d1.group_id) CODE '||
    'FROM jtf_rs_groups_denorm d1) JTF_ORG_SALES_GROUP';
Line: 2795

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.vacancy_id) USER_CODE,'||
                                         ' to_char(s.vacancy_id) CODE'||
                                         ' FROM per_all_vacancies s'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE'||
                                         ' FROM dual) PER_ALL_VACANCIES_S';
Line: 2817

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.grade_id) USER_CODE,'||
                                         ' to_char(s.grade_id) CODE'||
                                         ' FROM per_grades s'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE'||
                                         ' FROM dual) PER_GRADES_S';
Line: 2839

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.job_id) USER_CODE,'||
                                         ' to_char(s.job_id) CODE'||
                                         ' FROM per_jobs s'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE'||
                                         ' FROM dual) PER_JOBS_S';
Line: 2861

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.org_structure_version_id) USER_CODE,'||
                                         ' to_char(s.org_structure_version_id) CODE'||
                                         ' FROM per_org_structure_versions s) PER_ORG_STRUCTURE_VERSIONS_S';
Line: 2881

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.organization_structure_id) USER_CODE,'||
                                         ' to_char(s.organization_structure_id) CODE'||
                                         ' FROM per_organization_structures s) PER_ORGANIZATION_STRUCTURES_S';
Line: 2901

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) parallel (s1) */ TO_CHAR(s.organization_id) USER_CODE,'||
                                         ' to_char(s.organization_id) CODE'||
                                         ' FROM hr_all_organization_units s, hr_organization_information s1'||
                                         ' WHERE s.organization_id = s1.organization_id AND'||
                                         ' s1.org_information1 = ''HR_ORG'''||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE'||
                                         ' FROM dual) HR_ALL_ORGANIZATION_UNITS_S';
Line: 2925

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) parallel (s1) */ TO_CHAR(s.organization_id) USER_CODE,'||
                                         ' to_char(s.organization_id) CODE'||
                                         ' FROM hr_all_organization_units s, hr_organization_information s1'||
                                         ' WHERE s.organization_id = s1.organization_id AND'||
                                         ' s1.org_information1 = ''HR_ORG'''||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE'||
                                         ' FROM dual) HR_ALL_ORGANIZATION_UNITS_S';
Line: 2949

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) parallel (s1) */ DISTINCT'||
                                         ' TO_CHAR(s.organization_id) USER_CODE, to_char(s.organization_id) CODE'||
                                         ' FROM hr_all_organization_units s, hri_org_hrchy_summary s1'||
                                         ' WHERE s.organization_id = s1.organization_id AND s1.sub_org_relative_level = 0'||
                                         ') HR_ALL_ORGANIZATION_UNITS_S';
Line: 2971

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.person_id) USER_CODE,'||
                                         ' to_char(s.person_id) CODE,s.effective_start_date, s.effective_end_date'||
                                         ' FROM per_all_people_f s'||
                                         ' WHERE current_employee_flag = ''Y'' AND'||
                                         ' trunc(sysdate) BETWEEN effective_start_date AND effective_end_date'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE,'||
                                         ' hr_general.start_of_time effective_start_date,'||
                                         ' hr_general.end_of_time effective_end_date'||
                                         ' FROM dual) PER_ALL_PEOPLE_F_S';
Line: 2997

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.person_id) USER_CODE,'||
                                         ' to_char(s.person_id) CODE,s.effective_start_date, s.effective_end_date'||
                                         ' FROM per_all_people_f s'||
                                         ' WHERE trunc(sysdate) BETWEEN effective_start_date AND effective_end_date'||
                                         ' ) PER_ALL_PEOPLE_F_S';
Line: 3019

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.person_id) USER_CODE,'||
                                         ' to_char(s.person_id) CODE,s.effective_start_date, s.effective_end_date'||
                                         ' FROM per_all_people_f s'||
                                         ' WHERE (current_employee_flag = ''Y'' OR current_npw_flag = ''Y'') AND'||
                                         ' trunc(sysdate) BETWEEN effective_start_date AND effective_end_date AND'||
                                         ' EXISTS (SELECT -1 FROM per_assignments_f asg, per_people_f peo2'||
                                         ' WHERE s.person_id = asg.supervisor_id AND asg.person_id = peo2.person_id AND'||
                                         ' trunc(sysdate) BETWEEN peo2.effective_start_date AND peo2.effective_end_date AND'||
                                         ' trunc(sysdate) BETWEEN asg.effective_start_date AND asg.effective_end_date AND'||
                                         ' (peo2.current_employee_flag = ''Y'' OR peo2.current_npw_flag = ''Y''))'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE,'||
                                         ' hr_general.start_of_time effective_start_date,'||
                                         ' hr_general.end_of_time effective_end_date'||
                                         ' FROM dual) PER_ALL_PEOPLE_F_S';
Line: 3050

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.position_id) USER_CODE,'||
                                         ' to_char(s.position_id) CODE,s.date_effective effective_start_date,'||
                                         ' NVL(s.date_end, hr_general.end_of_time) effective_end_date'||
                                         ' FROM per_positions s'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE,'||
                                         ' hr_general.start_of_time effective_start_date,'||
                                         ' hr_general.end_of_time effective_end_date'||
                                         ' FROM dual) PER_POSITIONS_S';
Line: 3075

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.position_id) USER_CODE,'||
                                         ' to_char(s.position_id) CODE,s.date_effective effective_start_date,'||
                                         ' NVL(s.date_end, hr_general.end_of_time) effective_end_date'||
                                         ' FROM per_positions s'||
                                         ' WHERE TRUNC(sysdate) <= NVL(s.date_end, hr_general.end_of_time)'||
                                         ' UNION ALL SELECT TO_CHAR(-1) USER_CODE, TO_CHAR(-1) CODE,'||
                                         ' hr_general.start_of_time effective_start_date,'||
                                         ' hr_general.end_of_time effective_end_date'||
                                         ' FROM dual) PER_POSITIONS_S';
Line: 3101

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (o) parallel (o2) parallel (o3) */'||
                                         ' TO_CHAR(o.organization_id) USER_CODE, to_char(o.organization_id) CODE'||
                                         ' FROM hr_all_organization_units o, hr_organization_information o2,'||
                                         ' hr_organization_information o3'||
                                         ' WHERE o.organization_id = o2.organization_id AND'||
                                         ' o.organization_id = o3.organization_id (+) AND'||
                                         ' o2.org_information_context = ''CLASS'' AND'||
                                         ' o3.org_information_context (+) = ''Legal Entity Accounting'' AND'||
                                         ' o2.org_information1 = ''HR_LEGAL'' AND'||
                                         ' o2.org_information2 = ''Y'') HR_ALL_ORGANIZATION_UNITS_O';
Line: 3128

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.co_code) USER_CODE, to_char(s.co_code) CODE'||
                                         ' FROM sy_orgn_mst s'||
                                         ' WHERE s.orgn_code = s.co_code) SY_ORGN_MST_S';
Line: 3148

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ TO_CHAR(s.orgn_code) USER_CODE, to_char(s.orgn_code) CODE'||
                                         ' FROM sy_orgn_mst s) SY_ORGN_MST_S';
Line: 3167

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ s.whse_code USER_CODE, s.whse_code CODE'||
                                         ' FROM ic_whse_mst s) IC_WHSE_MST_S';
Line: 3186

    g_dbi_dim_data(l_i).source_object := ' (SELECT DISTINCT USER_CODE, CODE FROM '||
                                         ' (SELECT /*+ parallel (s) */ TO_CHAR(s.id) USER_CODE, to_char(s.id) CODE'||
                                         ' FROM jtf_rs_dbi_denorm_res_groups s WHERE s.id IS NOT NULL'||
                                         ' UNION ALL  SELECT TO_CHAR(-1111) USER_CODE, TO_CHAR(-1111) CODE FROM dual'||
                                         ' UNION ALL  SELECT /*+ parallel (s) */ TO_CHAR(s.id_for_grp_mem) USER_CODE,'||
                                         ' to_char(s.id_for_grp_mem) CODE'||
                                         ' FROM jtf_rs_dbi_denorm_res_groups s WHERE s.id_for_grp_mem IS NOT NULL'||
                                         ' UNION ALL SELECT /*+ parallel (s) */ TO_CHAR(s.group_id) USER_CODE,'||
                                         ' to_char(s.group_id) CODE FROM jtf_rs_groups_denorm s WHERE s.group_id IS NOT NULL)'||
                                         ' ) JTF_ORG_INTERACTION_CENTER_S';
Line: 3213

    g_dbi_dim_data(l_i).source_object := '(SELECT /*+ parallel (s) */ s.id USER_CODE, s.id CODE'||
                                         ' FROM eni_oltp_item_star s'||
                                         ' WHERE s.master_id is null) ENI_ITEM_S';
Line: 3232

| FUNCTION Insert_Children_Denorm_Table
+============================================================================*/
FUNCTION Insert_Children_Denorm_Table(
    x_parent_id IN number,
    x_ids IN BSC_UPDATE_UTIL.t_array_of_number,
    x_num_ids IN NUMBER,
    x_level IN NUMBER,
    x_denorm_table IN VARCHAR2,
    x_child_col IN VARCHAR2,
    x_parent_col IN VARCHAR2,
    x_parent_level_col IN VARCHAR2,
    x_denorm_src_object IN VARCHAR2,
    x_child_col_src IN VARCHAR2,
    x_parent_col_src IN VARCHAR2,
    x_src_condition IN VARCHAR2
) RETURN BOOLEAN IS

    l_sql VARCHAR2(32000);
Line: 3256

    l_child_ids BSC_UPDATE_UTIL.t_array_of_number;
Line: 3271

    l_sql := 'SELECT DISTINCT '||x_child_col_src||
             ' FROM '||x_denorm_src_object||
             ' WHERE ';
Line: 3285

        l_sql := 'INSERT INTO '||x_denorm_table||' ('||
                 x_parent_col||', '||x_child_col||', '||x_parent_level_col||
                 ') VALUES (:1, :2, :3)';
Line: 3293

    IF NOT Insert_Children_Denorm_Table(x_parent_id => x_parent_id,
                                        x_ids => l_child_ids,
                                        x_num_ids => l_num_child_ids,
                                        x_level => x_level,
                                        x_denorm_table => x_denorm_table,
                                        x_child_col => x_child_col,
                                        x_parent_col => x_parent_col,
                                        x_parent_level_col => x_parent_level_col,
                                        x_denorm_src_object => x_denorm_src_object,
                                        x_child_col_src => x_child_col_src,
                                        x_parent_col_src => x_parent_col_src,
                                        x_src_condition => x_src_condition) THEN
        RETURN FALSE;
Line: 3312

                        x_source => 'BSC_UPDATE_DIM.Insert_Children_Denorm_Table');
Line: 3314

                        x_source => 'BSC_UPDATE_DIM.Insert_Children_Denorm_Table');
Line: 3317

END Insert_Children_Denorm_Table;
Line: 3331

    select count(d.dim_level_id)
    into h_count
    from bsc_sys_dim_levels_b d, bsc_sys_dim_level_rels r
    where d.dim_level_id = r.dim_level_id and
          d.level_table_name = x_dim_table and
          r.parent_dim_level_id = r.dim_level_id;
Line: 3349

| FUNCTION Insert_AW_Delete_Value
+============================================================================*/
PROCEDURE Insert_AW_Delete_Value(
    x_dim_table IN VARCHAR2,
    x_delete_value IN VARCHAR2
) IS

    h_sql VARCHAR2(32000);
Line: 3357

    l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3362

  h_sql := 'INSERT INTO BSC_AW_DIM_DELETE (DIM_LEVEL, DELETE_VALUE)'||
           ' VALUES (:1,:2)';
Line: 3364

  l_bind_vars_values.delete;
Line: 3366

  l_bind_vars_values(2) := x_delete_value;
Line: 3367

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

END Insert_AW_Delete_Value;
Line: 3382

    h_dim_level_list.delete;
Line: 3417

    h_deleted_codes BSC_UPDATE_UTIL.t_array_of_number;
Line: 3422

    h_deleted_codes1 BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3423

    h_deleted_codes2 BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3424

    h_num_deleted_codes NUMBER;
Line: 3428

    h_parent_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3429

    h_parent_keys BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3432

    h_aux_fields BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3435

    h_installed_languages BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3438

    h_p_insert VARCHAR2(32700);
Line: 3439

    h_p_select VARCHAR2(32700);
Line: 3443

    h_aux_insert VARCHAR2(32700);
Line: 3444

    h_aux_select VARCHAR2(32700);
Line: 3446

    l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3457

    h_num_deleted_codes := 0;
Line: 3462

    SELECT generation_type
    INTO h_loading_mode
    FROM bsc_db_tables
    WHERE table_name = x_input_table;
Line: 3489

            h_sql := 'SELECT DISTINCT code FROM '||x_dim_table||
                     ' WHERE code > :1 AND user_code NOT IN ('||
                     ' SELECT user_code FROM '||x_input_table||')';
Line: 3496

                h_num_deleted_codes := h_num_deleted_codes + 1;
Line: 3497

                h_deleted_codes(h_num_deleted_codes) := h_code;
Line: 3503

            IF h_num_deleted_codes > 0 THEN
                IF NOT Delete_Codes_Cascade(x_dim_table, h_deleted_codes, h_num_deleted_codes) THEN
                    RAISE e_unexpected_error;
Line: 3512

            h_sql := 'SELECT DISTINCT '||h_parent_keys(1)||', '||h_parent_keys(2)||
                     ' FROM '||x_dim_table||
                     ' WHERE ('||h_parent_keys(1)||', '||h_parent_keys(2)||') NOT IN ('||
                     ' SELECT d1.code, d2.code'||
                     ' FROM '||x_input_table||' i, '||h_parent_tables(1)||' d1, '||h_parent_tables(2)||' d2'||
                     ' WHERE i.'||h_parent_keys(1)||'_usr = d1.user_code'||
                     ' AND i.'||h_parent_keys(2)||'_usr = d2.user_code)';
Line: 3523

                h_num_deleted_codes := h_num_deleted_codes + 1;
Line: 3524

                h_deleted_codes1(h_num_deleted_codes) := h_code1;
Line: 3525

                h_deleted_codes2(h_num_deleted_codes) := h_code2;
Line: 3531

            IF h_num_deleted_codes > 0 THEN
                IF NOT Delete_Codes_CascadeMN(x_dim_table,
                                              h_parent_keys(1),
                                              h_parent_keys(2),
                                              h_deleted_codes1,
                                              h_deleted_codes2,
                                              h_num_deleted_codes) THEN
                    RAISE e_unexpected_error;
Line: 3559

        h_sql := 'SELECT DISTINCT code FROM '||x_dim_table||
                 ' WHERE user_code IN ('||
                 ' SELECT user_code FROM '||x_input_table||')';
Line: 3576

            h_sql := 'UPDATE '||x_dim_table||' d'||
                     ' SET name = ('||
                     '   SELECT name'||
                     '   FROM '||x_input_table||' i'||
                     '   WHERE i.user_code = d.user_code),'||
                     ' source_lang = :1'||
                     ' WHERE user_code IN (SELECT user_code FROM '||x_input_table||')'||
                     ' AND (language = :2 OR source_lang = :3)';
Line: 3584

            l_bind_vars_values.delete;
Line: 3588

            BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,3);
Line: 3593

                h_sql := 'SELECT user_code FROM '||x_input_table||' i'||
                         ' WHERE '||h_parent_keys(h_i)||'_usr <> ('||
                         ' SELECT DISTINCT '||h_parent_keys(h_i)||'_usr'||
                         ' FROM '||x_dim_table||' d'||
                         ' WHERE d.user_code = i.user_code)';
Line: 3606

                h_sql := 'UPDATE '||x_dim_table||' d'||
                         ' SET ('||h_parent_keys(h_i)||', '||h_parent_keys(h_i)||'_usr) = ('||
                         '   SELECT DISTINCT p.code, i.'||h_parent_keys(h_i)||'_usr'||
                         '   FROM '||x_input_table||' i, '||h_parent_tables(h_i)||' p'||
                         '   WHERE d.user_code = i.user_code'||
                         '   AND i.'||h_parent_keys(h_i)||'_usr = p.user_code)'||
                         ' WHERE d.user_code IN (SELECT user_code FROM '||x_input_table||')';
Line: 3613

                BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 3618

                h_sql := 'UPDATE '||x_dim_table||' d'||
                         ' SET '||h_aux_fields(h_i)||' = ('||
                         '   SELECT i.'||h_aux_fields(h_i)||
                         '   FROM '||x_input_table||' i'||
                         '   WHERE d.user_code = i.user_code)'||
                         ' WHERE d.user_code IN (SELECT user_code FROM '||x_input_table||')';
Line: 3624

                BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 3628

            h_sql := 'DELETE FROM '||x_input_table||
                     ' WHERE user_code IN (SELECT user_code FROM '||x_dim_table||')';
Line: 3630

            BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 3636

        h_num_installed_languages := BSC_UPDATE_UTIL.Get_Installed_Languages(h_installed_languages);
Line: 3642

        h_p_insert := NULL;
Line: 3643

        h_p_select := NULL;
Line: 3648

            h_p_insert := h_p_insert||', '||h_parent_keys(h_i)||', '||h_parent_keys(h_i)||'_USR';
Line: 3649

            h_p_select := h_p_select||', p'||h_i||'.code, i.'||h_parent_keys(h_i)||'_USR';
Line: 3656

        h_aux_insert := NULL;
Line: 3657

        h_aux_select := NULL;
Line: 3660

            h_aux_insert := h_aux_insert||', '||h_aux_fields(h_i);
Line: 3661

            h_aux_select := h_aux_select||', i.'||h_aux_fields(h_i);
Line: 3665

        h_sql := 'SELECT DISTINCT user_code FROM '||x_input_table;
Line: 3678

                h_sql := 'INSERT INTO '||x_dim_table||' ('||
                         ' code, user_code, name'||h_p_insert||h_aux_insert||', language, source_lang)'||
                         ' SELECT :1, i.user_code, i.name'||h_p_select||h_aux_select||
                         ', :2, :3'||
                         ' FROM '||x_input_table||' i'||h_p_from||
                         ' WHERE i.user_code = :4 '||h_p_where;
Line: 3699

        h_sql := 'DELETE FROM '||x_input_table||
                 ' WHERE ('||h_parent_keys(1)||'_usr, '||h_parent_keys(2)||'_usr) IN ('||
                 ' SELECT d1.user_code, d2.user_code'||
                 ' FROM '||x_dim_table||' d, '||h_parent_tables(1)||' d1, '||h_parent_tables(2)||' d2'||
                 ' WHERE d.'||h_parent_keys(1)||' = d1.code'||
                 ' AND d.'||h_parent_keys(2)||' = d2.code)';
Line: 3705

        BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 3708

        h_sql := 'INSERT INTO '||x_dim_table||' ('||h_parent_keys(1)||', '||h_parent_keys(2)||')'||
                 ' SELECT p1.code, p2.code'||
                 ' FROM '||x_input_table||' i, '||h_parent_tables(1)||' p1, '||h_parent_tables(2)||' p2'||
                 ' WHERE i.'||h_parent_keys(1)||'_USR = p1.user_code AND p1.language = :1 AND'||
                 ' i.'||h_parent_keys(2)||'_USR = p2.user_code AND p2.language = :2';
Line: 3713

        l_bind_vars_values.delete;
Line: 3716

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

    BSC_UPDATE_UTIL.Truncate_Table(x_input_table);
Line: 3726

    IF h_dim_table_type = BSC_UPDATE_DIM.DIM_TABLE_TYPE_1N THEN
        IF Dimension_Used_In_AW_Kpi(x_dim_table) THEN
            h_dim_level_list.delete;
Line: 3745

        UPDATE BSC_KPIS_B K
        SET PROTOTYPE_FLAG = 6,
            LAST_UPDATED_BY = BSC_APPS.fnd_global_user_id,
            LAST_UPDATE_DATE = SYSDATE
        WHERE INDICATOR IN (SELECT D.INDICATOR
                            FROM BSC_KPI_DIM_LEVELS_B D
                            WHERE K.INDICATOR = D.INDICATOR AND
                                  (D.LEVEL_TABLE_NAME = x_dim_table OR
                                   D.TABLE_RELATION = x_dim_table)) AND
              PROTOTYPE_FLAG in (0, 6, 7);
Line: 3757

        UPDATE bsc_kpi_analysis_measures_b k
          SET prototype_flag = BSC_DESIGNER_PVT.C_COLOR_CHANGE -- 7
          WHERE indicator IN (SELECT d.indicator
                              FROM bsc_kpi_dim_levels_b d
                              WHERE k.indicator = d.indicator
                              AND   (d.level_table_name = x_dim_table
                                     OR d.table_relation = x_dim_table));
Line: 3777

      BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_DIMTABLE_UPDATE_FAILED'),
                      x_source => 'BSC_UPDATE_BASE.Load_Dim_Table');
Line: 3784

                      x_source => 'BSC_UPDATE_BASE.Load_Dim_Table');
Line: 3815

    h_dim_level_list.delete;
Line: 3838

    l_objs_to_check BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3855

    l_sql := 'SELECT refresh_end_time'||
             ' FROM bsc_object_refresh_log'||
             ' WHERE object_name = :1 AND object_type = :2';
Line: 3872

    l_num_objs_to_check := BSC_UPDATE_UTIL.Decompose_Varchar2_List(x_source_to_check, l_objs_to_check, ',');
Line: 3875

        l_sql := 'SELECT MAX(last_update_date)'||
                 ' FROM '||l_objs_to_check(l_i);
Line: 3917

    l_dbi_dim_data BSC_UPDATE_DIM.t_dbi_dim_data;
Line: 3920

    l_lst_select VARCHAR2(8000);
Line: 3921

    l_lst_select_src VARCHAR2(8000);
Line: 3922

    l_lst_select_tmp VARCHAR2(8000);
Line: 3923

    l_lst_select_tmp_t VARCHAR2(8000);
Line: 3929

    l_parent_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3930

    l_src_parent_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 3955

    SELECT level_table_name
    INTO l_level_table_name
    FROM bsc_sys_dim_levels_b
    WHERE short_name = x_dim_short_name;
Line: 3982

                    l_sql := 'UPDATE bsc_object_refresh_log'||
                             ' SET refresh_start_time = SYSDATE, refresh_end_time = NULL'||
                             ' WHERE object_name = :1 AND object_type = :2';
Line: 3987

                        l_sql := 'INSERT INTO bsc_object_refresh_log'||
                                 ' (object_name, object_type, refresh_start_time, refresh_end_time)'||
                                 ' VALUES (:1, :2, SYSDATE, NULL)';
Line: 4005

                    l_lst_select := 'USER_CODE,CODE';
Line: 4008

                        l_lst_select_src := l_user_code||','||l_code;
Line: 4011

                        l_lst_select_src := l_user_code||',decode(to_char('||l_user_code||'),''0'',''-99999999'','||
                                            'to_char('||l_user_code||')) '||l_code;
Line: 4014

                    l_lst_select_tmp := 'USER_CODE,CODE';
Line: 4015

                    l_lst_select_tmp_t := 'T.USER_CODE,T.CODE';
Line: 4023

                            l_lst_select := l_lst_select||', '||l_parent_columns(l_i);
Line: 4024

                            l_lst_select_src := l_lst_select_src||', '||l_src_parent_columns(l_i);
Line: 4025

                            l_lst_select_tmp := l_lst_select_tmp||', PARENT_CODE'||l_i;
Line: 4026

                            l_lst_select_tmp_t := l_lst_select_tmp_t||', T.PARENT_CODE'||l_i;
Line: 4039

                            l_lst_select := l_lst_select||', EFFECTIVE_START_DATE, EFFECTIVE_END_DATE';
Line: 4040

                            l_lst_select_src := l_lst_select_src||', EFFECTIVE_START_DATE, EFFECTIVE_END_DATE';
Line: 4041

                            l_lst_select_tmp := l_lst_select_tmp||', EFFECTIVE_START_DATE, EFFECTIVE_END_DATE';
Line: 4042

                            l_lst_select_tmp_t := l_lst_select_tmp_t||', T.EFFECTIVE_START_DATE, T.EFFECTIVE_END_DATE';
Line: 4050

                    BSC_UPDATE_UTIL.Execute_Immediate('delete BSC_TMP_DBI_DIM');
Line: 4051

                    BSC_UPDATE_UTIL.Execute_Immediate('delete BSC_TMP_DBI_DIM_ADD');
Line: 4052

                    BSC_UPDATE_UTIL.Execute_Immediate('delete BSC_TMP_DBI_DIM_DEL');
Line: 4062

                    l_sql := 'INSERT /*+ parallel(BSC_TMP_DBI_DIM) */'||
                             ' INTO BSC_TMP_DBI_DIM ('||l_lst_select_tmp||')'||
                             ' SELECT /*+ parallel('||l_source_object_alias||') */ DISTINCT '||l_lst_select_src||
                             ' FROM '||l_source_object;
Line: 4069

                    BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4073

                    l_sql := 'INSERT /*+ parallel(BSC_TMP_DBI_DIM_ADD) */'||
                             ' INTO BSC_TMP_DBI_DIM_ADD (USER_CODE)'||
                             ' SELECT USER_CODE'||
                             ' FROM BSC_TMP_DBI_DIM MINUS select USER_CODE from '||l_dbi_dim_data.table_name;
Line: 4080

                    BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4084

                    l_sql := 'INSERT /*+ parallel(BSC_TMP_DBI_DIM_DEL) */'||
                             ' INTO BSC_TMP_DBI_DIM_DEL (USER_CODE)'||
                             ' SELECT USER_CODE'||
                             ' FROM '||l_dbi_dim_data.table_name||' MINUS select USER_CODE from BSC_TMP_DBI_DIM';
Line: 4091

                    BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4097

                        l_sql := 'INSERT /*+ parallel(BSC_AW_DIM_DELETE) */'||
                                 ' INTO BSC_AW_DIM_DELETE (DIM_LEVEL, DELETE_VALUE)'||
                                 ' SELECT :1, CODE'||
                                 ' FROM '||l_dbi_dim_data.table_name||' MINUS SELECT :2, CODE FROM BSC_TMP_DBI_DIM';
Line: 4110

                        l_sql := 'UPDATE '||l_dbi_dim_data.table_name||' B'||
                                 ' SET ('||l_lst_set||') = ('||
                                 ' SELECT '||l_lst_set_tmp||
                                 ' FROM BSC_TMP_DBI_DIM T'||
                                 ' WHERE T.USER_CODE = B.USER_CODE'||
                                 ' )'||
                                 ' WHERE EXISTS ('||
                                 ' SELECT T.USER_CODE'||
                                 ' FROM BSC_TMP_DBI_DIM T'||
                                 ' WHERE T.USER_CODE = B.USER_CODE AND ('||l_cond_parents||')';
Line: 4127

                        BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4131

                    l_sql := 'INSERT /*+ parallel('||l_dbi_dim_data.table_name||') */'||
                             ' INTO '||l_dbi_dim_data.table_name||' ('||l_lst_select||')'||
                             ' SELECT '||l_lst_select_tmp_t||
                             ' FROM BSC_TMP_DBI_DIM T, BSC_TMP_DBI_DIM_ADD N'||
                             ' WHERE T.USER_CODE = N.USER_CODE';
Line: 4139

                    BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4142

                    l_sql :=  'DELETE FROM '||l_dbi_dim_data.table_name||
                              ' WHERE USER_CODE IN (SELECT USER_CODE FROM BSC_TMP_DBI_DIM_DEL)';
Line: 4147

                    BSC_UPDATE_UTIL.Execute_Immediate(l_sql);
Line: 4152

                    l_sql := 'UPDATE bsc_object_refresh_log'||
                             ' SET refresh_end_time = SYSDATE'||
                             ' WHERE object_name = :1 AND object_type = :2';
Line: 4166

            l_dim_level_list.delete;
Line: 4174

            l_sql := 'INSERT /*+ parallel(BSC_AW_DIM_DELETE) */'||
                     ' INTO BSC_AW_DIM_DELETE (DIM_LEVEL, DELETE_VALUE)'||
                     ' SELECT DIM_LEVEL, CODE'||
                     ' FROM BSC_AW_DIM_DATA'||
                     ' WHERE DIM_LEVEL = :1'||
                     ' MINUS '||
                     ' SELECT :2, TO_CHAR(CODE) FROM '||l_level_table_name;
Line: 4228

        l_sql := 'delete from bsc_aw_dim_delete'||
                 ' where dim_level = :1 and delete_value = :2';
Line: 4232

        l_dim_level_list.delete;
Line: 4246

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR'),
                        x_source => 'BSC_UPDATE_DIM.Refresh_Dbi_Dimension_Table');
Line: 4252

                        x_source => 'BSC_UPDATE_DIM.Refresh_Dbi_Dimension_Table');
Line: 4294

    IF NOT BSC_UPDATE_LOCK.Lock_DBI_Dimension(x_dim_short_name) THEN
        RAISE e_could_not_get_lock;
Line: 4312

        BSC_UPDATE_LOG.Write_Errors_To_Log;
Line: 4314

        ERRBUF := BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR');
Line: 4322

        BSC_UPDATE_LOG.Write_Errors_To_Log;
Line: 4332

                        x_source => 'BSC_UPDATE_DIM.Refresh_Dbi_Dimension',
                        x_mode => 'I');
Line: 4336

        BSC_UPDATE_LOG.Write_Errors_To_Log;
Line: 4338

        ERRBUF := BSC_UPDATE_UTIL.Get_Message('BSC_UNEXPECTED_ERROR');
Line: 4391

    select level_view_name, level_pk_col
    into l_level_view_name, l_level_pk_col
    from bsc_sys_dim_levels_b
    where level_table_name = x_level_table_name;
Line: 4396

    l_sql := 'select distinct code'||
             ' from '||l_level_view_name||
             ' where '||l_level_pk_col||' is null';
Line: 4406

    denorm_child.delete;
Line: 4407

    denorm_parent.delete;
Line: 4408

    dc_level.delete;
Line: 4409

    dp_level.delete;
Line: 4412

        norm_child.delete;
Line: 4413

        norm_parent.delete;
Line: 4414

        l_sql := 'select '||l_level_pk_col||', code, level'||
                 ' from '||l_level_view_name||
                 ' start with '||l_level_pk_col||' = :1'||
                 ' connect by prior code = '||l_level_pk_col;
Line: 4425

        prev_p.delete;
Line: 4442

                            prev_p.delete(m);
Line: 4443

                            prev_p_level.delete(m);
Line: 4480

    IF BSC_UPDATE_UTIL.Table_Has_Any_Row(x_denorm_table_name) THEN
        -- Incremental load
        BSC_UPDATE_UTIL.Truncate_Table('BSC_TMP_DNT');
Line: 4485

            execute immediate 'insert into bsc_tmp_dnt (parent_code, code, child_level, parent_level)'||
                              ' values (:1, :2, :3, :4)'
            using denorm_parent(i), denorm_child(i), dc_level(i), dp_level(i);
Line: 4490

        l_sql := 'delete from '||x_denorm_table_name||
                 ' where (parent_code, code, child_level, parent_level) in ('||
                 ' select parent_code, code, child_level, parent_level'||
                 ' from '||x_denorm_table_name||
                 ' minus'||
                 ' select parent_code, code, child_level, parent_level'||
                 ' from bsc_tmp_dnt'||
                 ' )';
Line: 4500

        l_sql := 'insert into '||x_denorm_table_name||' (parent_code, code, child_level, parent_level)'||
                 ' select parent_code, code, child_level, parent_level'||
                 ' from bsc_tmp_dnt'||
                 ' minus'||
                 ' select parent_code, code, child_level, parent_level'||
                 ' from '||x_denorm_table_name;
Line: 4511

            execute immediate 'insert into '||x_denorm_table_name||
                              ' (parent_code, code, child_level, parent_level)'||
                              ' values (:1, :2, :3, :4)'
            using denorm_parent(i), denorm_child(i), dc_level(i), dp_level(i);
Line: 4524

                        x_source => 'BSC_UPDATE_DIM.Refresh_Denorm_Table');
Line: 4534

	x_mod_dimensions IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_num_mod_dimensions IN OUT NOCOPY NUMBER,
	x_checked_dimensions IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_num_checked_dimensions IN OUT NOCOPY NUMBER
	) RETURN BOOLEAN IS

    e_unexpected_error EXCEPTION;
Line: 4544

    h_relation_cols BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4551

    h_deleted_records BSC_UPDATE_UTIL.t_array_of_number;
Line: 4552

    h_num_deleted_records NUMBER;
Line: 4558

    h_child_dimensions BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4560

    h_parent_dimensions BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4566

    h_num_deleted_records := 0;
Line: 4573

    IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_dimension_table,
                                                         x_checked_dimensions,
                                                         x_num_checked_dimensions) THEN

        BSC_UPDATE_LOG.Write_Line_Log(x_dimension_table, BSC_UPDATE_LOG.OUTPUT);
Line: 4593

            IF NOT BSC_UPDATE_UTIL.Drop_Table('BSC_TMP_DIMENSION') THEN
                RAISE e_unexpected_error;
Line: 4598

            h_lst_relation_cols := BSC_UPDATE_UTIL.Make_Lst_From_Array_Varchar2(h_relation_cols, h_num_relation_cols);
Line: 4599

            h_lst_relation_cols_desc := BSC_UPDATE_UTIL.Make_Lst_Description(h_relation_cols, h_num_relation_cols, 'NUMBER');
Line: 4612

            h_sql := 'INSERT INTO BSC_TMP_DIMENSION (CODE'||h_lst_relation_cols||')'||
                     ' SELECT CODE'||h_lst_relation_cols||
                     ' FROM '||x_dimension_table;
Line: 4615

            BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
Line: 4618

            IF NOT BSC_UPDATE_UTIL.Create_Unique_Index('BSC_TMP_DIMENSION',
                                                       'BSC_TMP_DIMENSION_U1',
                                                       'CODE',
                                                       BSC_APPS.other_index_tbs_type) THEN
                RAISE e_unexpected_error;
Line: 4629

        h_num_deleted_records := Get_Deleted_Records(x_dimension_table, 'BSC_TMP_DIMENSION', h_deleted_records);
Line: 4631

        IF h_num_deleted_records > 0 THEN
            -- Delete from all system tables rows for deleted values

            -- h_condition := BSC_UPDATE_UTIL.Make_Lst_Cond_Number(h_level_pk_col, h_deleted_records, h_num_deleted_records, 'OR');
Line: 4636

            FOR h_i IN 1..h_num_deleted_records LOOP
                BSC_APPS.Add_Value_Big_In_Cond(1, h_deleted_records(h_i));
Line: 4640

            IF NOT Delete_Key_Values_In_Tables(h_level_pk_col, h_condition) THEN
                RAISE e_unexpected_error;
Line: 4645

            IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_dimension_table,
                                                                 x_mod_dimensions,
                                                                 x_num_mod_dimensions) THEN
                -- Add the dimension to the array x_checked dimensions
                x_num_mod_dimensions := x_num_mod_dimensions + 1;
Line: 4658

                IF NOT BSC_UPDATE_UTIL.Item_Belong_To_Array_Varchar2(x_dimension_table,
                                                                     x_mod_dimensions,
                                                                     x_num_mod_dimensions) THEN
                    -- Add the dimension to the array x_checked dimensions
                    x_num_mod_dimensions := x_num_mod_dimensions + 1;
Line: 4669

        IF NOT BSC_UPDATE_UTIL.Drop_Table('BSC_TMP_DIMENSION') THEN
           RAISE e_unexpected_error;
Line: 4704

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_REFRESH_EDW_DIM_FAILED'),
                        x_source => 'BSC_UPDATE_DIM.Refresh_EDW_Dimension');
Line: 4710

                        x_source => 'BSC_UPDATE_DIM.Refresh_EDW_Dimension');
Line: 4720

	x_dimension_tables IN BSC_UPDATE_UTIL.t_array_of_varchar2,
        x_num_dimension_tables IN NUMBER
	) RETURN BOOLEAN IS

    e_unexpected_error EXCEPTION;
Line: 4726

    h_mod_dimensions BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4728

    h_checked_dimensions BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4738

    BSC_UPDATE_LOG.Write_Line_Log(BSC_UPDATE_UTIL.Get_Message('BSC_REFRESHING_EDW_DIM'), BSC_UPDATE_LOG.OUTPUT);
Line: 4754

        BSC_UPDATE_LOG.Write_Line_Log(BSC_UPDATE_UTIL.Get_Message('BSC_RECALC_KPI_DIMTABLES'), BSC_UPDATE_LOG.OUTPUT);
Line: 4757

            UPDATE BSC_KPIS_B K
            SET PROTOTYPE_FLAG = 6,
                LAST_UPDATED_BY = BSC_APPS.fnd_global_user_id,
                LAST_UPDATE_DATE = SYSDATE
                WHERE INDICATOR IN (SELECT D.INDICATOR
                                    FROM BSC_KPI_DIM_LEVELS_B D
                                    WHERE K.INDICATOR = D.INDICATOR AND
                                          D.LEVEL_TABLE_NAME = h_mod_dimensions(h_i)) AND
                      PROTOTYPE_FLAG in (0, 6, 7);
Line: 4768

            UPDATE bsc_kpi_analysis_measures_b k
	      SET prototype_flag = BSC_DESIGNER_PVT.C_COLOR_CHANGE -- 7
              WHERE indicator IN (SELECT d.indicator
                                  FROM bsc_kpi_dim_levels_b d
                                  WHERE k.indicator = d.indicator
                                  AND   d.level_table_name = h_mod_dimensions(h_i));
Line: 4790

        BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_REFRESH_EDW_DIM_FAILED'),
                        x_source => 'BSC_UPDATE_DIM.Refresh_EDW_Dimensions');
Line: 4796

                        x_source => 'BSC_UPDATE_DIM.Refresh_EDW_Dimensions');
Line: 4814

    l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4818

        SELECT DISTINCT L.DIM_LEVEL_ID, D.LEVEL_TABLE_NAME
        FROM BSC_SYS_COM_DIM_LEVELS L, BSC_SYS_DIM_LEVELS_B D
        WHERE L.DIM_LEVEL_ID = D.DIM_LEVEL_ID;
Line: 4828

    h_sql := 'SELECT DISTINCT L.DIM_LEVEL_ID, D.LEVEL_TABLE_NAME'||
             ' FROM BSC_SYS_COM_DIM_LEVELS L, BSC_SYS_DIM_LEVELS_B D'||
             ' WHERE L.DIM_LEVEL_ID = D.DIM_LEVEL_ID';
Line: 4846

        h_sql := 'DELETE FROM BSC_USER_LIST_ACCESS'||
                 ' WHERE (RESPONSIBILITY_ID, TAB_ID) IN ('||
                 ' SELECT LA.RESPONSIBILITY_ID, LA.TAB_ID'||
                 ' FROM BSC_SYS_COM_DIM_LEVELS L, BSC_USER_LIST_ACCESS LA'||
                 ' WHERE L.TAB_ID = LA.TAB_ID'||
                 ' AND L.DIM_LEVEL_INDEX = LA.DIM_LEVEL_INDEX'||
                 ' AND L.DIM_LEVEL_ID = :1'||
                 ' AND LA.DIM_LEVEL_VALUE <> ''0'''||
                 ' AND LA.DIM_LEVEL_VALUE NOT IN ('||
                 ' SELECT CODE FROM '||h_level_table_name||'))';
Line: 4856

        l_bind_vars_values.delete;
Line: 4858

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

                        x_source => 'BSC_UPDATE_DIM.Sync_Sec_Assigments');
Line: 4891

    h_parent_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4892

    h_parent_keys BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4895

    h_aux_fields BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4905

    l_bind_vars_values BSC_UPDATE_UTIL.t_array_of_varchar2;
Line: 4916

    h_sql := 'DELETE FROM bsc_db_validation'||
             ' WHERE input_table_name = :1';
Line: 4920

    DELETE FROM bsc_db_validation
    WHERE input_table_name = x_input_table;
Line: 4931

    h_sql := 'SELECT generation_type'||
             ' FROM bsc_db_tables'||
             ' WHERE table_name = :1';
Line: 4938

    SELECT generation_type
    INTO h_loading_mode
    FROM bsc_db_tables
    WHERE table_name = x_input_table;
Line: 4943

    h_null := BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'NULL');
Line: 4955

        h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                  SELECT DISTINCT :1, ''USER_CODE'',
                  NVL(USER_CODE,:2)
                  FROM '||x_input_table||'
                  WHERE NVL(USER_CODE, ''0'') = ''0''';
Line: 4960

        l_bind_vars_values.delete;
Line: 4963

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

        h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                  SELECT DISTINCT :1, ''NAME'', :2
                  FROM '||x_input_table||'
                  WHERE NAME IS NULL';
Line: 4971

        l_bind_vars_values.delete;
Line: 4974

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

            h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                  SELECT DISTINCT :1, ''NAME'', name
                  FROM '||x_input_table||'
                  WHERE name IS NOT NULL
                  GROUP BY name
                  HAVING count(*) > 1';
Line: 4985

            l_bind_vars_values.delete;
Line: 4987

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

            h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                  SELECT DISTINCT :1, :2, name
                  FROM (SELECT user_code, name
                        FROM '||x_input_table||'
                        UNION
                        SELECT d.user_code, d.name
                        FROM '||x_dim_table||' d, '||x_input_table||' i
                        WHERE d.user_code = i.user_code (+) AND i.user_code IS NULL AND
                              d.language = :3 AND d.source_lang = :4)
                  WHERE name IS NOT NULL
                  GROUP BY name
                  HAVING count(*) > 1';
Line: 5002

            l_bind_vars_values.delete;
Line: 5007

            BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,4);
Line: 5020

        h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                  SELECT DISTINCT :1, :2,
                  NVL(TO_CHAR('||h_parent_keys(h_i)||'_USR), :3)
                  FROM '||x_input_table||'
                  WHERE NVL(TO_CHAR('||h_parent_keys(h_i)||'_USR), ''0'') NOT IN (
                  SELECT TO_CHAR(USER_CODE) FROM '||h_parent_tables(h_i)||' WHERE TO_CHAR(USER_CODE) <> ''0'')';
Line: 5026

        l_bind_vars_values.delete;
Line: 5030

        BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,3);
Line: 5038

            h_sql := 'INSERT INTO bsc_db_validation (input_table_name, column_name, invalid_code)
                      SELECT DISTINCT :1, :2, :3
                      FROM '||x_input_table||'
                      WHERE '||h_aux_fields(h_i)||' IS NULL';
Line: 5042

            l_bind_vars_values.delete;
Line: 5046

            BSC_UPDATE_UTIL.Execute_Immediate(h_sql,l_bind_vars_values,3);
Line: 5052

    h_sql := 'SELECT COUNT(*) FROM BSC_DB_VALIDATION'||
             ' WHERE ROWNUM < :1 AND INPUT_TABLE_NAME = :2';
Line: 5058

    SELECT COUNT(*)
    INTO h_num_rows
    FROM BSC_DB_VALIDATION
    WHERE ROWNUM < 2 AND INPUT_TABLE_NAME = x_input_table;
Line: 5073

      BSC_MESSAGE.Add(x_message => BSC_UPDATE_UTIL.Get_Message('BSC_ITABLE_VALID_FAILED'),
                      x_source => 'BSC_UPDATE_DIM.Validate_Input_Table');
Line: 5079

                      x_source => 'BSC_UPDATE_DIM.Validate_Input_Table');
Line: 5112

    c_indicators_sql VARCHAR2(2000) := 'SELECT d.indicator, d.level_table_name, d.default_key_value'||
                                       ' FROM bsc_kpi_dim_levels_b d, bsc_kpis_b k'||
                                       ' WHERE d.indicator = k.indicator AND'||
                                       ' d.default_key_value IS NOT NULL';
Line: 5118

        SELECT d.indicator, d.level_table_name, d.default_key_value
        FROM bsc_kpi_dim_levels_b d, bsc_kpis_b k
        WHERE d.indicator = k.indicator AND
              d.default_key_value IS NOT NULL;
Line: 5145

        h_sql := 'SELECT code FROM '||h_level_table_name||
                 ' WHERE code = :1';
Line: 5153

                BSC_UPDATE_LOG.Write_Line_Log('', BSC_UPDATE_LOG.OUTPUT);
Line: 5154

                BSC_UPDATE_LOG.Write_Line_Log('+---------------------------------------------------------------------------+',
                                              BSC_UPDATE_LOG.OUTPUT);
Line: 5156

                BSC_UPDATE_LOG.Write_Line_Log(BSC_UPDATE_UTIL.Get_Message('BSC_DFT_DIMVALUE_MISSING'), BSC_UPDATE_LOG.OUTPUT);
Line: 5157

                BSC_UPDATE_LOG.Write_Line_Log('+---------------------------------------------------------------------------+',
                                              BSC_UPDATE_LOG.OUTPUT);
Line: 5159

                BSC_UPDATE_LOG.Write_Line_Log(RPAD(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_BACKEND', 'KPI_CODE'), C_INDICATOR_W)||
                           RPAD(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_COMMON', 'DIMENSION_TABLE_NAME'), C_DIMENSION_TABLE_W)||
                           RPAD(BSC_UPDATE_UTIL.Get_Lookup_Value('BSC_UI_KPIDESIGNER', 'DEFAULT_VALUE'), C_DEFAULT_VALUE_W),
                           BSC_UPDATE_LOG.OUTPUT);
Line: 5167

            BSC_UPDATE_LOG.Write_Line_Log(RPAD(TO_CHAR(h_indicator), C_INDICATOR_W)||
                           RPAD(h_level_table_name, C_DIMENSION_TABLE_W)||
                           RPAD(h_default_key_value, C_DEFAULT_VALUE_W),
                           BSC_UPDATE_LOG.OUTPUT);
Line: 5178

    BSC_UPDATE_LOG.Write_Line_Log('', BSC_UPDATE_LOG.OUTPUT);
Line: 5185

                      x_source => 'BSC_UPDATE_DIM.WriteRemovedKeyItems');