858: where instance = p_instance_id and level_id = p_level_id and
859: parent_level_id = p_parent_level_id
860: MINUS
861: select sr_level_pk
862: from msd_level_associations
863: where instance = p_instance_id and level_id = p_level_id and
864: parent_level_id = p_parent_level_id);
865:
866:
873: where instance = p_instance_id and level_id = p_level_id and
874: parent_level_id = p_parent_level_id
875: MINUS
876: select sr_level_pk, sr_parent_level_pk
877: from msd_level_associations
878: where instance = p_instance_id and level_id = p_level_id and
879: parent_level_id = p_parent_level_id);
880:
881:
879: parent_level_id = p_parent_level_id);
880:
881:
882:
883: TYPE sr_level_pk_tab is table of msd_level_associations.sr_level_pk%TYPE;
884: TYPE sr_parent_level_pk_tab is table of msd_level_associations.sr_parent_level_pk%TYPE;
885:
886: a_sr_level_pk SR_LEVEL_PK_TAB;
887: a_sr_parent_level_pk SR_PARENT_LEVEL_PK_TAB;
880:
881:
882:
883: TYPE sr_level_pk_tab is table of msd_level_associations.sr_level_pk%TYPE;
884: TYPE sr_parent_level_pk_tab is table of msd_level_associations.sr_parent_level_pk%TYPE;
885:
886: a_sr_level_pk SR_LEVEL_PK_TAB;
887: a_sr_parent_level_pk SR_PARENT_LEVEL_PK_TAB;
888:
909:
910: /* Insert new rows into fact table */
911: IF (a_sr_parent_level_pk.exists(1)) THEN
912: FORALL i IN a_sr_level_pk.FIRST..a_sr_level_pk.LAST
913: INSERT INTO msd_level_associations(
914: instance, level_id, sr_level_pk,
915: parent_level_id, sr_parent_level_pk,
916: last_update_date, last_updated_by,
917: creation_date, created_by, last_update_login,
930:
931: /* For updated level association */
932: IF (a_sr_level_pk.exists(1) and a_sr_parent_level_pk.exists(1)) THEN
933: FORALL i IN a_sr_level_pk.FIRST..a_sr_level_pk.LAST
934: UPDATE msd_level_associations
935: SET
936: sr_parent_level_pk = a_sr_parent_level_pk(i),
937: action_code = 'U',
938: last_refresh_num = p_seq_num,
970:
971:
972: CURSOR c_delete IS
973: (select sr_level_pk, sr_parent_level_pk
974: from msd_level_associations
975: where instance = p_instance_id and level_id = p_level_id and
976: parent_level_id = p_parent_level_id
977: MINUS
978: select sr_level_pk, sr_parent_level_pk
979: from msd_st_level_associations
980: where instance = p_instance_id and level_id = p_level_id and
981: parent_level_id = p_parent_level_id);
982:
983: TYPE sr_level_pk_tab is table of msd_level_associations.sr_level_pk%TYPE;
984: TYPE sr_parent_level_pk_tab is table of msd_level_associations.sr_parent_level_pk%TYPE;
985:
986: a_sr_level_pk SR_LEVEL_PK_TAB;
987: a_sr_parent_level_pk SR_PARENT_LEVEL_PK_TAB;
980: where instance = p_instance_id and level_id = p_level_id and
981: parent_level_id = p_parent_level_id);
982:
983: TYPE sr_level_pk_tab is table of msd_level_associations.sr_level_pk%TYPE;
984: TYPE sr_parent_level_pk_tab is table of msd_level_associations.sr_parent_level_pk%TYPE;
985:
986: a_sr_level_pk SR_LEVEL_PK_TAB;
987: a_sr_parent_level_pk SR_PARENT_LEVEL_PK_TAB;
988:
993: CLOSE c_delete;
994:
995: IF (a_sr_level_pk.exists(1)) THEN
996: FORALL i IN a_sr_level_pk.FIRST..a_sr_level_pk.LAST
997: DELETE FROM msd_level_associations
998: WHERE instance = p_instance_id and
999: level_id = p_level_id and
1000: sr_level_pk = a_sr_level_pk(i) and
1001: parent_level_id = p_parent_level_id and