当前位置:文档之家› cobol 实例以及入门基础

cobol 实例以及入门基础

cobol 实例以及入门基础
cobol 实例以及入门基础

1.关于COBOL的初步知识

◆COBOL是Common Business Oriented Language (通用商

业语言,或称管理语言)的缩写

◆最适用于数据处理

◆比较接近于自然语言(英语)

◆COBOL的结构严谨,层次分明

◆COBOL的缺点是比较烦琐。

Batch Program (VSAM/Batch COBOL)

◆COBOL

VSAM/ONLINE PGM

CICS ONLINE Program

DBS/ONLINE PGM

◆本课以ANSI COBOL 1974为标准

1.1一个例子:

**************************************************************** * * * HUMAN RESOURCE INFORMATION SYSTEM * * VERSION 2.1.0 COPYRIGHT (C) 1998 * * DALIAN NEU-BITCO SOFTWARE CO., LTD. * * ALL RIGHTS RESERVED. * * * **************************************************************** IDENTIFICATION DIVISION.(标识部)

PROGRAM-ID. YTP008.(程序名)

AUTHOR. DALIAN NEU-BITCO SOFTWARE CO.,LTD.(作者姓名)

INSTALLATION. DALIAN. (编写场所,大连)

DATE-WRITTEN. 1998/7/11. (编写日期)

DATE-COMPILED. 1998/8/1. (编译日期)

SECURITY. THIS PROGRAM RESTRICTED TO PERSONNEL.

**************************************************************** * * * SYSTEM : HUMAN RESOURCE INFORMATION SYSTEM * * * * PROGRAM : YTP008 * * * * TYPE : VSAM/VS COBOL II BATCH * * * * TITLE : INFORMATION ENTRY * * * * INPUTS : CARD FILE QSAM FILE * * - - - - - - - - * * * * OUTPUTS HUMAN RESOURCE (YTF019) * * * * FUNCTION : THIS BATCH PROGRAM IS TO SCAN AN IDCAMS SOURCE * * MEMBER, EACH IDCAMS SOURCE MEMBER REPRESENTS A * * * * * **************************************************************** **************************************************************** * * * REVISION LOG * **************************************************************** * CTL NO * DATE * INIT. * DESCRIPTION * **************************************************************** * * 7/11/98 * NEU-BITCO*INITIAL INSTALLATION BY ZYB * ****************************************************************

ENVIRONMENT DIVISION.(设备部或称环境部)

CONFIGURATION SECTION.(配置节)

SOURCE-COMPUTER. IBM-3084. (源计算机名,编译)

OBJECT-COMPUTER. IBM-3084. (目标计算机名,运行)

MEMORY SIZE IS 整数 (WORDS, CHARACTERS, MODLES).

SPECIAL-NAMES. CONSOLE IS CRT.(专用名描述项)

DECIMAL-POINT IS COMMA.(小数点是逗号)

CURRENCY SIGN IS ‘Y’. (代替$)

INPUT-OUTPUT SECTION.(输入输出节)

FILE-CONTROL.(文件控制描述体)

SELECT FD-YTI008 ASSIGN TO UR-S-YTI008

*?? FOLLOWING LINE SHOULD BE DELETED FOR M/F

ORGANIZATION IS LINE SEQUENTIAL

FILE STATUS IS WS-FILE-STATUS.

- - - - -

--------

DATA DIVISION.(数据部)

FILE SECTION.(文件节)

FD FD-YTI008

LABEL RECORDS ARE STANDARD.

01 YTI008-REC.

05 YTI008-IDCAMS PIC X(80).

- - - - - - -

-- - - - - --

**************************************************************** * WORKING STORAGE

**************************************************************** WORKING-STORAGE SECTION.(工作单元节)

01 FILLER PIC X(50) VALUE

'PROGRAM YTP008 WORKING-STORAGE BEGINS HERE'.

*?? FOLLOWING LINES SHOULD BE DELETED FOR M/F

77 UR-S-YTI008 PIC X(30) VALUE 'YTI008.DAT'.

01 WORK-STORAGE.

05 WS-SYS-DATE PIC 9(6).

05 FILLER REDEFINES WS-SYS-DATE.

10 WS-SYS-YY PIC 9(2).

10 WS-SYS-MM PIC 9(2).

10 WS-SYS-DD PIC 9(2).

05 WS-SYS-TIME PIC X(6).

05 FILLER REDEFINES WS-SYS-TIME.

10 WS-SYS-HH PIC 9(2).

10 WS-SYS-MN PIC 9(2).

------

PROCEDURE DIVISION.(过程部)

DISPLAY ' PROGRAM YTP008 HAS BEEN STARTED .............'

UPON CRT.

PERFORM 1000-OPEN-FILE THRU

1000-OPEN-FILE-EXIT.

-- - - - -

-- - - - -

STOP RUN.

1.2 COBOL 程序的结构(1/p4)

部(Division) 一部可包括若干节

节(Section) 一节可包含若干段

段(Paragraph) 一段可包含若干句子

句子(Sentence) 一个句子可包含若干语句

语句(Statement) 制定计算机完成一定的操作

子句(Clause) 制定完成某一方面的功能

每个程序应包含四个部

IDENTIFICATION DIVISION (标识部)

主要用来指定源程序名字,也可以写入其他用作备忘的某些信息

(如日期、作者等)。

ENVIROMENT DIVISION(环境部)

主要用于指出程序中用到的数据文件名与计算机系统的设备的对

应关系,即把某一文件名与一个外部设备联系起来。

