我正在执行 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:
任何人都可以建议。