Ms. Castro:

In the procedure declaration
PROCEDURE CL_CURSOR(p_item in varchar2, P_IC� OUT t_row)
the P_IC is referenced  as an OUT variable of type t_row. But to use it, it
must be declared somewhere else, usually in the calling program.  So, a
variable definition should exist in the package specification  or body
declaring the P_IC variable.

RWB
============================================================================================================

Reginald W. Bailey
IBM Global Services - ETS SW GDSD - Database Management
Your Friendly Neighborhood DBA
713-216-7703 (Office) 281-798-5474 (Mobile) 713-415-5410 (Pager)
============================================================================================================


                                                                                       
                                          
                    [EMAIL PROTECTED]                                                  
                                         
                    martmx.com               To:     [EMAIL PROTECTED]                 
                                       
                    Sent by:                 cc:                                       
                                          
                    [EMAIL PROTECTED]       Subject:     VB & Oracle question          
                                         
                    com                                                                
                                          
                                                                                       
                                          
                                                                                       
                                          
                    06/18/2003 07:05                                                   
                                          
                    PM                                                                 
                                          
                    Please respond to                                                  
                                          
                    ORACLE-L                                                           
                                          
                                                                                       
                                          
                                                                                       
                                          





Hi!!!
I create a package in Oracle.
When I run the line:
Set adoRS = mCmd.Execute

VB sent me the next error:

Run-time error '-214721700 (80040E14)':
Ora-06550: line 1,  column 33: PLS-002001: Identifier 'P_IC' must be
declare.
Ora-06550: line1,  column 7: PLS/SQL: Statemnt ignored.

What I am doing  wrong????????
This is the code


CREATE OR  REPLACE PACKAGE LAWSON1.PACK_ICTRANS AS
CURSOR c1 IS
SELECT ITEM,DOC_TYPE,DOCUMENT  FROM ICTRANS;

TYPE t_row IS REF CURSOR� RETURN c1%ROWTYPE;
PROCEDURE CL_CURSOR(p_item in varchar2, P_IC� OUT t_row);

END PACK_ICTRANS;

CREATE OR  REPLACE PACKAGE BODY  LAWSON1.PACK_ICTRANS AS
PROCEDURE CL_CURSOR(p_item in varchar2, P_IC� OUT t_row)
� IS

� BEGIN

���� OPEN P_IC FOR
���� SELECT ITEM,DOC_TYPE,DOCUMENT FROM ICTRANS WHERE ITEM=p_item;
� END CL_CURSOR;
END PACK_ICTRANS;


This is�the code in VB:

Private Sub cmdTestOracle_Click()
Dim mCmd As ADODB.Command
Dim mCmdPrm1 As New ADODB.Parameter
Set  adoRS = New ADODB.Recordset
If Open_cnOracle Then

adoRS.CursorType =  adOpenDynamic
��� sSQL = "{call PACK_ICTRANS.CL_CURSOR(?,  {resultset� 1000, P_IC})}"
����� ' adoRS.Open  sSQL, gcnOracle, , , adCmdTable
����� Set mCmd = New  ADODB.Command
����� With  mCmd
������� .CommandText =  sSQL
������� .CommandType =  adCmdText
������� .ActiveConnection =  gcnOracle

������� Set mCmdPrm1 =  .CreateParameter("p_item", adVarChar, adParamInput,
32,  "0010096")
��������  .Parameters.Append mCmdPrm1
����� End  With
��� Set adoRS = New ADODB.Recordset
���  mCmdPrm1 = "0010096"
��� Set adoRS = mCmd.Execute <-----Error here
��� MsgBox  adoRS.Fields(0)


End If
End Sub


Function  Open_cnOracle() As Boolean

Dim oMsgSplitter As New  LawsonErrMsgSplitter.Splitter
Dim vaPieces As Variant

On Error GoTo  ErrorConectarOracle:
Set gcnOracle = New ADODB.Connection
With gcnOracle
.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=burke00;Persist
Security Info=True;User ID=lawson1;Data Source=LAWS"
.CommandTimeout = 0
.Open
Open_cnOracle = True
End With


Exit Function
ErrorConectarOracle:
vaPieces = oMsgSplitter.SplitMsg(Err.Description)
MsgBox vaPieces(mpText)
Open_cnOracle = False

End Function




-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to