DATA DIVISION(数据部〕

程序中所用到的全部数据(包括输入输出的数据和中间数据)都应

在数据部中说明它们的类型和所占内存情况。

PROCEDURE DIVISION(过程部〕

用来给出程序要执行的指令,使计算机产生相应的操作,例如进行

数学运算。

1.3 COBOL源程序的书写格式( 1/p6)

7 续行区(-)及注释行(*)

8~11 A区

部头,节头,段头,层号01,层号77以及文件描述符FD应从A 区开写。

12-72 B区,正文

过程部的句子只能从B区开始写,而不能写到A区去。

73-80 注释区 (编译时被舍弃〕

2.COBOL数据表示

2.0常量(1/p13)

?ZERO,ZEROS,ZEROES 表示一个或多个零字符(16进制‘F0?)

?SPACE,SPACES 表示一个或多个空格字符(16进制‘40?)

?HIGH-VALUE,HIGH-VALUES 表示一个或多个字符具有最高值(16进制‘FF?, 2进制‘11’)

?LOW-VALUE,LOW-VALUES 表示一个或多个字符具有最小值(16进制‘00?,2进制‘00’)

?QUTE,QUTES 表示一个或多个引号字符(16进制‘7F?)

(MOVE QUOTE …CHINA? QUOTE TO A)

?ALL 常量表示一个或多个该常量组成的字符串

A PIC X(4)

MOVE ALL …*? TO A ****

MOVE ALL …AB? TO A ABAB

MOVE ALL …ABC? TO A ABCA

2.1层次的概念(1p16)

01 WORK-STORAGE.

05 WS-SYS-DATE PIC 9(6).

05 FILLER REDEFINES WS-SYS-DATE.

10 WS-SYS-YY PIC 9(2).

10 WS-SYS-MM PIC 9(2).

10 WS-SYS-DD PIC 9(2).

05 WS-SYS-TIME PIC X(6).

05 FILLER REDEFINES WS-SYS-TIME.

10 WS-SYS-HH PIC 9(2).

10 WS-SYS-MN PIC 9(2).

结构:记录→组合项→初等项

层次规定如下:从01开始,到49, 外层的层号小,里层的层号大。

66层用于重命名

77层一般用于定义无层次的变量

88层用于定义条件名

2.2PIC子句( 1/p83)

(1)“9”描述符。

02 X PIC 9999.

02 Y PIC 9(5).

若 MOVE -1.25 TO Z, Z中的内容为 01,小数点后的舍弃,负号也舍弃

(2)“V”描述符。

02 M PIC 999V99.

说明:

1. V隐含小数点的位置,占5个字节,

MOVE 215.63 TO M -> M=213.63

MOVE 1215.637 TO M -> M= 215.63

传送时按小数点对齐,向两边延伸

2. 只能出现一个V

3. 按隐含的小数点位置对准进行运算

A PIC 9(3)V9. A=010.0

B PI

C 9(2)V9(2). B=02.00

C PIC 9(2)V9(2).

COMPUTE C=A+B => C=12.00

4. 显示时,不显示小数点(用编辑型显示小数点)

(3)“P”描述符。

1. 01 A PIC 9PPPPPPPPPP.

用9999999999来描述,占10个字节。为了节省内存,低位上有若干个0的数,可以用“P”来描述。A在内存中只占1个字节,表示1x109,也可以写成:

01 A PIC 9P(9).

2. 01 A PIC PPPP99.

表示0.000099

4. P 描述符在COBOL中不常用

(4)“S”描述符。

02 D PIC S99. (S不计数据项长度,表示负号,只能在99最前面)

(5)字母型数据的描述”A”

02 A2 PIC AAAA.

02 A2 PIC A(4).

MOVE “ABCD” TO T

不只能存放字母和空格以外的字符,也可以用X描述(6)字符型数据的描述”X”

(7)编辑型数据的描述

编辑型数据项仅仅是为了输出的需要,不能用来运算

a. 插入小数点“.”,用“.”描述符

77 T PIC 99V99

77 N PIC 99.99

若T的原值为12. 56, MOVE T TO N

77 T PIC 999V99

77 N PIC 9.9

若T的原值为112. 56, MOVE T TO N

b. 插入小数点“,”, 用“,”描述符

77 A PIC 9(6)V9(2).

77 B PIC 9(3),9(3). 9(2).

若A的原值为123456.78, MOVE A TO B

c.插入“0”,用“0”描述符

77 R PIC 999PPPP

77 T PIC 9990000 (或9(3)0000,或9(3)0(4))

当R的值为678000时, MOVE R TO T

d.插入空格用”B”描述符

77 A PIC 9(3)

77 B PIC B9(3)B

当A的值为812,MOVE A TO B

e. 插入正负号,用”+”或”-”描述符

在如下情况下, MOVE B1 TO B2

f. 插入”$”

77 A PIC 9(3)V99

77 B PIC $999.99

当A的值为186.78,MOVE A TO B

正负号与$加在数字前面,定义如下:

77 A PIC S9(3〕V99

77 B PIC +$99. 9

77 C PIC -$99. 9

g.浮动插入正负号和$

浮动字符+, -,$ 前不能有其他字符,如:02 A1 PIC +$$.99是错误的,可以

02 A1 PIC $$.99+

h.取消高位0,用“Z”和“*”描述符

i.插入:”DB”和”CR”字符

DB -> 银行业务的借方(Debit)

CR -> 银行业务的贷方(Credit)

Example: MOVE A TO B.

2.3数据在内存中各种形式(2/p2)

1.单位

bit : 位,二进制的0或1

Byte: 字节,8个二进位

Word: 4个字节,32个二进位

半字,2个字节,16个二进位

双字,8个字节,64个二进位

2.数值型数据的存放形式:

(1)外部十进制(扩张十进制)

十进制数字 EBCDIC码 ASCII码

0 1111 0000 0011 0000

1 1111 0001 0011 0001

2 1111 0010 0011 0010

3 1111 0011 0011 0011

4 1111 0100 0011 0100

5 1111 0101 0011 0101

6 1111 0110 0011 0110

7 1111 0111 0011 0111

8 1111 1000 0011 1000

9 1111 1001 0011 1001

+ 1111 1100 0011 1100

- 1111 1101 0011 1101 无符号 1111 1111 0011 1111

-6

最后字节前四位,有符号时“C”(1100)表长浮点示正,”D”(1101)表示负。

(2)外部浮点数形式:

+1.23876E+59,

77 A PIC +9.99999E+99, 共占12个字节

77 A PIC +9V99999E+99, 共占11个字节

(3)内部十进制(缩合十进制)

(a)-14932在内存中为:0001 0100 1001 0011 0010 1101(3Bytes)

十六进制为:14932D

(b)+43856在内存中为:0100 0011 1000 0101 0110 1100(3Bytes)

十六进制为:43856C

(c)无符号数:3856,在内存中为:

0000 0011 1000 0101 0110 1111(3Bytes,前半个字节补0)

十六进制为:03856F

长度为:ROUND((n+1)/2) ROUND表示四舍五入

(4)定点二进制:

不是一个数字对应一个字节或半个字节,而是先把十进制数化为二进制数。

十进制的10如下表示:,占两个字节,用补码,

(5)内部浮点制:

以内部的指数形式(二进制的指数形式)表示一个数。

短浮点:

4个字节(32位)表示一个数,阶码(指数)为8位,尾数为24位。

长浮点:

8个字节(64位)表示一个数,阶码(指数)为8位,尾数为56位。

数值范围都为:

5.4 x 10-79 ~ 0.72 x 10 78

3.PIC的USAGE子句,数值型数据的存放形式的使用:(2/p7)

1. USAGE子句一般格式为:

[USAGE IS] {DISPLAY, COMPUTATIONAL, COMP}

USAGE IS DISPLAY 是“显示型用法”,适用于显示、打印。

COMPUTATIONAL(COMP)是“计算型的用法”

DISPLAY 标准数据形式,一个字节放一个字符

COMPUTATIONAL

定点二进制形式

COMP

COMPUTATIONAL-1

内部短浮点形式

COMP-1

COMPUTATIONAL-2

内部长浮点形式

COMP-2

COMPUTATIONAL-3 内部十进制形式

COMP-3

2. 02 A PIC 9(4) USAGE IS COMP.

或:02 A PIC 9(4) COMP.

用DISPLAY显示的结果仍同原样。

3. 02 B PIC 9(6) USAGE IS DISPLAY.

02 B PIC 9(6) DISPLAY.

02 B PIC 9(6).

如不写DISPLAY,则表示隐含。

01 T.

02 T1 USAGE COMP.

03 X PIC S9(3).

03 Y PIC S9(3).

组合项的全部初等项为COMP.

4.符号子句(SIGN子句)

[SIGN IS]{LEADING,TRAILING} [SEPARATE CHARACTER]

02A PIC 9(3) USAGE DISPLAY

02 A PIC S9(3) USAGE DISPLAY SIGN IS LEADING.

表示符号在第一个字节的前四位表示。

02 A PIC S9(3) USAGE DISPLAY SIGN IS TRAILING(尾部) .

表示符号在最后字节中表示。

符号单独占一个字节,用SEPARATE

03A PIC S9(3) USAGE DISPLAY SIGN IS TRAILING SEPARATE

02 A PIC S9(3) SIGN IS LEADING SEPARATE

5. 重定义子句(REDEFINES子句)

1. 02 A PIC X(5).

B REDEFINES A PI

C 9(5).

2. 02 A.

03 A1 PIC 9(4).

03 A2 PIC X(6).

03 A3 PIC X(4).

02 B REDEFINES A.

03 B1 PIC X(5).

03 B2 PIC 9(6).

03 B3 PIC 99V9.

层号数据名1 REDEFINES 数据名2

说明:(a)层号必须相同

(b)必须相邻

(c)可以多次重定义,但必须紧跟出现

(d)不能用于文件节01层,可用于工作单元节01层

(e)不可改变长度

(f)应放在其他子句之前

03 A REDEFINES T PIC X(6) JUST RIGHT .

(g)REDEFINES子句不能使用VALUE语句

02 W REDEFINES T PIC X(4) VALUE …ABCD?是错

6.重命名子句(RENAMES子句)

用REDEFINES子句可以在不改变数据项长度的前提下,重新定义数据

区的名称和数据结构的形式(包括重新定义初等项的类型及长度〕。

用RENAMES子句可以把原来已定义的某些数据项重新组合成一个新项,并以一个新名字来代表它。但用重命名子句不能改变各初等项的长度等属性。

01 A.

02 B…

03 G…

03 H…

02 C.

03 I…

03 J…

02 D…

02 E…

02 F…

66 K RENAMES G THRU I.

66 M RENAMES B THRU C.

66 N RENAMES E.

66 数据名1 RENAMES 数据2 [THRU 数据名3]

说明:

(a)层号只能用66,它必须紧跟在01层记录中最后一个数据描述体之后。

(b)数据名2,数据名3可为初等项或组合项,但不能是同一个数据名。

(c)数据名2在记录中的位置在数据名3之前,且数据名3不能包含在数据名2之中。

(d)RENAMES 子句只能用于工作单元节中,不能用于文件节中。

7.遇空置零语句(BLANK子句)

1.03 A PIC $(5).99 BLANK WHEN ZERO.

当MOVE 0 TO A时,A变为空格

2.但使用“*”号来代替高位零,BLANK不起作用,

03 D PIC ***** BLANK WHEN ZERO

MOVE 0 TO D. D=*****, 不是空格

8. 对齐子句(JUSTIFIED子句)

{JUSTIFIED,JUST} RIGHT

77 A PIC X(5).

77 B PIC X(5) JUSTIFIED RIGHT.

MOVE …ABCDEFG? TO A,B

9. 同步安置语句(SYNCHRONIZED子句)

1紧凑存储节省空间,但在许多定字长的计算机中,一个机器字(Word)往往指定为四个字节,两个机器字之间为“自然边界”,为了提高效率,从内存读取数据时,通常一次将一个机器字一起取出来。

{SYNCHRONIZED,SYNC} [LEFT,RIGHT]

01 A.

02 A1 PIC 9(3) VALUE 82.

02 A2 PIC X(3) VALUE …ABC?.

02 A3 PIC 9 VALUE 7.

02 A4 PIC X(2) VALUE …XY?.

02 A5 PIC 9(2) VALUE 12

01A.

02 A1 PIC 9(3) SYNC LEFT VALUE 82.

02 A2 PIC X(3) SYNC RIGHT VALUE …ABC?.

02 A3 PIC 9 SYNC LEFT.

02 A4 PIC X(2) VALUE …XY?.

02 A5 PIC 9(2) VALUE 12

10. 多格式数据记录——记录区的重叠

FD CARDFILE LABLE RECORDS ARE OMITTED

DATA RECORDS ARE CARD-A,CARD-B.

01 CARD-A.

02 RECORD-CODE PIC X. (记录代码,为A, 为CARD-A)

02 FILLER PIC XX.

02 PART-NUMBER PIC 9(5).

02 FILLER XX.

02 QUANTITY PIC 9(6).

02 FILLER PIC XX.

02 PRICE PIC 99V99.

02 FILLER PIC X(58).

01 CARD-B.

02 FILLER PIC X. (记录代码,为A, 为CARD-A)

02 FILLER PIC XX.

02 CUSTOMER-NAME PIC 9(20).

02 FILLER XX.

02 CUSTOMER-NUMBER PIC 9(6).

02 FILLER PIC XX.

02 PART-NUM PIC 9(6).

……..

11.复写语句(COPY语句)(2/ P22)

有些类似于C语言中的#INCLUDE语句,可以把COBOL程序中的数据描述共享,而不必每次都重新做。

1. 01 A.

02 A1 PIC 9(4).

02 A2 PIC 9(6)V99.

02 A3 OCCURS 5 TIMES PIC X(10).

02 A4 PIC X(8).

将其文件命名为LIB1, 则:

01 B COPY LIB1.

编译结果=>01 B.

02 A1 PIC 9(4).

…….

注意:层号01在COPY范围之外。

2.REPALCING取代原名:

01 B COPY LIB1

REPLACING A1 BY B1

A2 BY B2

A3 BY B3

A4 BY B4.

一般格式:

COPY 库名(REPLACING {{标识符1,常量1,字1}BY{标识符1,常量1,字1}}…)

COPY语句在COBOL中的应用:

SOURCE-COMPUTER.COPY STATEMENT.

OBJECT-COMPUTER.COPY STATEMENT.

SPECIAL-NAMES.COPY STATEMENT.

FILE-CONTROL.COPY STATEMENT.

I-O-CONTROL. COPY…

SELECT [FILE] COPY …

…..

FD [FILE] COPY …

SD [FILE] COPY …

01 [DATA FIELD] COPY …

…….

77 DATA-FIELD COPY …

01 DATA-FIELD COPY …

77 DATA FIELD 1 REDEFINES DATA FIELD 2 COPY …

01 DATA FIELD 1 REDEFINES DATA FIELD 2 COPY …

…….

RD(REPORT) REPORTNAME COPY …

COBOL+CICS文件操作

COBOL+CICS文件操作 1.输入输出数据 非CICS: ACCEPT数据来源:终端输入和系统接收。 一般系统接收数据为日期或者时间。 DA TE--YYMMDD. DAY---YYDDD. DAY-OF-WEEK--- PIC 9. 范围1-7. TIME---HHMMSSHH,最后HH表示hundredths from midnigth. 如:DA TA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-DATE. 05 INPUT-YEAR PIC 99. 05 INPUT-MONTH PIC 99. 05 INPUT-DAY PIC 99. * PROCEDURE DIVISION. ... ACCEPT TEST-DA TE. DISPLAY TEST-DATE. ---终端输入的数据 ACCEPT TEST-DA TE FROM DA TE. --系统产生的数据 DISPLAY TEST-DATE. --输出 CICS下: 如:DA TA DIVISION. WORKING-STORAGE SECTION. 01 INFLDS. 05 INLEN PIC 9(4) COMP. 01 INPUT-NAME. 05 INPUT-FIRST PIC X(10). 05 INPUT-MIDDLE PIC X(10). 05 INPUT-LAST PIC X(10). *PROCEDURE DIVISION. ... MOVE 15 TO INLEN. EXEC CICS RECEIVE INTO(INPUT-NAME) LENGTH(INLEN) --所接收的最大长度,小于为实际,大于为异常END-EXEC. EXEC CICS SEND FROM(INPUT-NAME) LENGTH(20) --为实际长度,并非变量。输出位置为当前光标位置END-EXEC. ... GOBACK.

cobol基本语法教学内容

c o b o l基本语法

基本語法 一、COBOL基本語法 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “-“字符串连接符 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构 (几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 3、数据部(DATA DIVISION)。 程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。(变量的类型结构参照5.变量类型) a. 文件节(FILE SECTION) 给环境部定义的文件指定一个RECORD变量,读写文件用: FD FILE-LOG. 01 RECORD-LOG PIC X(2000). b. 工作存储节 定义程序中用到的临时变量。 a) COBOL变量定义需要加层号(表示层次关系), ·层号从01开始 如: 01 I PIC X(10). ·组合项 如: 01 WORK-AREA. 05 NUM-1 PIC 9(09).

宏病毒文档修复前备份

2、数据库的特点是( ) A、与其他软件连接 B、描述数据性质 C、数据库的用户 D、用数据字段表示实体的属性 2 、 SQL 是 A 、结构化查询语言 B 、结构化疑问语言 C 、法定查询语言 D 、法定疑问语言 3 、操作系统的作用是 A 、一种程序语言 B 、使用户能与计算机交互的界面 C 、给用户提供一个应用平台 D 、是一个应用软件的例子 4 、下列哪一种是应用软件 A 、 Fortran B、PASCAL C、Word for Windows D、Windows XP 5 、用户接口软件是为了 A 、使得用户和系统交互更方便 B、替换DOS C 、使得编程工作更加容易 D、替换应用软件 6 、 DBMS 是用来 A 、开发电子数据表 B、管理数据库中的大量数据 C 、在数据库和电子数据表之间处理大量数据 D、使一个文字处理器连接到一个电子数据表 7 、下列哪一个不是数据的类型 A 、常量 B 、变量 C、字符 D、表格 8 、下列哪一个是计算机处理方法 A 、解释 B 、编译 C、汇编 D、批处理 9 、下列哪一个不是一种数据类型 A 、字符型 B 、数值型 C、实数型 D、列表 19 、程序设计语言是用于 A 、运行计算机 B 、运行计算机而不是DOS C 、编写应用软件 D 、控制硬件和软件 20 、下列哪一个是图像文件格式 A 、 JPEG B 、 MP3 C 、 ASII D 、二进制

1.最适合于建立通讯地址簿并具有查询功能的软件是:() A.CAD应用 B.数据库软件 C.文字处理软件 D.电子表格软件 3.UNIX是一种 A.第四代程序设计语言 B.编译程序 C.个人电脑 D.多用户操作系统 5.在数学计算和科学研究中常用的程序设计语言是 A.C++ B.COBOL C.FORTRAN D.PROLOG 11.第一代程序设计语言是 A.C语言 B.机器语言 C.javascript D.脚本语言 12.数据库管理员的主要职责是 A 管理数据库和设定用户访问权限 B负责每天更新数据库中在数据 C 维护数据库运行所需的硬件设备 D 为有权访问数据库的用户提供详细的查询 13.关系数据库是 A 一系列相关在二维表 B 一系列记录 C 一系列相关文档 D 基于大型机的大型数据库 19.信息的定义是 A 存储在计算机中的数据 B 存储在数据库中的数据 C 显示在计算机屏幕上或打印出来能看到的数据 D 经过处理后得到的有用数据 10、计算机的机器语言是( ) A、第五代计算机语言 B、第一代计算机语言 C、标记性语言 D、计算机高级程序语言 17、用于数值计算和科学研究的计算机语言是( ) A、C语言 B、COBOL语言 C、FORTRAN语言 D、PROLOG语言 4、通常将有用的数据称为( ) A、数据变换 B、高级编程 C、伪代码 D、信息 7、如果你想建立一个可查询的地址簿,选择的应用软件是( ) A、分页软件 B、数据库软件 C、字处理软件 D、多媒体编辑软件 8、宏是( ) A、一种报告错误的程序 B、一种软件报告 C、一种自动触发文件的方法 D、一种高级语言编写的程序 计算机中宏又称为宏命令,即通过特殊的控制语,将一系列动作简便化;即:一种批处理的程序 10、用于进行数学计算和计算机语言是( ) A、C语言 B、COBLL C、FORTRAN D、PROLOG A、C语言 B、机器语言 C、PROLOG D、汇编语言 12、第一代计算机语言是指( ) 15、UNIX是( ) A、第四代程序语言 B、解释程序 C、应用软件 D、多用户操作系统

浅谈COBOL开发

浅谈COBOL开发 近几年,由于IBM和HITACHI等大型机力推COBOL,使COBOL在沉睡了几年以后又重新火了起来。因为本人从毕业以来,一直在做COBOL的项目,今天斗胆把毕业以来的一些经验写出来,不管对还是错拿出来大家一起讨论讨论。 COBOL语言常用的开发方式有以下几种: 1. PC机开发。这种开发方式比较灵活,可以与当今比较流行的语言进行对接。把数据库、及开发环境都可以集成到我们的PC机上。程序执行的LOG和文件都在PC机上指定目录。当今比较流行的语言如.net、 VB、 C++等编译生成的LIB文件,COBOL都可以直接调用。这种开发方式所使用的开发工具中首推日立推出的COBOL2002,还有一个比较低的版本COBOL85,COBOL2002的优势在于DB连接方面。当然由于COBOL85版本太老,本人无缘使用,但是曾经听过一位前辈说COBOL85不能进行DB连接,也就是说COBOL85的数据存储只能以文件的形式存储。COBOL2002可以设定断点(VB、.NET程序员应该比较熟悉),程序执行过程中可以单步调试,察看变量值。COBOL2002还可以记录测试路径的覆盖率,一些异常处理可以利用设定断点的方式跑到,所以这种开发方式可以出现路径覆盖率为100%的情况。但是这种开发形式的语法要求比较低,比如说代码中出现全角空格就能顺利通过编译,而相同的代码在大机上编译就会出错。 2.B/S形式大机开发。程序员在PC机上开发,代码编写完成以后,通过FTP上传工具,把代码上传到大机端。利用远程登录telnet登录大机,在命令行输入编译代码。本身程序员在编写代码过程中完全占用PC机资源,不占用大机内存资源。当程序被传到大机上以后,才占用大机资源。由于大机是多用户多线程作业,所以即使代码死循环,大机也不会停掉。而是在这个线程执行一段时间以后,压到堆栈中,执行其他线程。这种大机典型的是H9000(HITACHI9000,个别人可能误以为是HP的产品)。大机上常常把目录固定,主处理和子程序往往在不同的目录下存放。程序执行过程中无法设定断点。如果想要查看程序执行过程中的变量,只能在代码中追加DISPLAY语句,在LOG中把变量值打出来。一般来说,大机的语法要求高一些,代码里除了X型变量中和注释出现全角空格外,其他地方出现空格是绝对不能编译通过的。 3.HOST端大机开发。程序员通过个人计算机和网络和大机相连,在编写代码的过程中,占用大机资源。就是说如果你PC删除一行代码,对应大机上也要删除一行代码。编写的代码无法在PC机上进行编译,代码需要使用大机的操作系统命令进行编译和执行。代码编写操作远远没有ULTRAEDIT方便,删除、拷贝都需要系统命令。而且要进行用户登录和退出。开发担当常常用一个文本记下所有常用命令,以便开发过程使用。这种开发的典型就是IBM 的S/390

AS400 基本命令和操作

数据描述规范DDS通过文件的记录字段仅一次的说明,可定义多种访问路径,多个程序使用。 结构化查询语言SQL/400组成:(1)SQL运行支持程序(2)SQL预编译程序(3)SQL交互式接口(4)DB2 QUERY MANAGER FOR AS/400,提供菜单、填空式提示的交互式接口,允许建立、增加、维护数据,和运行报表 PDM(PROGRAMMING DEVELOPMENT MANAGER)处理源代码、对象和库 SEU(SOURCE ENTRY UTILITY)建立和编辑源文件成员STRSEU SDA(SCREEN DESIGN AID)交互式设计、创建和维护应用屏幕 RLU(REPORT LAYOUT UTILITY)交互式定义打印报表的格式分布 DFU(DA TA FILE UTILITY)快速定义、创建面向数据录入、查询或文件维护STRDFU QUERY/400获取外部描述数据库文件信息STRQRY CL(CONTROL LANGUAGE)调用AS/400的所有系统功能。简化操作,控制工作流程,设置作业运行环境等 AS/400三级存储结构 库(LIBRARY)——数据库文件(FILE)——成员(MEMBER) 一级目录——二级目录——三级目录 字段是用来描述某一属性的一组值;字段定义是对字段属性的说明 记录是把一组字段放在一起命名,用来说明某一事物;记录格式是对记录中所有字段的简单说明以及对各字段排序的说明 文件是已命名的一组记录,文件说明是对文件所有的记录格式和存取路径的说明,数据库文件分为数据文件和源文件,数据文件就是程序中使用的物理文件和逻辑文件。 物理文件(*FILE,PF-DTA):在SQL中称做表(TABLE),含有系统实际存储的数据,每个物理文件只有一个固定长度的记录格式。CRTPF 逻辑文件(*FILE,LF):在SQL中称做表(VIEW),它不含有实际数据,依附于物理文件,可以描述一个或多个物理文件的记录(JOIN逻辑文件)。CRTLF 源文件(*FILE,PF-SRC):是系统用来建立源程序(RPGLE、CLLE、C)或源物理文件(PF)等目标的源说明CRTSRCPF 库名:存放该应用系统的源程序库就命名为SGM SRC,存放该应用系统目标的库可命名为SGM OBJ CRTLIB 源文件名:存放程序的源文件叫R+PGM+SCF,存放物理文件和逻辑文件定义的源文件叫R+DTA+SCF 物理文件/逻辑文件名:学生成绩表命名为STGD+A其中一个逻辑名为STGD L1 程序名:SGM+0400+R‘R’:RPGLE,‘C’:C,C或CL,‘R’:报表等 DDS行中对物理文件有效的位置是: 6:A=DDS 17:R=RECORD NAME ,K=KEY FIELD NAME,BLANK=FIELD NAME)

COBOL语言基础教程

cobol语言基础培训教程 2009年04月23日 | 5:23 下午分类:大型机|Mainframe | 标签:cobol 数据类型、COBOL 程序举例、cobol入门、cobol教程、cobol语言、大型机培训 | CHAPTER 1 COBOL 概述 COBOL 是Common Business Oriented Language 的缩写。它不仅是商业数据处理的理想语言, 而且广泛用于数据管理领域,因此COBOL 语言也被称为”用于管理的语言”。 一。COBOL 语言的特点 最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL比较接近英语,容易懂;通用性强,易移植,COBOL结构严谨,层次分明。 二。COBOL的组成部分: 1。标识部(IDENTIFICATION DIVISION):用于标识程序名。 2。环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。 3。数据部(DATA DIVISION):用于说明程序中涉及的所有数据。 4。过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。 三。最简单的COBOL 程序举例: COL 1 —6 7 8 12—72 73—80 IDENTIFICATION DIVISION。 PROGRAM-ID。 PSAMPLE1。 ENVIRONMENT DIVISION。 DATA DIVISION。 PROCEURE DIVISION。 DISPLAY ’THIS IS A COBOL PROGRAM.’ STOP RUN。 四。COBOL 源程序的书写格式: 第1 至 6 列为”标号区”。第7列为”续行标志区” 第8至此11列,称为”A区”。程序中有些内容如部头,节头,段头,层号 01,层号 77 及文件 描述符FD等应从A区开始写。 第12至此72列,称为”B区”。写程序中的正文部分。如过程部中的句子只能从B区开始写。 第73至80列,称为”注释区”。 五。COBOL字符集包括:

cobol基本语法

基本語法 一、COBOL基本語法 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “-“字符串连接符 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构 (几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 3、数据部(DATA DIVISION)。 程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。(变量的类型结构参照5.变量类型) a. 文件节(FILE SECTION) 给环境部定义的文件指定一个RECORD变量,读写文件用: FD FILE-LOG. 01 RECORD-LOG PIC X(2000). b. 工作存储节 定义程序中用到的临时变量。 a) COBOL变量定义需要加层号(表示层次关系), ·层号从01开始 如: 01 I PIC X(10). ·组合项 如: 01 WORK-AREA.

COBOL语言测试试卷(一)

COBOL语言测试试卷(一) 一、选择题(共10分) 1、关于COBOL语言,下述描述中正确的是:() A.COBOL可以用于开发操作系统。 B.COBOL还可以用于开发编译器。 C.COBOL主要用于编写面向商业的应用程序。 D.如今比较少用COBOL开发应用程序。 2、不属于COBOL程序的部的是:() A.过程部。 B.程序部。 C.数据部 D.环境部 3、COBOL代码中最小的单位是:() A. Division B. Section C. Sentence D. Statement 4、COBOL程序中的数据在哪个部中定义?() A.过程部。 B.环境部。 C.数据部 D.定义部 5、COBOL程序中如果有环境部的话,应置于:() A.过程部之后定义部之前。 B.定义部之后过程部之前。 C.定义部之后数据部之前。 D.数据部之后过程部之前。 6、定义部中不可缺少的段名是:() A.PROGRAM-ID B.AUTHOR C.FILE SECTION D.PROGRAM 7、COBOL程序中一般变量在哪里定义?() A.定义部 B.环境部 C.数据部的FILE SECTION D.数据部的WORKING-STORAGE SECTION 8、在过程部中,可以没有的是:() A.SECTION B.PARAGRAPH C.SENTENCE D.STATEMENT 9、当一个COBOL编译器区分A区和B区的时候,必须从B区开始的是:() A.段名 B.节名和01级数据 C.部名 D.过程部里的Sentences。 10、在COBOL程序中,下列用户自定义的名称有效的是:() A.This result B.-Grosspay C.Grosspay- D.Gross-pay 二、判断题(共20分)

COBOL经典面试题库(中文)

COBOL经典面试题库 Q1:列举COBOL的DEVISION A1:标识部,环境部,数据部,过程部 Q2:COBOL有哪些可用的数据类型 A2:字符型(这里指的是包含字母和数字),字母型,数字型 Q3:INITIALIZE这个词做了些什么 A3:将字母,字符,数字区域都置成空格(置空),将数字区置0,FILLER和OCCURS DEPENDING ON项不处理 Q4:77层有什么作用 A4:基本层数据项,不能用做细分别的层,也不能被细分 (来源:) Q5:88层有什么作用 A5:条件逻辑层 Q6:66层有什么作用 A6:重命名层 Q7:IS NUMERIC这个子句怎么确定(也就是说确定句子的真值) A7:IS NUMERIC用在字符项,带符号数字,浮点数,不带符号数。如果目标项只含0~9则返回TRUE。但是,如果待测项目是个带符号数,那么他就含有0-9还有+和- 05 ARRAY1 PIC X(9) OCCURS 10 TIMES. 05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX Q8:COBOL中怎么建表/数组 A8:如上. Q9:OCCURS 子句能用在第一层吗 A9:不能 Q10:索引和下标有什么区别 A10:下标可以指定数组中任意中位置的元素(只要知道其下标),下标只能是数字型常量或者数字型变量(但是不能在指定的时候修改,如:A(K+1)这样是不行的,要修改的话要在指定的外部改,如:ADD 1 TO K,而索引的话是从表头/数组头开始检索(以BY N的指定检索规律往后滚) 再者,索引只能通过PERFORM, SEARCH 和SET来修改,如果要在一个表中使用SEARCH, SEARCH ALL,那这个表就要有索引(因为SEARCH, SEARCH ALL的参数中指定索引,所以即使其有很多限制还是得用它)

大型机COBOL程序之简易报表打印

COBOL实验报告2 一,实验目的 1,能够利用cobol程序实现一个报表的编辑和制作。 2,能够对文件进行操作,比如说:打开,关闭,读和写3,了解COBOL的常用语句和一些常用的数据类型, 能够利用编辑型数据实现数据的友好输出。 4,能够运用sdsf修改程序中的错误 5,学会编写稍微复杂的COBOL程序。 二,实验原理和内容 1,修改UTE20.COBOL.MURACH.EXERCISE(RPT1000X) 使之正常运行。 2,在RPT1000原有基础上改进成增强的报表打印程序。 3,利用给定的数据和格式独立的制作一个报表 三,实验环境 PC机和TSO下的ISPF环境 四,实验步骤

1,步骤1和步骤2:修改 UTE20.COBOL.MURACH.EXERCISE(RPT1000X) 使之正常运行,并在此基础上改进成增强型的报表打印程序。 1.1 代码: 000100 IDENTIFICATION DIVISION. 000200 000300 PROGRAM-ID. RPT1000. 000400 000500 ENVIRONMENT DIVISION. 000600 000700 INPUT-OUTPUT SECTION. 000800 000900 FILE-CONTROL. 001000 001100 SELECT CUSTMAST ASSIGN TO CUSTMAST. 001200 SELECT SALESRPT ASSIGN TO SALESRPT. 001300 001400 DATA DIVISION. 001500 001600 FILE SECTION. 001700

COBOL试题答案

一、选择题(15分)(含多项选择) 1、不属于COBOL程序的部的是:(B ) A.过程部。 B.程序部。 C.数据部 D.环境部 2、COBOL程序中的数据在哪个部中定义?(C ) A.过程部。 B.环境部。 C.数据部 D.标识部 3、COBOL程序中如果有环境部的话,应置于:(C ) A.过程部之后标识部之前。 B.标识部之后过程部之前。 C.标识部之后数据部之前。 D.数据部之后过程部之前。 4、标识部中不可缺少的段名是:(A ) A.PROGRAM-ID B.AUTHOR C.FILE SECTION D.PROGRAM 5、COBOL程序中一般变量在哪里定义?(D ) A.标识部 B.环境部 C.数据部的FILE SECTION D.数据部的WORKING-STORAGE SECTION 6、下列关于过程部的说法正确的是:(C ) A.过程部中可以不定义节但是必须定义段 B.过程部中可以不定义段但是必须定义节 C.过程部中可以不定义节和段,节和段是根据需要定义的 D.所有程序都是在过程部中以STOP RUN来结束的 7、下面是COBOL合法数据名的是:(ABD ) A.W ANG B.TAN-1 C.12345 D.END-OF E.PROGRAM F.GROSS-$ G.SECTION 8、关系运算符的优先顺序正确的是(A ) A.NOT > AND > OR B.OR> NOT > AND C.AND > NOT > OR D.NOT > OR > AND 9、下记语句表示A/B=>C的是(B ) A.DIV A INTO B GIVING C. B.DIV A BY B GIVING C 10、下记哪些方法可以显示出…ABCD?六个字符(A,C ) A. PIC X(6) VALUE "'ABCD'". 说明:V ALUE后依次为空格双引号单引号ABCD单引号双引号 B. PIC X(6) V ALUE ''ABCD''.说明:V ALUE后依次为空格单引号单引号ABCD单引号单引号 C. QUOTE ?ABCD? QUOTE 11、COBOL对文件的操作以为单位的(B ) A.整个文件 B.记录 C.字段

实验五COBOL程序的编译与运行

实验五 COBOL程序的编译与运行 实验所属系列:操作系统高级试验 实验对象:本科 相关课程及专业:大型机系统管理,计算机专业 实验类型:课程设计 实验时数: 2 ●实验目的 熟悉PCOM及ISPF环境;熟悉在大机系统编译连接与运行基本COBOL 程序的方法。 ●实验内容与要求 1.首先使用由老师分配的IBM的主机用户名和密码登陆大型机 2.建立相应数据集: 1)建立分区数据集<用户名>.E,根据下图初始化数据集的参数,该参 数只是参考,需要根据系统实际或者指导老师要求进行调整。 2)用同样方法建立分区数据集<用户名>.

3)建立名为<用户名>.的数据集,参数Record format改为U。 3.在数据集<用户名>.E中建立一个member,并输入一下COBOL程序: 4.输入编译JCL程序,并编译源程序为目标文件 1)在<用户名>.中建立名为CTEST1的MEMBER,然后在其中输入如 下JCL程序: 注意,程序中的斜体部分应该换成实验者的用户名。 2)然后输入SUB提交该JCL程序,返回值如果不是0,请检查JCL程 序是否有错。若有错,修改后重新提交。输出结果可以在SDSF的H 里面看见。 5.输入运行的JCL程序,并运行编译结果 1)在<用户名>.中建立名为CTEST1的MEMBER,然后在其中输入如 下JCL程序:

