The following lines contain the word 'select', 'insert', 'update' or 'delete':
REM | 21-Jun-2001 meastmon fix migration for bis_user_ind_selections |
REM | 11-FEB-2003 rchandra added a check to see if the target level going |
REM | to be migrated already exists in which case it |
REM | will not be migrated , in NEEDS_MIGRATION api |
REM | for bug 2790164 |
REM | Also the migration script will only process rows|
REM | from old data model. Cursor definition |
REM | c_targetlvls in MIGRATE_PERFORMANCE_MEASURES API|
REM | accordingly changed |
REM | 03-JUN-2004 ankgoel Modified for bug#3583357. Added procedures for |
REM | re-sequencing dimensions in |
REM | bis_indicator_dimensions using the dim level |
REM | order in bis_target_levels. |
REM | 21-MAR-2005 ankagarw bug#4235732 - changing count(*) to count(1) |
REM | 19-OCT-2005 ppandey Enh 4618419- SQL Literal Fix |
REM | 15-DEC-2005 ankgoel Bug 4879417- Execute dynamic SQL with a NULL check |
REM +=======================================================================+
*/
--
--
FUNCTION GET_DIMENSION_ID
(p_dimension_level_id IN NUMBER
)
RETURN NUMBER
IS
CURSOR c_dim IS
SELECT dimension_id
FROM bis_levels
WHERE level_id = p_dimension_level_id;
SELECT sequence_no
FROM bis_indicator_dimensions BIS_IND,
bis_levels BIS_LVL
WHERE BIS_IND.dimension_id = BIS_LVL.dimension_id
AND BIS_IND.indicator_id = p_indicator_id
AND BIS_LVL.level_id = p_dim_level_id;
PROCEDURE update_bis_indicators (
p_indicator_id IN NUMBER
,p_dim_level_id IN NUMBER
,p_sequence_no IN NUMBER
)
IS
BEGIN
IF(p_dim_level_id IS NOT NULL) THEN
UPDATE bis_indicator_dimensions
SET sequence_no = p_sequence_no
,last_update_date = SYSDATE
WHERE indicator_id = p_indicator_id
AND dimension_id = get_dimension_id(p_dim_level_id);
END update_bis_indicators;
SELECT dimension1_level_id, dimension2_level_id,
dimension3_level_id, dimension4_level_id,
dimension5_level_id, dimension6_level_id,
dimension7_level_id
FROM bis_target_levels
WHERE indicator_id = p_ind_id
AND org_level_id IS NOT NULL
AND time_level_id IS NOT NULL
AND rownum < 2;
update_bis_indicators(p_indicator_id, c_tl_rec.dimension1_level_id, 1);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension2_level_id, 2);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension3_level_id, 3);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension4_level_id, 4);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension5_level_id, 5);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension6_level_id, 6);
update_bis_indicators(p_indicator_id, c_tl_rec.dimension7_level_id, 7);
SELECT indicator_id
FROM bis_target_levels
WHERE org_level_id IS NOT NULL
AND time_level_id IS NOT NULL
GROUP BY indicator_id;
SELECT count(1) FROM
bis_indicator_dimensions
WHERE indicator_id = p_measure_id;
SELECT target_level_id, indicator_id, short_name
,time_level_id, org_level_id, dimension1_level_id
,dimension2_level_id, dimension3_level_id, dimension4_level_id
,dimension5_level_id, dimension6_level_id, dimension7_level_id
FROM bis_target_levels
WHERE (NVL(dimension1_level_id,-9999) <> time_level_id AND NVL(dimension1_level_id,-9999) <> org_level_id)
AND (NVL(dimension2_level_id,-9999) <> time_level_id AND NVL(dimension2_level_id,-9999) <> org_level_id)
AND (NVL(dimension3_level_id,-9999) <> time_level_id AND NVL(dimension3_level_id,-9999) <> org_level_id)
AND (NVL(dimension4_level_id,-9999) <> time_level_id AND NVL(dimension4_level_id,-9999) <> org_level_id)
AND (NVL(dimension5_level_id,-9999) <> time_level_id AND NVL(dimension5_level_id,-9999) <> org_level_id)
AND (NVL(dimension6_level_id,-9999) <> time_level_id AND NVL(dimension6_level_id,-9999) <> org_level_id)
AND (NVL(dimension7_level_id,-9999) <> time_level_id AND NVL(dimension7_level_id,-9999) <> org_level_id)
; -- only get those rows from the old datamodel
SELECT target_id, org_level_value, time_level_value
,dimension1_level_value, dimension2_level_value, dimension3_level_value
,dimension4_level_value, dimension5_level_value
FROM bis_target_values
WHERE target_level_id = p_target_level_id;
SELECT actual_id, target_level_id, org_level_value, time_level_value,
dimension1_level_value, dimension2_level_value
,dimension3_level_value, dimension4_level_value
,dimension5_level_value
FROM bis_Actual_values
WHERE target_level_id = p_target_level_id;
SELECT ind_selection_id, target_level_id, org_level_value
,dimension1_level_value, dimension2_level_value
,dimension3_level_value, dimension4_level_value
,dimension5_level_value
FROM bis_user_ind_selections
WHERE target_level_id = p_target_level_id;
UPDATE bis_indicator_dimensions
SET sequence_no = l_dummy_value
WHERE dimension_id=l_Reseq_dims(l_count).dim_id AND
indicator_id=c_rec.indicator_id;
UPDATE bis_indicator_dimensions
SET sequence_no= l_reseq_dims(l_count).seq_no
WHERE dimension_id = l_reseq_dims(l_count).dim_id AND
indicator_id = c_Rec.indicator_id;
l_sqlstmt := 'UPDATE bis_target_levels SET ' ||
l_reseq_dims(1).dim_level_col ||' = :1 ' ||
' , '||l_reseq_dims(2).dim_level_col ||' = :2 '||
' , '||l_reseq_dims(3).dim_level_col ||' = :3 '||
' , '||l_reseq_dims(4).dim_level_col ||' = :4 '||
' , '||l_reseq_dims(5).dim_level_col ||' = :5 '||
' , '||l_reseq_dims(6).dim_level_col ||' = :6 '||
' , '||l_reseq_dims(7).dim_level_col ||' = :7 '||
' WHERE target_level_id =:8';
l_sqlstmt1 := 'UPDATE bis_target_values SET '||
l_reseq_target_values(1).dim_level_name ||' = :1 '||
' ,'|| l_Reseq_target_values(2).dim_level_name ||' = :2 ' ||
' ,' || l_Reseq_target_values(3).dim_level_name ||' = :3 '||
' ,' || l_Reseq_target_values(4).dim_level_name||' = :4 ' ||
' ,' || l_Reseq_target_values(5).dim_level_name||' = :5 ' ||
' ,' || l_Reseq_target_values(6).dim_level_name||' = :6 ' ||
' ,' || l_Reseq_target_values(7).dim_level_name||' = :7 ' ||
' WHERE target_level_id = :8 AND target_id = :9';
l_sqlstmt2 := 'UPDATE bis_actual_values SET '||
l_reseq_actual_values(1).dim_level_name ||' = :1 '||
' ,'|| l_Reseq_actual_values(2).dim_level_name ||' = :2 ' ||
' ,' || l_Reseq_actual_values(3).dim_level_name ||' = :3 '||
' ,' || l_Reseq_actual_values(4).dim_level_name||' = :4 ' ||
' ,' || l_Reseq_actual_values(5).dim_level_name||' = :5 ' ||
' ,' || l_Reseq_actual_values(6).dim_level_name||' = :6 ' ||
' ,' || l_Reseq_actual_values(7).dim_level_name||' = :7 ' ||
' WHERE target_level_id = :8 AND actual_id = :9 ';
/*l_sqlstmt3 := 'UPDATE bis_user_ind_selections SET '||
l_reseq_userind_values(1).dim_level_name ||' = '||
NVL(l_reseq_userind_values(1).dim_level_value, 'NULL') ||
' ,'|| l_reseq_userind_values(2).dim_level_name ||' = ' ||
NVL(l_reseq_userind_values(2).dim_level_value, 'NULL') ||
' ,' || l_reseq_userind_values(3).dim_level_name ||' = '||
NVL(l_reseq_userind_values(3).dim_level_value,'NULL') ||
' ,' || l_reseq_userind_values(4).dim_level_name||' = ' ||
NVL(l_reseq_userind_values(4).dim_level_value,'NULL') ||
' ,' || l_reseq_userind_values(5).dim_level_name||' = ' ||
NVL(l_reseq_userind_values(5).dim_level_value,'NULL') ||
' ,' || l_reseq_userind_values(6).dim_level_name||' = ' ||
NVL(l_reseq_userind_values(6).dim_level_value,'NULL') ||
' ,' || l_reseq_userind_values(7).dim_level_name||' = ' ||
NVL(l_reseq_userind_values(7).dim_level_value,'NULL') ||
' WHERE target_level_id = :1 ';*/
l_sqlstmt3 := 'UPDATE bis_user_ind_selections SET '||
l_userind_org_name ||'= :1 ' ||
' WHERE ind_selection_id = :2 AND target_level_id = :3';
EXECUTE IMMEDIATE l_sqlstmt3 USING l_userind_org_value, c_userind_rec.ind_selection_id, c_rec.target_level_id;
SELECT COUNT(1) FROM bis_target_levels
WHERE indicator_id = cp_tl_rec.measure_id
AND ( cp_tl_rec.dimension1_level_id IS NULL OR
dimension1_level_id = cp_tl_rec.dimension1_level_id
)
AND ( cp_tl_rec.dimension2_level_id IS NULL OR
dimension2_level_id = cp_tl_rec.dimension2_level_id
)
AND ( cp_tl_rec.dimension3_level_id IS NULL OR
dimension3_level_id = cp_tl_rec.dimension3_level_id
)
AND ( cp_tl_rec.dimension4_level_id IS NULL OR
dimension4_level_id = cp_tl_rec.dimension4_level_id
)
AND ( cp_tl_rec.dimension5_level_id IS NULL OR
dimension5_level_id = cp_tl_rec.dimension5_level_id
)
AND ( cp_tl_rec.dimension6_level_id IS NULL OR
dimension6_level_id = cp_tl_rec.dimension6_level_id
)
AND ( cp_tl_rec.dimension7_level_id IS NULL OR
dimension7_level_id = cp_tl_rec.dimension7_level_id
);