从DB2命令获取REXX中的输出

从DB2命令获取REXX中的输出,db2,mainframe,zos,rexx,Db2,Mainframe,Zos,Rexx,我想使用Rexx捕获以下命令的输出: QUEUE "-DIS DATABASE(*) SPACENAM(*) RESTRICT(CHKP,COPY)" QUEUE "END" ADDRESS TSO "DSN SYSTEM(DB2D)" 是否有任何方法可以获取通过上述命令输出的表的名称,这些表显示在变量或其他构造中,以便以编程方式操作数据 关于函数应捕获来自DSN命令的输出。OUTTRAP设计用于捕获大多

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

QUEUE "-DIS DATABASE(*) SPACENAM(*) RESTRICT(CHKP,COPY)"
QUEUE "END"                                             
ADDRESS TSO "DSN SYSTEM(DB2D)"
是否有任何方法可以获取通过上述命令输出的表的名称,这些表显示在变量或其他构造中,以便以编程方式操作数据

关于

函数应捕获来自DSN命令的输出。OUTTRAP设计用于捕获大多数TSO命令的输出。输出放在您提供的变量(通常是stem变量)中。(某些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 */
在TSO/E REXX中编写脚本时,OUTTRAP是一个非常强大的函数