注意,程序中的斜体部分应该换成实验者的用户名。 2)然后输入SUB提交该JCL程序,返回值如果不是0,请检查JCL程 序是否有错。若有错,修改后重新提交。输出结果可以在SDSF的H 里面看见。如果输出不是想要的结果,请检查COBOL源程序。 6.控制台方式运行编译程序 1)在ISPF首页选6,输入如下命令: allocate fi(sysout) fi(sysin) da('*') 并运行。该命令的目的是定义标准输出和输入。 2)进入<用户名>.数据集,在名为TEST1的MEMBER前输入CALL后 回车。即可以在屏幕上看见运行结果。 实验思考 1.为什么数据集<用户名>.的参数Record format要设为U?

VSAM文件笔记

要在COBOL中使用文件,要在3个不同的部中放上信息。 环境部,要有程序使用的每个文件的文件控制项目(FILE-CONTROL)。这个项目将程序中使用的文件名与程序外的实际文件联系起来。这些项目还定义文件的组织和访问方式。 数据部,要有每个文件的文件描述符(FD)项目,就是数据定义。 过程部,放上处理语句,OPEN,READ,WRITE,DELETE等。 环境部中主要是FILE-CONTROL和I-O-CONTROL.I-O-CONTROL很少使用。 SELECT[OPTIONAL]file-name ASSIGN TO DEV/FILE [RESERVE N[AREA/AREAS]] [FILE STATUS IS VAR] SELECT必须是第一句,其他顺序无关。file-name是程序中传递使用的文件名,相当于实际文件的一个别名。OPTIONAL用于执行可能不存在的文件。 ASSIGN将file-name连接到实际的外部设备或文件。(TO好像可以省略。)RESERVE指定文件缓冲区。 FILE STATUS指定一个变量存放文件状态,这个变量应该已在WORKING-STORAGE SECTION中定义。 对于顺序文件,还有声明如下: [ORGANIZATION IS SEQUENTIAL]可选,缺省为顺序组织文件 [ACCESS MODE IS SEQUENTIAL]可选。顺序文件只允许顺序访问[PADDING CHARACTER IS char]指定文件在固定块长设备上时键块所用的字符,char为一个字符的数据项。 [RECORD DELIMITER IS STANDARD/usr-define]指定如何确定变长纪录的长度。 顺序文件例子: SELECT file-name ASSIGN TO"/usr/file1" FILE STATUS IS file-status 对于相对文件,还有声明如下: [ORGANIZATION IS RELATIVE]是相对文件必须的 [ACCESS MODE IS SEQUENTIAL[RELATIVE KEY IS data]]或者 [ACCESS MODE IS RANDOM/DYNAMIC RELATIVE KEY IS data] 访问方式有3种,缺省是SEQUENTIAL。 RELATIVE KEY可选。如果存在,则文件读取操作顺利完成后,data用所读取纪录的关键字更新。data应为文件的纪录区中没有的整数数据项。 相对文件的例子: SELECT file-name ASSIGN TO"/usr/file2" ORGANIZATION IS RELATIVE ACCESS MODE IS DYNAMIC RELATIVE KEY IS DAY-NUMBER FILE STATUS IS file-status 对于索引文件,还有声明如下: [ORGANIZATION IS INDEXED]是索引文件必须的 [ACCESS MODE IS SEQUENTIAL/RANDOM/DYNAMIC]RECORD KEY IS data1

