将RC从MACRO传递给呼叫者REXX程序时发出

时间:2019-11-25 10:47:28

标签: macros mainframe rexx

我正在执行 MACRO 来查找字符串(使用正则表达式),并且想在我的调用者REXX 中处理该正则表达式执行的返回码>大型机。 我尝试使用PARM以及VGET和VPUT,但对我而言没有任何积极结果。

/* REXX */
ADDRESS ISPEXEC "VPUT (MRC) SHARED"
ADDRESS ISPEXEC "VIEW DATASET('XXXX.XXXX.XXXX') MACRO(REGEX)
SAY "RC IN CALLER:" RC
SAY "MRC:" MRC

宏定义:

/* REXX */
ADDRESS ISREDIT
"MACRO"
ADDRESS ISPEXEC "VGET (MRC) SHARED"
"F RC'[0-9]{16}'"
MRC = RC
SAY "INSIDE MACRO:" MRC
ADDRESS ISREDIT 'END'

还尝试在宏和调用者REXX中反转VGET和VPUT,还更改了语句的位置。仍然没有结果。

输出:

INSIDE MACRO: 0 (when string found)
RC IN CALLER: 0
MRC: 

INSIDE MACRO: 4 (when string not found)
RC IN CALLER: 0
MRC:

任何人都可以建议。

0 个答案:

没有答案