I think a much easier way is to use QSH. Suppose your program is called 'getrrn'. Make it return the RRN from main() like this:

main ()
  int rrn;
/* do all your work */

  return rrn;

Then call getrrn in QSH. getrrn will return to QSH the contents of rrn. You can find out what was returned in QSH like this:

echo $?

Super easy.

On Fri, 1 Oct 2004, Chris Wolcott wrote:

My Bad.  The way I showed you was if you were calling an exported
procedure.  (From a *MODULE or *SRVPGM)  I rarely CALL a program

- = - = - = - = -

When creating a new CL, use CLLE for your Source Type.  You may have to
compile your CL as a *MODULE (use opt 15) and then use CRTPGM to create
the final program.

Define the two variables as below, and use the CALLPRC command instead
of the CALL command to run your C code.  (You can prompt it if needed.)

The odd thing is you have to use the %BIN function twice.  When used in
the RTNVAL option, it tells the compiler that you will be getting back
an integer.  Since CL has no INT type, it is stored as a 4 byte
character field.  (Hence the defintion of &wrkINT as *CHAR 4)  The
CHGVAR use of %BIN actually changes the value to a packed format.

DCL VAR(&wrkINT    ) TYPE(*CHAR) LEN(     4)
DCL VAR(&RRN       ) TYPE(*DEC ) LEN(  15 0)

CALLPRC PRC(program) PARM(parm1 parm2 . . . parmX)

- = - = - = - = -

RTVJOBATR can give you a return code from a CALLed program, but the help
says just COBOL, RPG, DFU and sorts.  I've never used it.

-----Original Message-----
subject: RE:

Do you have or do you know where I can find an example of this approach?
I'm not familiar with CLLE,so if I could see a sample, I could clone

James Rich

It's not the software that's free; it's you.
        - billyskank on Groklaw

This thread ...


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

This mailing list archive is Copyright 1997-2019 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].