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
| -- Déclaration
TYPE VP_TabType IS TABLE OF T_ANOMAL%ROWTYPE INDEX BY BINARY_INTEGER;
VP_idx NUMBER :=0 ;
VP_Tabl VP_TabType;
-- Procedure d'insertion des données dans le tableau
PROCEDURE P_ALIM_TABLEAU_ANO ( in_PAT IN T_ANOMAL.R_CODPAT%TYPE,
in_FICH IN T_ANOMAL.R_fichier%TYPE,
in_CHAMP IN T_ANOMAL.r_champs%TYPE,
in_CODEREJ IN T_ANOMAL.r_code_rejet%TYPE,
in_R_NATURE_REJET IN T_ANOMAL.r_nature_rejet%TYPE,
in_R_DATE IN T_ANOMAL.r_date_rejet%TYPE)
IS
BEGIN
VP_idx := VP_idx + 1 ; -- on incrémente l'INDEX des item
VP_Tabl(VP_idx).R_CODPAT:= in_PAT ;
VP_Tabl(VP_idx).R_FICHIER:= in_FICH ;
VP_Tabl(VP_idx).R_CHAMPS:= in_CHAMP;
VP_Tabl(VP_idx).R_CODE_REJET:= in_CODEREJ;
VP_Tabl(VP_idx).R_NATURE_REJET:= in_R_NATURE_REJET;
VP_Tabl(VP_idx).R_DATE_REJET:=SYSDATE;
END;
-- L'appel à la procédure du chargement du tableau
Pkg_CONT.P_ALIM_TABLEAU_ANO ( in_NO_PAT, in_FICH, in_CHAMP, '00001', 'La valeur n''existe pas dans la liste proposée',SYSDATE);
-- Récuperation des données du tableau pour insertion dans la table des anomalies.
FOR i IN VP_Tabl.first..VP_Tabl.last LOOP
INSERT INTO T_ANOMAL (R_CODPAT, R_FICHIER, R_CHAMPS, R_CODE_REJET, R_NATURE_REJET, R_DATE_REJET)
VALUES(VP_Tabl(i).R_CODPAT,VP_Tabl(i).R_FICHIER, VP_Tabl(i).R_CHAMPS, VP_tabl(i).R_CODE_REJET, VP_Tabl(i).R_NATURE_REJET, VP_Tabl(i).R_DATE_REJET);
COMMIT;
END LOOP; |
Partager