1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
l_query := 'SELECT count(eim.ROW_ID)
FROM SIEBEL.'||TABLE_EIM||' eim
WHERE IF_ROW_BATCH_NUM='||var_batch_num_neg||'
AND eim.ROW_ID NOT IN (SELECT distinct RUN_REJET_EIM_ROW_ID FROM ASTRE_RUN_REJET)';
EXECUTE IMMEDIATE l_query INTO var_nb_enregistrement;
-- Insetion de lignes pour la table de rejet.
dbms_output.put_line('nb_enregistrement:'||var_nb_enregistrement);
--dbms_output.put_line(l_query);
FOR i in 1..var_nb_enregistrement LOOP
-- Récupération du row_id de la table eim (ligne en rejet).
l_query := 'SELECT ROW_ID FROM (SELECT eim.ROW_ID, ROWNUM ligne
FROM SIEBEL.'||TABLE_EIM||' eim
WHERE IF_ROW_BATCH_NUM='||var_batch_num_neg||'
AND eim.ROW_ID NOT IN (SELECT distinct RUN_REJET_EIM_ROW_ID FROM ASTRE_RUN_REJET))
WHERE ligne ='||i;
EXECUTE IMMEDIATE l_query INTO var_row_id_eim;
dbms_output.put_line('ROW_ID:'||var_row_id_eim);
INSERT INTO ASTRE.ASTRE_RUN_REJET(RUN_ETAPE_ID,
RUN_ACTION_ID,
RUN_EXECUTION_ID,
RUN_REJET_CRITICITE,
RUN_REJET_DESC,
RUN_REJET_DATA,
RUN_REJET_EIM_TABLE,
RUN_REJET_EIM_ROW_ID
) VALUES(IDENTIFIANT_ETAPE,
var_action_id,
var_exec_id,
CRITICITE,
LIBELLE_REJET,
CLE_REJET,
TABLE_EIM,
NULL
);
COMMIT; |
Partager