I am executing a MACRO to find string (using regular expression), and want to handle the return code of that regular expression execution in my caller REXX in mainframe. I tried using PARM and, VGET and VPUT, but no positive result for me.
/* REXX */
ADDRESS ISPEXEC "VPUT (MRC) SHARED"
ADDRESS ISPEXEC "VIEW DATASET('XXXX.XXXX.XXXX') MACRO(REGEX)
SAY "RC IN CALLER:" RC
SAY "MRC:" MRC
Macro defined:
/* REXX */
ADDRESS ISREDIT
"MACRO"
ADDRESS ISPEXEC "VGET (MRC) SHARED"
"F RC'[0-9]{16}'"
MRC = RC
SAY "INSIDE MACRO:" MRC
ADDRESS ISREDIT 'END'
Also tried reversing VGET and VPUT in macro and caller REXX and also changes the place of the statement. Still no result.
Output:
INSIDE MACRO: 0 (when string found)
RC IN CALLER: 0
MRC:
INSIDE MACRO: 4 (when string not found)
RC IN CALLER: 0
MRC:
Could any one please suggest.