CL基本命令系统操作

400操作入门 CL基本命令系统操作 常使用的指令(AS/400 指令均是从英文单字取 3 个字, 如 Work with Active Job ==> WRKACTJOB) 1. WRKACTJOB(整个系统) WRKJOB(单一工作) 检示系统目前的使用状态有那些 Jobs 正在运行 , CPU 使用情形及更改 Jobs 属性(运行等级先后次序), 回操作或程序错误讯息, 检示单一Job 的运行状态,亦可终止 JOB运行(End Job). 2. WRKWTR STRPRTWTR ENDWTR 打印机管理 (Wrok with Writer) 打印机激活 (Start Printer Writer) 打印机终止 (End Writer) 3. WRKSYSSTS (Work with System Status) 检示系统资源 RAM 目前的使用状态.可动态调整资源的分配以取得系统运行最佳化. 4. WRKSPLF (Work with Spooled File) 报表指定打印印表机, ⒋? 删除. 5. WRKJOBSCDE (Work with Job Schedule Entery) 设定工作排程时间 6. Go Power 设定开关机时间 7. SAVLIB (Save Library) SAVOBJ(Save Object) 储存程序馆 --> RSTLIB : 回复程序馆 储存对象 --> RSTOBJ : 回复对象 8. WRKCFGSTS *LIN (线路) (Work with Configuration Status)

