2017-07-06 6 views
-1

Ich versuche, eine gespeicherte Prozedur zu erstellen, die Parametereingabe in Tabelle senden. Als ich versuchte, zu meinem Speicher Prozedur von SQL Developer zu kompilieren gut es lief, aber ich möchte 12.Run Plsql-Prozedur von gleichzeitig auf Oracle

jedoch dieses Verfahren von Concurrent in Oracle EBS laufen, das ist die Fehlermeldung:

Ursache: FDPSTP konnte aufgrund ORA-06550: Zeile 1, Spalte 7: PLS-00201: Bezeichner 'RUN_THIS_THING' muss ORA-06550 deklariert werden: Zeile 1, Spalte 7: PL/SQL: Statement ignoriert .

Und dies ist mein 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; 

Es scheitert aussehen wie das Verfahren nicht kompiliert und ich habe bereits versucht, meine Benutzer ausführen Rechte an diesem Paket zu gewähren. Es hat nicht funktioniert. Was kann ich sonst noch sehen? Was könnte das sonst noch verursachen? Vielen Dank!

Antwort

0

PUBLIC SYNONYM ERSTELLEN ODER ERSETZEN RUN_THIS_THING FÜR RUN_THIS_THING;

Versuchen Sie diese Aussage oder ändern Sie sie nach Bedarf. Synonym fehlt.