Bonjour,
J'ai besoin de passer à une procédure oracle le contenu d'un fichier (après contrôles) sous forme d'un tableau pour les insérer dans une table Oracle JOURNAL_OPERATION_CHANGE.
Pour ce faire j'ai créé le package suivant:
Entete:
Body:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE OR REPLACE PACKAGE CHMCR.PACK_CHM_CR IS TYPE fichier_CR_TYPE IS TABLE OF JOURNAL_OPERATION_CHANGE%ROWTYPE index by binary_integer; -- PROCEDURE CHARGEMENT_CR( P_FICHIER_CR IN OUT FICHIER_CR_TYPE, p_nom_fichier IN VARCHAR2, p_id_chargement OUT NUMBER, NMES OUT NUMBER, LMES OUT VARCHAR2); END PACK_CHM_CR; /
Probleme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 CREATE OR REPLACE PACKAGE BODY CHMCR.PACK_CHM_CR IS PROCEDURE CHARGEMENT_CR( P_FICHIER_CR IN OUT CHMCR.PACK_CHM_CR.FICHIER_CR_TYPE, p_nom_fichier IN VARCHAR2, p_id_chargement OUT NUMBER, NMES OUT NUMBER, LMES OUT VARCHAR2) Is p_date_chargement DATE := sysdate; Begin p_id_chargement := CHMCR.CHMCR_SQ_ID_CHARGEMENT.NEXTVAL; for i in 1..P_FICHIER_CR.last loop P_FICHIER_CR.id_cr(i):= CHMCR.CHMCR_SQ_ID_CR.NEXTVAL; INSERT INTO JOURNAL_OPERATION_CHANGE (id_cr, id_chargement, num_autorisation, date_chargement) VALUES (P_FICHIER_CR.id_cr(i), P_id_chargement, P_FICHIER_CR.num_autorisation(i), p_date_chargement); i := i + 1; End loop; commit; END; END PACK_CHM_CR; /
Lors de la compilation du body j'ai les messages d'erreur suivants:
[Error] PLS-00302 (15: 24): PLS-00302: Le composant 'ID_CR' doit être déclaré
[Error] PLS-00302 (15: 24): PLS-00302: Le composant 'num_autorisation' doit être déclaré
Je ne vois pas où est le probleme!
Quelqu'un peut m'aider SVP?
Mercii
Partager