Mainframe Is Back 学习资料REXX分享 之一
最近,我跟11都比较忙,所以没有什么时间写东西跟大家分享。不过,最近我跟11都积累了很多Mainframe的资料,下面我将用最近的一段时间,跟大家分享一下REXX。REXX是什么呢?首先,REXX是一门程序设计语言,可以应用于多种平台上。当然,也可以运行于mainframe的MVS和VM平台上。我理解REXX的最大特点就是无需编译,直接运行。REXX的这个特点直接导致了REXX程序开发的高效性,在mainframe平台上开发一些小型应用非常合适。第一个REXX程序:
首先从一个简单的REXX程序开始,我们一起来分享REXX带给我们的惊喜。就是让系统输出一条语句: HELLO MIB
REXX的语法规则很接近于自然语言,比如这里要输入字符串,就用命令“SAY”,即可,具体语法规则如下所示:不需要加任何行尾结束符号,可以存放于PDS或者PD中,由于这次的例子比较多,我们就专门建立一个PDS用于试验各种REXX程序,我们取名为:MIB.REXX.EXEC。
则该程序的命名为:MIB.REXX.EXEC(HELLO),具体内容如下所示:
********************* Top of Data ************
SAY ‘HELLO MIB’
********************* Bottom of Data *********
编辑好了我们第一个REXX程序,下面我们尝试来运行它,运行的方式也很简单,是通过ISPF来操作的。在ISPF的“ISPF Primary Option Menu”中输入“6”,选择“6 Command Enter TSO or Workstation commands”
在命令行中输入:
===> EXEC ‘MIB.REXX.EXEC(HELLO)’
运行即可,运行后,得到的结果是:
IKJ56479I COMMAND SAY NOT FOUND OR REXX IDENTIFIER IS MISSING+
IKJ56479I SUPPLY ‘/* REXX */’ AS THE FIRST RECORD TO EXECUTE AS A REXX EXEC OR,
FOR AN EXPLICIT EXEC, SUPPLY THE EXEC KEYWORD ON THE EXEC COMMAND
***
如上所示,系统没有执行程序,而返回了一段错误信息,原因是什么呢?原因在在于REXX文件有其特定的标识方式。在每一个REXX文件的起始处,必须有一个注释行,(在REXX中,注释以/***********/来表示),并且注释行中必须包含有“REXX”这个字符串,具体例子如下所示:
/***************** REXX ***********************/
把以上的信息加入到我们的MIB.REXX.EXEC(HELLO)中,修正后的程序如下所示
********************************* Top of Data *********************
/************************ REXX ***********************************/
SAY ‘HELLO MIB’
******************************** Bottom of Data *******************
运行程序,得到的结果是:
HELLO MIB
***
至此,我们第一个REXX程序就完成了。
我对REXX的体会就是:
1. 很轻便,开发简捷,语法规则使用起来很容易上手。
2. 无需编译,直接从“COMMAND”处运行。
3. 运行语法: EXEC ‘DATA SET NAME(MEMBER)’
4. 每个REXX程序中必须有一个标识自身文件类型的标识行,必须位于首行,且行中需要包含“REXX”字符串。
至此,就跟大家分享这么多,下次我将跟大家分享REXX中的数据类型与运算符。