WRKCFGSTS *CTL (控制器) WRKCFGSTS *DEV (工作站) 检示及管理激活或终止通信线路使用情形 , 且会自动带出远程控制器及工作站使用情形. Status 状态 Vary on pending 等待联机 Varied On 已联机系统处理中 Active 正常作业中 Varied Off 切断联机 , 此时无法联机 , 需要将线路(Line),控制器(Controller),工作站(Device)设定至 Vary on pending 才可以联机. 在将显示(Display)工作站 Varied Off 前 , 先从画面检视该工作站是否仍有 残存 Job 挂在该工作站 , 若有则需将 Job 强迫结束 (ENDJOB) ,否则无法将 工作站 (Device) 及及控制器 (Controller) Varied Off. 显示(Display)工作站在被 Varied on 后 , 状态会由 Varied off --> Vary on pending , 此时若该显示(Display)工作站有开机, 状态会由 Vary on pending --> Signondisplay, 若 User 输入 ID 及 Password , 系统会以该显示(Display)工作站名称产生Job, 状态会由 Signondisplay--> Active. 在将印表机(Printer)工作站 Varied Off 前 , 先从画面检视该工作站是否仍 有 Writer 挂在该工作站 , 若有则需将 Writer 强迫结束(ENDWTR) ,否则无法将工作站 (Device) 及控制器 (Controller) Varied Off.印表机(Printer)工作站被 Varied on 后 , 状态会由 Varied off --> Vary on pending ,此时若该印表机(Printer)工作站有开机, 状态会由 Vary on pending --> Varied On , 待激活印表机(STRPRTWTR)后 ,系统会以该印表机(Printer)工作站名称于 QSPL 子系统下产生印表机(Printer)工作站 Job , 状态会由 Varied on --> Active. 9. STRPDM 激活 AS/400 程序开发工具 WRKLIBPDM 针对整个链接库所有对象 WRKOBJPDM 针对链接库之单一对象 WRKMBRPDM 针对档案数据成员 以上功能均可对对象(档案)作建立, 复制, 搬移, 删除 10. CPYF(Copy File) 拷贝档案数据成员, 可新增或取代记录 11. WRKMSGQ (*QSYSOPR) (Work with Message Queue)

