IBM主机技术一本通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

6.2 ACCEPT语句

ACCEPT语句有下列两种格式。

格式1的ACCEPT语句用来从输入设备传送数据到程序变量(Identifier)中。变量(Identifier)既可以是基本项,也可以是组合项。当省略FROM短语时,就假定从系统输入设备,即SYSIN中传送数据。Mnemonic-name必须要是环境部的SPECIAL-NAMES中定义的输入输出设备或控制台(Console)。

当程序出现意外情况需要操作员干预时,格式1的ACCEPT语句就非常有用了,因为操作员可以提供出错信息、信息代码和例外标识等给程序。

ACCEPT语句接收数据到变量(Identifier)中,系统不会对输入数据做编辑或错误检查。如果输入来自文件,则输入文件不能是VSAM文件,包括VSAM的ESDS、RRDS或KSDS文件。对于系统输入设备SYSIN而言,每条ACCEPT语句从文件中读一行记录,如果有多条ACCEPT语句,就要对应提供几条记录。

如果ACCEPT语句的来源是终端,操作员在终端上输入数据加上Enter键就是一条记录,如果输入的内容小于变量(Identifier)的长度,就会在右边用空格填满。

下面是格式1的ACCEPT语句的例子。

        77 WS-YourId         PIC X(14).
        …
        DISPLAY “Please input your ID:”
        ACCEPT WS-YourId FROM SYSIN

格式2的ACCEPT语句用来接收系统提供的日期和时间信息。这些信息都是应用程序需要在联机交易或批处理报表中提供给用户的。系统提供的日期和时间信息格式如表6.1所示:

表6.1 系统提供的日期和时间信息格式

下面是这些字段的说明。

● DATE

隐含的格式是PICTURE 9(6)。从左到右存放的数据元素是:

✧ 年份,2位数字。

✧ 月份,2位数字。

✧ 日期,2位数字。

比如,2010年6月25号,在DATE中的表达方式为100625。

● DATE YYYYMMDD

隐含的格式是PICTURE 9(8)。从左到右存放的数据元素是:

✧ 年份,4位数字。

✧ 月份,2位数字。

✧ 日期,2位数字。

同样,2010年6月25号在DATE YYYYMMDD中的表达方式为20100625。

● DAY

隐含的格式是PICTURE 9(5)。从左到右存放的数据元素是:

✧ 年份,2位数字。

✧ 天数,即一年中的第几天,3位数字。

同样,2010年6月25号在DAY中的表达方式为10176。

● DAY YYYYMMDD

隐含的格式是PICTURE 9(7)。从左到右存放的数据元素是:

✧ 年份,4位数字。

✧ 天数,即一年中的第几天,3位数字

同样,2010年6月25号在DAY YYYYMMDD中的表达方式为2010176

● DAY OF WEEK

隐含的格式是PICTURE 9(1)。代表当天是星期几,即:

✧ 1——Monday。

✧ 2——Tuesday。

✧ 3——Wednesday。

✧ 4——Thursday。

✧ 5——Friday。

✧ 6——Saturday。

✧ 7——Sunday。

比如,2010年6月25日是星期五,则其值为5。