midrange.com code scratchpad |
Name:
Basic Wrapper to Call REXX proc and Receive Return Value
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
11/06/2009 02:49:59 am
|
IP:
Logged
|
|
Description:
This CL uses the QREXX API to call a REXX proc under the *EXECSQL command environment. After that call, the QREXQ API pulls any available value from the REXX external queue.
|
Code:
- pgm
-
-
- dcl &Func *char 1 value( 'P' )
- dcl &Buff *char 256
- dcl &BuffLen *int value( 8 )
- dcl &Flag *char 2 value( X'0000' )
- dcl &RtnCde *char 2 value( X'0000' )
-
- dcl &x00 *char 2 value( X'0000' )
-
- dcl &SysExt *char 22 value( ' ' )
-
- dcl &PrvDate *char 8 value( ' ' )
-
-
- chgvar %sst( &SysExt 21 2 ) &x00
-
-
- /* Start the REXX procedure */
- call QREXX ( +
- 'DATECALC ' +
- 'QREXSRC mylib ' +
- x'00000000' +
- '*EXECSQL ' +
- &SysExt +
- x'0000' +
- )
-
- /* +
- strrexprc srcmbr( DATECALC ) +
- srcfile( mylib/QREXSRC ) +
- parm( *N ) +
- cmdenv( *EXECSQL ) */
-
- /* Pull the result from the REXX data queue */
- call QREXQ ( +
- &Func +
- &Buff +
- &BuffLen +
- &Flag +
- &RtnCde +
- )
-
- chgvar &PrvDate &Buff
-
- dmpclpgm
-
- return
-
- endpgm
-
|
|
|