cobol学习笔记

cobol学习笔记(1) COBOL入門 COBOLとは? 2010/06/29 16:35 COBOL面向商业的通用语言 (Common business Oriented Language) コボル ? 1960.04 CODASYL-60 ? 1968. ANSI COBOL(COBOL68)第1次規格 ? COBOL74 第2次規格 ? COBOL85 第3次規格 ? COBOL2002 第4次規格 COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写,主要供数据处理、数据收集及分析之用。COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域)。事实上,除了商业之外,各种管理工作都广泛使用COBOL,如各种统计工作,财会工作,企业计划编制,作业制度,情报检索,人事管理等。COBOL针对商业世界的使用,是真正商用应用程序开发的首选语言。 1.适于数据处理领域。 2.采用英语语法的高级语言,可读性、可维护性、可移植性较强。 3.通用性强,标准化程度较高。 4.结构严谨,层次分明。 5.缺点是比较繁琐。 cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*” 注释符(注释当前行的代码) b “/“ 注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用) c “-“ 字符串连接符 d “D” DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注释行效果一样) 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 cobol学习笔记(2)COBOL的程序结构 IDENTIFICATION DIVISION 标识部見出し部 2010/06/29 20:44 COBOL程序由4部(DIVISION)组成:IDENTIFICATION DIVISION.(标识部)、ENVIRONMENT DIVISION.(环境部)、DATA DIVISION.(数据部)、PROCEDURE DIVISION.(过程部),而每个部又由若干节 (SECTION)组成。

