× 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.



Hi,

and I would suggest create an external stored procedure and use JDBC or sqlj
to call your programm. And further I would suggest, hands off of the
workarounds of the toolbox. If rpg could do what c can, I would recommend
java native interface.

Dieter


Am Dienstag, 8. Januar 2002 15:50 schrieben Sie:
> I would suggest that you use PCML, it makes things a lot simpler.
>
> If you are not familiar with PCML you can go to
>  http://www-3.ibm.com/services/learning/spotlight/dl/free.html
>
> where there is a free online course titled
> IK081 - Using PCML to call AS/400 Programs that covers
> PCML. They cover a few samples and explain all the
> concepts required to help yourself.
>
> (Also, you can just sit back and listen you do not have to
> read every slide).
>
> -----Original Message-----
> From: Dave Wall [mailto:dawall@us.ibm.com]
> Sent: Tuesday, January 08, 2002 9:32 AM
> To: java400-l@midrange.com
> Subject: Re: problems with ProgramCall
>
>
>
> It could be the way the parameters are declared.  You are defining the
> first two parameters as an input/output parameters since you pass in both a
> byte array and an int.  The second parameter (the int) is the amount of
> output data returned in the parm.  In your case you say 2 bytes are
> returned in the first parm and 3 bytes are returned in the second parm.
> Try skipping the second parameter and see if that helps.  It would be
>         pList[0] = new ProgramParameter(coNo);
>         pList[1] = new ProgramParameter(cycleNo);
>         pList[2] = new ProgramParameter(7);
>
> Also, ProgramParameter accepts only byte arrays.  If you need to pass a
> number to your RPG program use one of the Toolbox converters to convert
> your number into a byte array.  Converters are available for most AS/400
> numeric types.  For example, if you have a bin 4, use:
>           AS400Bin4 bin4 = new AS400Bin4();
>           byte AS400Data = bin4.toBytes(myInt);
>
> David Wall
> AS/400 Toolbox for Java
>
>
>
>
>                       "Robert Upshall"
>                       <rupshall@psasoft        To:
> <java400-l@midrange.com>
>                       .com>                    cc:
>                       Sent by:                 Subject:  problems with
> ProgramCall
>                       java400-l-admin@m
>                       idrange.com
>
>
>                       01/07/2002 09:26
>                       PM
>                       Please respond to
>                       java400-l
>
>
>
>
>
> I'm not sure what I need to so to get this working.  I'm trying to call an
> rpg program that takes 3 parms, the first 2 input the 3rd output.  All 3
> fields are numeric, the only way I could get it to work without compile
> errors was to pass all parms as strings.  I just convert them in the rpg.
>
> When I call the rpg from a green screen passing the same parms it gives the
> correct output but when I call from the java app it returns an error code
> for the 3rd parm.
>
> I'm guess what I'm looking for would be how to define the java and/or for
> the following code?
>
> Here is the java code:
>         byte coNo = getKeyCoNo.byteValue();
>         byte cycleNo = getKeyCycleNo().byteValue();
>
>         ProgramParameter[] pList = new ProgramParameter[3];
>         pList[0] = new ProgramParameter(coNo, 2);
>         pList[1] = new ProgramParameter(cycleNo, 3);
>         pList[2] = new ProgramParameter(7);
>
>         ProgramCall pgm = new ProgramCall(system,
> "/QSYS.LIB/PSSTGUI.LIB/CE1099.PGM", pLis);
>
> .
> .
> .
>             byte[] data = pList[2].getOutputData();
>             AS400Text textConverter = new AS400Text(data.length,
> getSystem());
>             bAcctNo = new BigDecimal((String)
> textConverter.toObject(data)).setScale(0);
>
>
> Here is the RPG:
> C           *ENTRY    PLIST
> C                     PARM           ECO#    20
> C                     PARM           ECYC    30
> C                     PARM           EACC    7
> C                     MOVE ECO#      CO#
> C                     MOVE ECYC      CYCLE#  30
>
>
> I need some help,
>
> Robert Upshall
> Professional Software of Amarillo
> (806) 358-8928
> rupshall@psasoft.com
>
>
> _______________________________________________
> This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
> mailing list
> To post a message email: JAVA400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l
> or email: JAVA400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/java400-l.
>
>
>
>
>
> _______________________________________________
> This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
> mailing list
> To post a message email: JAVA400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l
> or email: JAVA400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/java400-l.
> _______________________________________________
> This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
> mailing list To post a message email: JAVA400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l
> or email: JAVA400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/java400-l.

--
mfG

Dieter Bender


DV-Beratung Dieter Bender
Wetzlarerstr. 25
35435 Wettenberg
Tel. +49 641 9805855
Fax +49 641 9805856
www.bender-dv.de



As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.