× 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: "Bruce Jin" <brucej@xxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 4 Apr 2001 08:10:12 -0500

Joe, I enclosed an example here with decimal field as parameter. The
procedure TESTP1 was created in an interactive SQL session. I found that I
had to use BigDecimal to get the return decimal value. I am not sure if
there is another way since BigDecimal operation may be slow.

Bruce

  import java.sql.*;
  class StoredProc2 {

  public static void main(java.lang.String[] args) {

    Connection conn = null;
    double parm1= 0.0;
   String parm2="";
   String parm3="";

  try  {
       DriverManager.registerDriver(new
com.ibm.as400.access.AS400JDBCDriver());
       } catch (SQLException exc)    {
       System.out.println("Can not find jdbc driver.");
       System.exit(1);
      }

    try  {
       conn = DriverManager.getConnection("jdbc:as400://MRCBOX4";
"JIN","PSWORD");
       }
       catch(SQLException exc)       {
       System.out.println("connection failed with:'"+ exc.getMessage()+"'");
      }

  try {
      // call procedure (a CL program)
    CallableStatement cstmt1 = conn.prepareCall( "CALL BRUCELIB.TESTP2(?, ?,
?)" );
    cstmt1.registerOutParameter(1, Types.DECIMAL);       // parm1=output
    cstmt1.setString(2, "ABC");
// parm2=input
    cstmt1.registerOutParameter(3, Types.CHAR);             // parm3=output
    cstmt1.execute();
// run the procedure
    parm1 = cstmt1.getBigDecimal(1,2).doubleValue();       // I hava to use
BigDecimal here?
    parm3 = cstmt1.getString(3);

    System.out.println("return parm1= " + parm1);
    System.out.println("return parm3= " + parm3);

    cstmt1.close();
    }
       catch(SQLException exc)       {
       System.out.println("cstmt failed:'"+ exc.getMessage()+"'");
      }

  try  {
    conn.close();
       }  catch(SQLException exc)     {
         System.out.println("Disconnect failed:'"+ exc.getMessage()+"'");
      }

  }

}

-----Original Message-----
From: Joe Pluta <joepluta@PlutaBrothers.com>
To: JAVA400-L@midrange.com <JAVA400-L@midrange.com>
Date: Tuesday, April 03, 2001 9:10 PM
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 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.