8.2.7 包含有输入输出处理过程的SORT语句排序[共3页]

142 第8章 数据的排序与合并COBOL * PROCEDURE DIVISION. SORT SORT-PROC-FILE ON ASCENDING KEY S-KEY USING IN-FILE OUTPUT PROCEDURE IS SORT-OUTPUT-PROC. /*此处指明输出处理过程*/ STOP RUN. * SORT-OUTPUT-PROC. RETURN SORT-PROC-FILE AT END SET END-OF-RECORDS TO TRUE. PERFORM UNTIL END-OF-RECORDS DISPLAY 'SORTED-REC :' SORT-PROC-REC RETURN SORT-PROC-FILE AT END SET END-OF-RECORDS TO TRUE END-PERFORM. 关于排序中的输出处理过程,还有以下几点需要注意。 在排序输出处理过程中,至少需要包含一条RETURN 语句。RETURN 语句使每一条排序后的记录能够被输出处理过程所使用。RETURN 语句作用于排序中间文件,就好比READ 语句作用于输入文件。 可以使用RETURN INTO 语句替代RETURN 语句。当使用RETURN INTO 语句时,记录将返回到工作存储节或一块用于输出的区域。 在RETURN 语句中,可以使用A T END 或者END-RETURN 短语指明返回结束后的操作。其中A T END 短语表示在所有记录RETURN 完毕后执行其后的操作。END-RETURN 短语则相当于一个强制终止符,此处直接结束RETURN ,并执行其后的操作。 8.2.7 包含有输入输出处理过程的SORT 语句排序 前面分别介绍了排序中的输入输出处理是如何编写的。此处将把这两种处理过程综合应用到使用SORT 语句进行的排序之中。通过综合应用,加深对以上两种处理过程的掌握,同时巩固并扩充应用数据排序的能力。 下面结合一个具体实例进行讲解。仍然以此前的员工信息文件为例,此处在原由的基础上,新增一个员工状态的数据项。假设新的员工信息文件内容如下。 1235 ZHU BO WU HAN 430074 A 1024 WU GUO JUN BEI JING 100085 A 1346 ZHANG XIANG S HEN ZHEN 518057 N 1005 XIE FEI WU HAN 430023 A 1253 XIE FEI WU HAN 430022 A 1028 ZHENG GANG BEI JING 100085 N 1204 ZOU LI QIANG SHANG HAI 201620 A 1536 LING CHEN BEI JING 100080 N 1791 TIAN BO SHANG HAI 201821 N 本例要求仅对员工状态信息为“A ”的员工记录数据进行排序。同时,在排序完成后,要求将所有的员工姓名转换为用小写字母表示,最后再写入排序输出文件中。排序要求以员工姓名作为第一关键字,员工工号作为第二关键字,全部用升序排列。实现以上功能的完整

