[Home] [Help]
The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_sql := 'Select sysdate from dual@' ||p_dblink_name;
l_stmt := 'select name from v$database';
l_stmt_remote := 'select name from v$database@'||p_dblink_name;
select sysdate into l_dummy from dual;
execute immediate 'delete BSC_PMA_MIG_TMP_RESP_MAP';
l_stmt:= 'SELECT
SRC_RLIST.RESPONSIBILITY_ID,
SRC_RLIST.RESPONSIBILITY_NAME,
TAR_RLIST.RESPONSIBILITY_ID,
TAR_RLIST.RESPONSIBILITY_NAME
FROM
(SELECT INPUT_TABLE_NAME,
substr(INPUT_TABLE_NAME,3,INSTR(INPUT_TABLE_NAME,''_'',1,1)-3) ROW_COUNT,
RESPONSIBILITY_ID,
RESPONSIBILITY_NAME
FROM bsc_db_loader_control,BSC_RESPONSIBILITY_VL@'||p_dblink_name||
' SRC_RESP WHERE PROCESS_ID = :1 AND INPUT_TABLE_NAME LIKE ''SR%''
AND SRC_RESP.RESPONSIBILITY_ID = substr(INPUT_TABLE_NAME,INSTR(INPUT_TABLE_NAME,''_'',1,1)+1)) SRC_RLIST,
(SELECT INPUT_TABLE_NAME,
substr(INPUT_TABLE_NAME,3,INSTR(INPUT_TABLE_NAME,''_'',1,1)-3) ROW_COUNT,
RESPONSIBILITY_ID,
RESPONSIBILITY_NAME
FROM bsc_db_loader_control,BSC_RESPONSIBILITY_VL TAR_RESP
WHERE PROCESS_ID =:2 AND INPUT_TABLE_NAME LIKE ''TR%''
AND TAR_RESP.RESPONSIBILITY_ID = substr(INPUT_TABLE_NAME,INSTR(INPUT_TABLE_NAME,''_'',1,1)+1)) TAR_RLIST
WHERE
TAR_RLIST.ROW_COUNT =SRC_RLIST.ROW_COUNT';
INSERT INTO BSC_PMA_MIG_TMP_RESP_MAP VALUES defRespTab(i);
l_stmt:= 'SELECT SRC_RESP.RESPONSIBILITY_ID, SRC_RESP.RESPONSIBILITY_NAME,
TAR_RESP.RESPONSIBILITY_ID,TAR_RESP.RESPONSIBILITY_NAME
FROM BSC_RESPONSIBILITY_VL@'||p_dblink_name||
' SRC_RESP, FND_RESPONSIBILITY@'||p_dblink_name||
' SRC_FND_RESP, BSC_RESPONSIBILITY_VL TAR_RESP,
FND_RESPONSIBILITY TAR_FND_RESP
WHERE SRC_RESP.RESPONSIBILITY_ID IN
(SELECT RESPONSIBILITY_ID FROM BSC_USER_KPI_ACCESS@'||p_dblink_name||
' UNION SELECT RESPONSIBILITY_ID FROM BSC_USER_TAB_ACCESS@'||p_dblink_name||
' ) AND
SRC_RESP.RESPONSIBILITY_ID = SRC_FND_RESP.RESPONSIBILITY_ID
AND
TAR_RESP.RESPONSIBILITY_ID = TAR_FND_RESP.RESPONSIBILITY_ID
AND
SRC_FND_RESP.RESPONSIBILITY_KEY = TAR_FND_RESP.RESPONSIBILITY_KEY';
INSERT INTO BSC_PMA_MIG_TMP_RESP_MAP VALUES defRespTab(i);
execute immediate 'delete from BSC_PMA_MIG_TMP_OBJ_LIST';
l_stmt:= 'Select DISTINCT K.INDICATOR, K.NAME
FROM bsc_db_loader_control,BSC_KPIS_VL@'||p_dblink_name||
' K ,BSC_USER_KPI_ACCESS@'||p_dblink_name|| ' RK
WHERE PROCESS_ID = :1
AND INPUT_TABLE_NAME LIKE ''KF%''
AND K.INDICATOR = substr(INPUT_TABLE_NAME,INSTR(INPUT_TABLE_NAME,''_'',1,1)+1) AND
RK.INDICATOR = K.INDICATOR AND INSTR(:2,RK.RESPONSIBILITY_ID) >0';
INSERT INTO BSC_PMA_MIG_TMP_OBJ_LIST VALUES l_obj_list(i);
l_stmt:= 'Select DISTINCT K.TAB_ID, K.NAME
FROM bsc_db_loader_control,BSC_TABS_VL@'||p_dblink_name||
' K , BSC_USER_TAB_ACCESS@'||p_dblink_name|| ' RT
WHERE PROCESS_ID = :1
AND INPUT_TABLE_NAME LIKE ''TF%''
AND K.TAB_ID = substr(INPUT_TABLE_NAME,INSTR(INPUT_TABLE_NAME,''_'',1,1)+1) AND
RT.TAB_ID = K.TAB_ID AND INSTR(:2,RT.RESPONSIBILITY_ID) >0';
INSERT INTO BSC_PMA_MIG_TMP_OBJ_LIST VALUES l_obj_list(i);