PLS-00201 Error
Date: Tue, 13 Feb 2001 19:00:54 -0000
Message-ID: <96c097$nt02_at_eccws12.dearborn.ford.com>
I have an oracle stored procedure which on execution from a perl DBI:Oracle script generates the following:-
Inputs are:- drname=Oracle, dbname=test, dbuser=system, dbpw=manager,
my_dblink=
gatewayeuro_008, my_procedure=production_procedure_008, my_username=APPT008,
my_
password=WRIGHT8
Oracle connect parameters:-test, system ,manager, Oracle
After connect
BEGIN production_procedure_008(:data, :itpname, :userid, :pwd); END;
BEGIN production_procedure_008(:data, TC022, APPT008, WRIGHT8); END;
DBD::Oracle::st execute failed: ORA-06550: line 1, column 7:
PLS-00201: identifier 'PRODUCTION_PROCEDURE_008' must be declared
ORA-06550: line 1, column 7:
I know that the procedure exists because if a run the query
select text from user_source where name = 'PRODUCTION_PROCEDURE_008' order by line;
I get the procedure listed correctly:-
SQL> select text from user_source where name = 'PRODUCTION_PROCEDURE_008'
order
by line;
TEXT
PROCEDURE PRODUCTION_PROCEDURE_008
(io_MESSAGE IN OUT VARCHAR2, ITPname IN VARCHAR2, IUser IN VARCHAR2, IPW IN
VARCHAR2)
IS
indx BINARY_INTEGER; trannum BINARY_INTEGER; apirc BINARY_INTEGER; BUILDMSG varchar2(4000);
PLSMsgIn varchar2(4000);
PLSMsgOut varchar2(4000);
TEXT
testoutput varchar2(4000);
passarea varchar2(4000);
ISendBufL integer;
IRecvBufL integer;
/* ITPname VARCHAR2(8) := 'TC052 ';*/
ILUname VARCHAR2(8) := 'IM1WAMVS';
ISideName VARCHAR2 (8) := 'CAFEM1WA';
BEGIN
dbms_output.enable;
passarea := io_MESSAGE;
trannum := 0;
TEXT
dbms_output.put_line('Before Initialise gateway');
APPC2IMS4.APPC2IMS4_G_init_at_gatewayEURO_008(
trannum ,
ITPname ,
ILUname ,
ISideName ,
IUser ,
IPW ,
apirc );
dbms_output.put_line('after initialise gateway');
PLSMsgIn := passarea;
TEXT
PLSMsgOut := ' '; ISendBufL := 4000; IRecvBufL := 4000;
dbms_output.put_line('Start SendRecv'); APPC2IMS4.SENDRECV_at_gatewayEURO_008(
trannum , ISendBufL , PLSMsgIn , IRecvBufL , PLSMsgOut , apirc );
TEXT
dbms_output.put_line('After SendRecv');
APPC2IMS4.DeAllocateTP_at_gatewayEURO_008(trannum ,0,apirc);
dbms_output.put_line('After Deallocate');
io_MESSAGE := substr(PLSMsgOut,3,800);
dbms_output.put_line(' send and receive answer back was '||testoutput);
END PRODUCTION_PROCEDURE_008;
48 rows selected.
grant all privileges on PRODUCTION_PROCEDURE_008 to public;
Has anyone got any suggestions as to what else may be causing the error ?
The script is being run using:-
Many thanks.
Regards,
David Wishart
Server And Interface Team
Dealer Applications
FCE Bank plc
Tel: +44-(0)-1277-692570 Fax: +44-(0)-1277-692124
SMTP: dwishar1_at_ford.com
Mail: GB-12/300, Jubilee House, The Drive, Brentwood, Essex, CM13 3AR
Received on Tue Feb 13 2001 - 20:00:54 CET