JCL.Cobol.DB2.CICS面试题 下载本文

FD OUT-FILE. 01 OUT-RECORD PIC X(80).

4.COMP和COMP-3,DISPLAY各表示什么意思?

S9(4) COMP-3占多少字节? S9(7)V9(2) DISPLAY 占多少字节?

COMP是二进制,COMP-3是压缩十进制,DISPLAY是十进制。 S9(4) COMP-3占3个字节 S9(7)V9(2) DISPLAY 占9个字节

5.如果VSAM中的字段格式是 S9(7)V9(2) comp-3, 如何定义一个数据来接收这个数据并DISPLAY出来? 答:通过定义 9(7).9(2) 来接收这个变量。

6.S9(4) COMP-3在内存中占多少字节? -1234在内存中是如何存储的?

答: S9(4) COMP-3在内存中占3个字节, -1234在内存中表示为 01 23 4D (16进制表示) ( 00000001 00100011 01001101) (2进制表示)

7. S9(7) COMP在内存中占多少字节? MOVE 1234 TO VAR, DIS PLAY 之后VAR1 显示结果是 (VAR1的PIC字句是 S9(7) COMP-3)

答:S9(7) COMP 在内存中占4个字节, MOVE 1234 TO VAR1之后, DISPLAY VAR1显示为 0001234.

8.COBOL程序读取文件记录,如何判断已经读到最后一条记录

100-READ.

READ FILE1 INTO FILE-REC AT END….. NOT AT END…… …..

GO TO 100-READ.

9.COBOL中如何调用子程序?如何向子程序传值?

使用CALL,XTCL,LINK来调用子程序,其中call使用在batch程序中,XCTL,LINK使用在CICS中。使用call和LINK调用子程序后,子程序结束后仍回到主程序。而XTCL后,子程序结束后不返回。

使用通讯区在子程序间传值。

10.举例说明如何使用 REDEFINES, 要注意什么? REDEFINES是用来重定义,数据长度和类型都可以不同 05 AAA PIC X(6) 05 BBB REDEFINES AAA. 10 B-1 PIC X(4). 10 B-2 PIC X(2)

11.文件打开的方式有哪几种?各表示什么? INPUT 输入 从该文件中读取数据 OUTPUT 输出 把数据输出到文件中 I/O 即可输入又可输出

EXTENT 扩展

12.你是如何调试批次程序的?

在SDSF里面看作业的返回码,进入JES的作业信息查看是哪一个作业步发生了错误,返回码是多少,然后去响应的作业步里面查看出错信息

如果可能是变量错误的话,用DISPLAY 跟踪 13.S0C7是什么错误,如何解决?

S0C7-may be due to: 1. Numeric operation on non-numeric data; 2. Un-initialize working-storage; 3. Coding past the maximum allowed sub script.

数据类型不匹配。通过OFFSET后面的十六进制的数。 14.在线程序与批次程序有何区别?根本区别: 在线程序需要用到cics,而批次程序不需要

15.COBOL读取文件记录的语句,分别描述一下顺序和索引文件的读取

READ INTO AT END NOT AT END

READ INTO KEY IS INVALID KEY NOT INVALID KEY 16.如何定义一个数组?比如学生记录里面课程有8门 01 STUDENT.

05 NAME PIC X(10).

05 COURSE PIC X(4) OCCURS 8 TIMES. OCCURS不能定义在01层。

17. VSAM文件的组织形式有哪些?

ESDS:Entry Sequential Data Set; 顺序数据集;

特点是:A,记录只能增加在文件尾部;B,记录可被修改但长度不能被改变,记录不能被删除;C能根据相对寻址的方式进行操作。

RRDS:Relative Record Data Set; 相对记录数据集;

特点是:A,在数据集中包含许多小的数据块,这些可能有数据或为空;B,记录可能是固定的或可变的;C,肯顺序或直接的存取,根据相对的记录数方式操作。

KSDS:Key Sequential Data Set; 索引数据集;

特别是:A,记录能进行顺序或直接的读写;B,记录能被新增、修改、删除无限制,记录由索引方式来组织;C,按键值的方式进行操作。

LDS 线性存储,数据没有分界线。 18..文件的访问方式有哪些? SEQUENTIAL 顺序 RANDOM 随机

DYNAMIC 动态(有条件)

19.REDEFINES的起什么作用,请简述REDEFINES使用时要注意的地方

答: REDEFINES表示重定义,为同一个内存重新定义一个变量的名字。

例如: 01 A PIC S9(7)V9(2) COMP-3. 我们用B 来REDEFINES A 就用如下语句:

01 B REDEFINES A PIC X(5). 例如: 01 A.

03 A1 PIC X(6). 03 B1 REDEFINES A1. 05 B11 PIC X(4). 05 B12 PIC 99.

03 C1 REDEFINES A1 PIC 9(6).

1.数据名2与数据名1的层号必须相同。REDEFINES子句不能用于88层和66层。

2.用REDEFINES子句的描述体应紧跟在被重新定义的数据项的描述之后,中间不能插入其他项的描述说明。 3.可以多次重定义,但必须紧跟出现,而且要求使用最初定义的数据名。

4.REDEFINES子句不能用于文件节的01层中,因为文件节中01层描述的是记录,但工作单元节中的01层是可以用REDEFINES子句重新定义的,因为这里的01层不是指输入输出文件的记录,而是指组合项。

5.用REDEFINES子句可以改变数据的结构,但两个数据名的长度应相同。

6.内存中的值为数据名1和数据名2共享。也就是说,重定