REXX && CLIST
REXX和CLIST能够扩充系统的功能;使用得当的话能够简化一些任务的执行(例如编译程序)。 REXX和CLIST的作用有一定的相似性,都可以用来定义Edit Macro。
ISPF的Edit Macro
edit macros可以在编辑数据集时用类似于主命令的方式来执行。
这样可以用来扩展编辑功能(例如可以定义一个命令来保存、编译正在编辑的数据集)。
根据ISPF Edit and Edit Macro描述: CLIST edit macros 必须
- 位于分区数据集(partitioned data sets)中
- 该数据集必须在以下之一的DD定义中(concatenations)
- SYSUPROC
- ALTLIB (for data sets activated as CLISTs)
- SYSPROC
使用命令TSO ISRDDN
查看SYSPROC, SYSEXEC等;此时用 M membername
可以查找这些数据集中是否有存在的member
关于 SYSPROC SYSEXEC参见参考:procedure和panel
REXX和CLIST的定义
根据[TSO/EREXX User’s Guide],要Running an Exec Implicitly的话,rexx程序所在的数据集必须定义在SYSPROC或SYSEXEC
execs和CLISTs根据REXX exec identifier区分:首行为注释并且包含关键字 REXX
- SYSPROC定义的数据中集可以包含 CLISTs and execs
- SYSEXEC只能包含 execs(即这里说的REXX程序)
这两个定义在登录过程中定义[这里是ADCD.Z110.PROCLIB(DBSPROC9)] 修改的登录过程的 SYSEXEC的定义 增加一个到新增加的REXX程序数据集DD定义(新建library的时候可以先看看已有的SYSEXEC的属性)
相关的命令
TSO LISTALC STATUS
TSO命令增加定义的方式
If SYSEXEC is already allocated, then:
ALTLIB RESET
ALTLIB ACTIVATE APPLICATION(EXEC) DATASET('IBMUSER.REXX.EXEC')
Otherwise:
ALLOCATE DD(SYSEXEC) DATASET('IBMUSER.REXX.EXEC') SHR