从DB2 Command获取REXX中的输出

3 db2 mainframe rexx zos

我想使用Rexx捕获以下命令的输出:

QUEUE "-DIS DATABASE(*) SPACENAM(*) RESTRICT(CHKP,COPY)"
QUEUE "END"                                             
ADDRESS TSO "DSN SYSTEM(DB2D)"
Run Code Online (Sandbox Code Playgroud)

有没有办法获取显示在变量或其他构造中的上述命令输出的表名,以便可以通过编程方式操作数据?

问候

zar*_*gmr 6

所述OUTTRAP函数应该从DSN命令陷阱输出.OUTTRAP旨在TRAP大多数TSO命令的OUT put.输出放在您提供的变量(通常是干变量)中.(某些TSO命令不能被捕获;这在TSO/E REXX参考文献的其他地方讨论过.)

使用上面提供的代码,我们可以拼凑这个:

ORC = OUTTRAP('O.')             /* preserve prior setting of OUTTRAP */
QUEUE "-DIS DATABASE(*) SPACENAM(*) RESTRICT(CHKP,COPY)"
QUEUE "END"                                             
ADDRESS TSO "DSN SYSTEM(DB2D)"
CALL OUTTRAP ORC                /* restore OUTTRAP setting */
DO #O = 1 TO O.0                /* The 0 entry by convention has the number of records */
  /* You can PARSE, analyze, or do whatever here */
  SAY "O."'#O "='"O.#O"'"         /* example */
END #O                          /* end the loop */
Run Code Online (Sandbox Code Playgroud)

在TSO/E REXX中编写脚本时,OUTTRAP是一个非常强大的功能.