Cobol基本语法总结

コボル基本語法 一、COBOL基本語法 compla項目使用的Cobol是Micro Focus 公司生产的Cobol,采用在HP-UNIX上运行。 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用) c “-“字符串连接符 d “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注 释行效果一样) 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构(几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明,本项目只保留程序名 (PROGRAM-ID)一项。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). ③.设置debug模式(SOURCE-COMPUTE H9000V WITH DEBUGGING MODE) ④. 指定读环境变量设置. SPECIAL-NAMES. ENVIRONMENT-VALUE IS CNS-ENV-PARM ENVIRONMENT-NAME IS CNS-ENV-NAME. b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法一:(写死文件路径) SELECT FILE-LOG ASSIGN "/usr3/WSI/commonlog/WSI1101.log" ORGANIZATION IS LINE SEQUENTIAL. 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 方法三:(环境变量中动态指定文件)

cobol 知识点集锦

cobol 知识点集锦 COBOL数据类型 计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联 机程序和联机计息程序是用IBM 370汇编语言实现的。为方便汇编语言读写,在VSAM文 件存储的数据中,数据存放格式进行了特殊的定义。如日期存放采用X(3)型,01年03月15日,存入EBCD码为X‘010315’。在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。而采用COBOL语言读取X(3)型数据时,读出的是字符型数据,不能直接进行运算,必须转换为COBOL数据类型的数据后才能进行相应处理。 如刚才的X‘010315’,需要转换为内部十进制数据X‘0010315C’。本文介绍一种用COBOL语言实现字符型X(3)与内部十进制数据相互转换的方法。 由X(3)型转换为内部十进制 由于日期数据总是大于零,在COBOL语言的工作单元节定义变量DATE-FIRST后,再追加 定义COBOL语言的最小数据单元X‘000C’,即十进制12。由于重定义DATE-CASE为DATE-CHANGE后,DATE-CHANGE是原日期数据的1000倍,于是要在过程部将DATE-CHANGE除以1000。 首先,在COBOL程序WORKING-STORAGE SECTION. 中定义如下内容: WORKING-STORAGE SECTION. 01 DATE-CASE. 02 DATE-FIRST PIC X(3). 02 DATE-SIGN PIC 9(4) COMP VALUE 12.;定点二进制数 01 DATE-CHANGE REDEFINES DATE-CASE PIC 9(9) COMP-3. ;内部十进制数据 01 DATE-HEX PIC X(3). ;转换前数据 01 DATE-DEC PIC S9(7)COMP-3 . ;转换后数据 然后,在过程部PROCEDURE DEVISION.中加入如下语句: PROCEDURE DEVISION. MOVE DATE-HEX TO DATE-FIRST . COMPUTE DATE-CHANGE = DATE- CHANGE / 1000.

相关主题
文本预览
相关文档 最新文档