× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: ProgramCall and ProgramParameter classes
  • From: "Dave Wall" <dawall@xxxxxxxxxx>
  • Date: Wed, 4 Apr 2001 08:18:26 -0500
  • Importance: Normal


CallableStatement has a getBytes() method to get the output data as a byte
array.  You should also change the way you register the output parameter
(call it a varbinary instead of a char, for example).  CallableStatement is
a core part of JDBC so this should be very portable.

David Wall
AS/400 Toolbox for Java


"Joe Pluta" <joepluta@PlutaBrothers.com>@midrange.com on 04/03/2001
10:56:55 PM

Please respond to JAVA400-L@midrange.com

Sent by:  owner-java400-l@midrange.com


To:   <JAVA400-L@midrange.com>
cc:
Subject:  RE: ProgramCall and ProgramParameter classes



Richard: WAY cool.  Now, does anybody have any idea how portable this is?
Also, is there a way of getting the untranslated EBCDIC byte array out of a
parameter?  I tend to use data structures as parameters, and so I have to
be
able to pass untranslated data.

Thanks again, Richard, for such a complete example.  This is great!

Joe


> -----Original Message-----
> From: owner-java400-l@midrange.com
> [mailto:owner-java400-l@midrange.com]On Behalf Of Richard Casey
> Sent: Tuesday, April 03, 2001 10:40 PM
> To: JAVA400-L@midrange.com
> Subject: RE: ProgramCall and ProgramParameter classes
>
>
> Joe,
>
> Here is an example of calling a stored procedure with two input
parameters
> and one output parameter (all strings).
>
>
>    Connection conn = DriverManager.getConnection(...);
>    CallableStatement stmt = conn.prepareCall("CALL MYLIB/MYPROG(?,?)");
>    // Note - mylib/myprog is the name of the stored procedure,
> NOT the name of
> the program to be called
>    stmt.setString(1,inputParm1);
>    stmt.setString(2,inputParm2);
>    stmt.registerOutParameter(3, Types.CHAR);
>    stmt.execute();
>    String outputParm1 = stmt.getString(3);
>    conn.Close();
>
> Of course, you'll need to register your JDBC driver and deal with
> exceptions.
>
>
> Here is an example of creating the corresponding stored procedure on the
> AS/400. You can run this statement on the green screen using STRSQL or
you
> can run it from Operations Navigator.
>
>    create procedure mylib/myprog
>    (    in   inparm1   char(10),
>         in   inparm2   char(10),
>         out  outparm1  char(10))
>    language rpg
>    external name mylib.myprog
>    deterministic
>    parameter style general;
>
> The language can be COBOL, RPG, RPGLE, CL, or most of the available
> high-level languages. The external name is the name of the program to be
> called. The stored procedure and external program do not have to have the
> same name. If you need to update the definition of your stored procedure,
> you will need to delete it first using the following SQL command.
>
>    drop procedure mylib/myprog;
>
>
> Hope this helps. I'm in the learning mode here too so if anybody spots a
> problem or a better way to do it, just chime in!
>
> Richard Casey
>
> -----Original Message-----
> From: owner-java400-l@midrange.com
> [mailto:owner-java400-l@midrange.com]On Behalf Of Joe Pluta
> Sent: Tuesday, April 03, 2001 6:52 PM
> To: JAVA400-L@midrange.com
> Subject: RE: ProgramCall and ProgramParameter classes
>
>
> Actually, Bruce, I haven't done that much with JDBC procedure
> calls.  Do you
> have an example of a simple program call?  I don't need much - I
> simply pass
> a single parameter back and forth between Java and my RPG
> program, so if you
> have an example program, I'd love to see it.
>
> Joe
>
>
> > -----Original Message-----
> > From: owner-java400-l@midrange.com
> > [mailto:owner-java400-l@midrange.com]On Behalf Of Bruce Jin
> > Sent: Tuesday, April 03, 2001 2:19 PM
> > To: JAVA400-L@midrange.com
> > Subject: Re: ProgramCall and ProgramParameter classes
> >
> >
> > Eric thanks for the info.
> >
> > I tried a few jdbc procedure calls and it appears that this approach is
> > quite handy to use in calling RPG, CL etc. I wonder why one should use
> > Toolbox.
> >
> > I found that:
> >
> > 1. JNI offers superb performance but it is not easy to use and
> it does not
> > work with existing AS400 programs.
> > 2. ToolBox is not very easy to use.
> > 3. PCML is not easy to use.
> > 4. JDBC procedure call is very easy to use. And one does not have to
use
> > jt400.zip file.
> >
> > Any comments anybody?
> >
> > Thanks
> > Bruce
> >
> > -----Original Message-----
> > From: Eric Merritt <cyberlync@yahoo.com>
> > To: JAVA400-L@midrange.com <JAVA400-L@midrange.com>
> > Date: Friday, March 30, 2001 2:36 PM
> > Subject: Re: ProgramCall and ProgramParameter classes
> >
> >
> > >Bruce,
> > >
> > > The sun JDBC trail provides a little information at
> > >http://java.sun.com/docs/books/tutorial/jdbc/basics/sql.html
> > >
> > >and a little more here
> > >
> > >http://developer.java.sun.com/developer/onlineTraining/Database/J
> > DBC20Intro
> > /JDBC20.html#JDBC2013
> > >
> > >as for setting up an RPG program as a stored procedure
> > >your will probably have to check one of the redbooks
> > >for that.
> > >
> > >
> > >--- Bruce Jin <brucej@mrc-productivity.com> wrote:
> > >> Eric could you provide a few resources (or links) on
> > >> using JDBC stored
> > >> procedures call?
> > >>
> > >> Thanks.
> > >> Bruce
> > >>
> > >> -----Original Message-----
> > >> From: Eric Merritt <cyberlync@yahoo.com>
> > >> To: JAVA400-L@midrange.com <JAVA400-L@midrange.com>
> > >> Date: Friday, March 30, 2001 11:11 AM
> > >> Subject: Re: ProgramCall and ProgramParameter
> > >> classes
> > >>
> > >>
> > >> >Robert,
> > >> >
> > >> >  If I might be so bold, Program calls using the
> > >> >AS/400 tool box can tend to be a little slow. I
> > >> always
> > >> >suggest you bundle up your native programs on the
> > >> 400
> > >> >as SQL stored procedures and call them via JDBC.
> > >> Then
> > >> >not only do you get a little faster resonse, you
> > >> get
> > >> >an open service that is callable by any program
> > >> >includeing Java. (And you get to remain platform
> > >> >independant)
> > >> >
> > >> >--- Robert Upshall <rupshall@hotmail.com> wrote:
> > >> >> Hi,
> > >> >>
> > >> >> I am attempting to convert my code to use
> > >> >> ProgramCall instead of
> > >> >> CommandCall, the command call worked fine now we
> > >> >> need to pass values back so
> > >> >> we will need to take advantage of
> > >> ProgramParameter
> > >> >> class.
> > >> >>
> > >> >> Could somebody tell me how I would convert the
> > >> >> CommandCall code below into
> > >> >> ProgramCall.
> > >> >>
> > >> >> // start code snipet
> > >> >> /*
> > >> >> CommandCall cmd = new CommandCall(srvb);
> > >> >>
> > >> >> // run the command
> > >> >> cmd.run(
> > >> >> "CALL GBTINET/GCPLIINET PARM('"
> > >> >> + pGroup
> > >> >> + "' '"
> > >> >> + pSin
> > >> >> + "' '"
> > >> >> + pClass
> > >> >> + "' '"
> > >> >> + pTypKey
> > >> >> + "')");
> > >> >>
> > >> >> // get the message list which contains the result
> > >> of
> > >> >> the command.
> > >> >> AS400Message[] messageList =
> > >> cmd.getMessageList();
> > >> >> */
> > >> >> // end code snipet
> > >> >>
> > >> >>
> > >> >> Thanks in advance for any help
> > >> >>
> > >> >> Robert
> > >> >>
> > >>
> > >>________________________________________________________________
> > _________
> > >> >> Get Your Private, Free E-mail from MSN Hotmail at
> > >> >> http://www.hotmail.com.
> > >> >>
> > >> >> +---
> > >> >> | This is the JAVA/400 Mailing List!
> > >> >> | To submit a new message, send your mail to
> > >> >> JAVA400-L@midrange.com.
> > >> >> | To subscribe to this list send email to
> > >> >> JAVA400-L-SUB@midrange.com.
> > >> >> | To unsubscribe from this list send email to
> > >> >> JAVA400-L-UNSUB@midrange.com.
> > >> >> | Questions should be directed to the list owner:
> > >> >> joe@zappie.net
> > >> >> +---
> > >> >
> > >> >
> > >> >=====
> > >> >Eric Merritt
> > >> >Information Systems Consultant
> > >> >McCormack & Associates, Inc.
> > >> >Rock Hill, South Carolina
> > >> >(V) 803-327-3358 X 225
> > >> >eric@mccinc.com
> > >> >http://www.mccinc.com/
> > >> >
> > >> >__________________________________________________
> > >> >Do You Yahoo!?
> > >> >Get email at your own domain with Yahoo! Mail.
> > >> >http://personal.mail.yahoo.com/?.refer=text
> > >> >+---
> > >> >| This is the JAVA/400 Mailing List!
> > >> >| To submit a new message, send your mail to
> > >> JAVA400-L@midrange.com.
> > >> >| To subscribe to this list send email to
> > >> JAVA400-L-SUB@midrange.com.
> > >> >| To unsubscribe from this list send email to
> > >> JAVA400-L-UNSUB@midrange.com.
> > >> >| Questions should be directed to the list owner:
> > >> joe@zappie.net
> > >> >+---
> > >>
> > >> +---
> > >> | This is the JAVA/400 Mailing List!
> > >> | To submit a new message, send your mail to
> > >> JAVA400-L@midrange.com.
> > >> | To subscribe to this list send email to
> > >> JAVA400-L-SUB@midrange.com.
> > >> | To unsubscribe from this list send email to
> > >> JAVA400-L-UNSUB@midrange.com.
> > >> | Questions should be directed to the list owner:
> > >> joe@zappie.net
> > >> +---
> > >
> > >
> > >=====
> > >Eric Merritt
> > >Information Systems Consultant
> > >McCormack & Associates, Inc.
> > >Rock Hill, South Carolina
> > >(V) 803-327-3358 X 225
> > >eric@mccinc.com
> > >http://www.mccinc.com/
> > >
> > >__________________________________________________
> > >Do You Yahoo!?
> > >Get email at your own domain with Yahoo! Mail.
> > >http://personal.mail.yahoo.com/?.refer=text
> > >+---
> > >| This is the JAVA/400 Mailing List!
> > >| To submit a new message, send your mail to JAVA400-L@midrange.com.
> > >| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
> > >| To unsubscribe from this list send email to
> > JAVA400-L-UNSUB@midrange.com.
> > >| Questions should be directed to the list owner: joe@zappie.net
> > >+---
> >
> > +---
> > | This is the JAVA/400 Mailing List!
> > | To submit a new message, send your mail to JAVA400-L@midrange.com.
> > | To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
> > | To unsubscribe from this list send email to
> > JAVA400-L-UNSUB@midrange.com.
> > | Questions should be directed to the list owner: joe@zappie.net
> > +---
> >
>
> +---
> | This is the JAVA/400 Mailing List!
> | To submit a new message, send your mail to JAVA400-L@midrange.com.
> | To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
> JAVA400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner: joe@zappie.net
> +---
>
>
> +---
> | This is the JAVA/400 Mailing List!
> | To submit a new message, send your mail to JAVA400-L@midrange.com.
> | To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
> JAVA400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner: joe@zappie.net
> +---
>

+---
| This is the JAVA/400 Mailing List!
| To submit a new message, send your mail to JAVA400-L@midrange.com.
| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: joe@zappie.net
+---



+---
| This is the JAVA/400 Mailing List!
| To submit a new message, send your mail to JAVA400-L@midrange.com.
| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: joe@zappie.net
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.