J'essaie de créer une procédure stockée qui envoie une entrée de paramètre dans la table. Quand j'ai essayé de compiler ma procédure de magasin de SQL Developer il fonctionnait bien, mais je veux exécuter cette procédure de concurrente dans Oracle EBS 12.Exécution de la procédure plsql à partir de concurrent sur Oracle
Cependant, ceci est le message d'erreur:
Cause: FDPSTP échoué en raison de ORA-06550: ligne 1, colonne 7: PLS-00201: l'identificateur 'RUN_THIS_THING' doit être déclaré ORA-06550: ligne 1, colonne 7: PL/SQL: instruction ignorée .
Et voici mon code:
create or replace PROCEDURE RUN_THIS_THING
(errbuf out varchar2,retcode out varchar2, P_RUN_FROM IN NUMBER, P_RUN_TO IN NUMBER, P_USER IN VARCHAR2) IS
BEGIN
declare cursor c_header is
select
aia.party_id,
aia.INVOICE_ID,
aia.INVOICE_NUM,
AIA.VENDOR_ID,
AIA.INVOICE_CURRENCY_CODE,
aia.INVOICE_AMOUNT,
aia.DESCRIPTION,
aia.INVOICE_DATE,
aia.INVOICE_RECEIVED_DATE,
AIA.GL_DATE,
AIA.DOC_SEQUENCE_VALUE
from
AP.ap_invoices_all aiA
where
AIA.DOC_SEQUENCE_VALUE BETWEEN P_RUN_FROM AND P_RUN_TO;
h_rec c_header%rowtype;
begin
open c_header;
loop
fetch c_header into h_rec;
exit when c_header%notfound;
BEGIN
insert into RUN_TEMP
(
INVOICE_ID ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
VENDOR_ID ,
PARTY_ID ,
INVOICE_NUM ,
TTDV_NUM ,
CURRENCY ,
INVOICE_AMOUNT ,
INVOICE_DATE ,
INVOICE_RECEIVED_DATE ,
GL_DATE ,
DESCRIPTION
)
values
(
h_rec.INVOICE_ID,
sysdate,
p_user,
h_rec.VENDOR_ID,
h_rec.party_id,
h_rec.INVOICE_NUM,
h_rec.DOC_SEQUENCE_VALUE,
h_rec.INVOICE_CURRENCY_CODE,
h_rec.INVOICE_AMOUNT,
h_rec.INVOICE_DATE,
h_rec.INVOICE_RECEIVED_DATE,
h_rec.GL_DATE ,
h_rec.DESCRIPTION
);
END;
end loop;
close c_header;
commit;
end;
END;
Il ne ressemble à la procédure ne compile pas et je l'ai déjà essayé d'accorder exécuter mon utilisateur des droits à ce paquet. Cela n'a pas fonctionné. Que puis-je regarder d'autre? Quoi d'autre pourrait causer cela? Merci!