× 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: "Richard Casey" <casey_r@xxxxxxxxxxxxxxxx>
  • Date: Tue, 3 Apr 2001 23:39:31 -0400
  • Importance: Normal

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
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.