mike,

i have never used the <@bind> tag except to get data out of a direct dmbs 
statement...i don't use the method scope (since i don't write tcfs), but i 
would image that the variables are accessible the same as user/request.

i would write your code like this...


declare
  nedid varchar2(10) := '@@method$nedid';
  bdate date := '@@method$bdate';
  thisscid varchar2(10);

begin
  CREATE_ONE_SCIENTIST_FROM_NED (
    nedid,
    bdate,
    thisscid);
  commit;

  <@bind name=thisscid bindname=thisscid
     datatype=varchar scope=method bindtype=out> := nvl(thisscid,' ');

end;


the only problems i have are regarding dates, since the date format in 
witango and oracle are not always the same.  i will often have to do a 
to_date() with a format string to get the correct info.

the other caveat is that <@bind bindtype=out> gets very unhappy if the 
value is null.  that's why i included the nvl().

hope this helps (though i know it doesn't explain <@bind>)

cheers,

russell


--------------------------------------------------------------
Russell Stephany
Lead Developer, Information Technology
Australian Graduate School of Management
UNSW SYDNEY NSW 2052
Australia
Tel:   +61 2 9931-9263
Fax:  +61 2 9931-9349

Email: [EMAIL PROTECTED]
Web:   http://www.agsm.edu.au

 The Australian Graduate School of Management 
    is a School of both The University of Sydney
         & The University of New South Wales.
          CRICOS Provider Number: 00098G 

"Mike" <[EMAIL PROTECTED]> wrote on 10/06/2004 11:27:57 PM:

> Oops.  For the record, the procedure name is 
CREATE_ONE_SCIENTIST_FROM_NED.
> It matches in the database and in the Direct DBMS call; this was just a 
typo
> when I sent the email.  The error is not related to this. :)

> 
> From: Mike [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 10, 2004 9:18 AM
> To: [EMAIL PROTECTED]
> Subject: Witango-Talk: Oracle Stored Procedures

> Hi everyone,

> I'm trying to use a direct DBMS action to execute Oracle 9i Stored
> Procedures.  The procedure utilizes out parameters to return values to 
the
> user.  The procedure definition is:

> create procedure CREATE_ONE_SCIENTIST (pnedid in char, bdate in date,
> this_scid out char)

> and it is known to work perfectly if called from sql*net or an Oracle 
tool.

> 
> I've read up on the <@BIND> metatag and attempted to follow the 
instructions
> in the documentation and on this mailing list, and have been getting 
some
> pretty generic error messages telling me that the values are not being 
bound
> correctly.  Here is my direct DBMS statement:

> begin
> CREATE_ONE_SCIENTIST_FROM_NED (
> <@bind name=nedid scope="method" bindtype="in" datatype="char"
> precision="10">,
> <@bind name=bdate scope="method" bindtype="in" datatype="date">, <@bind
> name=thisscid scope="method" bindtype="out" datatype="char"
> precision="10">);
> <@CRLF>
> commit;
> <@CRLF>
> end;

> The two input parameters, nedid and bdate, have been previously stored 
in
> method variables, and the hope is that the output parameter would be 
stored
> in the variable method$thisscid.  I should note that this is being 
executed
> on the most recent Witango development server on OS X, and the 
datasource is
> an Oracle OCI.

> Thanks for the assistance!

> Mike

> PS: I noticed too that when the <@BIND> tag creates the database call, 
it
> takes whatever follows the name parameter and just sticks a ":" in front 
of
> it.  <@bind name="method$bdate"> becomes :"method$bdate" when sent to
> Oracle; is this correct?  I don't know if all of those characters are
> allowed in Oracle variable names.

> ________________________________________________________________________
> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

> ________________________________________________________________________
> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
____________________________________________________________________________
DISCLAIMER

This email and  any files  transmitted with it are confidential and  may be
subject to copyright. They are intended solely for the use of the individual 
or entity to whom they are addressed. If you have received  this message
in error please notify the  AGSM  immediately by return email or reverse 
charge telephone call to +61 2 9931 9200. Any views or opinions
presented in this email are solely those of the author and do not 
necessarily  represent those of the  AGSM, except where an
authorised sender specifically states them to be the views of the AGSM.

It is your  responsibility to check  this email and any  attachments for the 
presence of viruses. The AGSM accepts no liability  for any damage 
caused by any virus transmitted.
____________________________________________________________________________

 
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to