cobol考前知识点 (1)
COBOL学习基础教程 01

COBOL 概述1.COBOL语言的发展概述COBOL是Common Business Oriented Language(商业通用语言)的缩写。
实际上,COBOL不仅是商业数据处理的理想语言,而且广泛应用于数据管理领域,如财会工作,统计报表,计划编制,情报搜索,人事管理等。
因此COBOL也被称为“用于管理的语言“。
在计算机的应用领域中,数据处理(data processing)是应用最为广泛的一个领域。
数据处理的日益广泛应用要求人们设计出能满足实际数据处理工作中各种要求的一种计算机语言。
COBOL就是在这种形势下应运而生的。
1959年COBOL-611965年COBOL-651978年COBOL-781985年COBOL-852.COBOL语言的特点①最适于数据处理领域。
所谓数据处理是指对大量数据的收集,统计,分类和加工。
例如企业管理,库存管理,报表统计,账目管理,信息情报检索等方面都属于数据处理。
数据处理的特点是:算术计算量小而逻辑处理多;输入输出多;数据间存在着一定的逻辑关系;大量的分类排序;对打印报表要求比较高,多样化等等。
②COBOL比较接近于自然语言(英语)。
COBOL程序看起来很像一篇用英语写出来的文章。
比如 ADD A TO B 表示 A + B = B 。
COBOL采用大量英文词汇和句型,学过英语的人看COBOL程序感到通俗易懂。
③通用性强,由于COBOL语言的标准化程度较高。
一个计算机上的COBOL程序向另一计算机系统上移植是比较容易实现的。
④COBOL的结构严谨,层次分明。
每个程序分四大部分(称为部 DIVISION),每个部下面分为若干节,每个节下面分为若干段。
每一部分都有固定的程式。
⑤COBOL的缺点是比较繁琐。
无论程序大小简繁,四大部分都要写齐,对每个部进行必要的定义和说明。
因此源程序显得比较冗长。
3.COBOL程序的结构①部IDENTIFICATION DIVISION(标识部) : 主要用来指定源程序的名字,也可以写入其他做备忘的某些信息。
COBOL基础知识

COBOLChapter 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 ---678 12---7273---80IDENTIFICATION 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字符集包括:数字0 --- 9 ,字母 A--- Z ,a --- z , 专用字符:+ - * / = , . ; ‘ ( ) < > $ 及空格。
COBOL语言知识点

COBOL语言知识点1.DATA ITEM NAMING RULES:长度为30个字节;字符包括A-Z,a-z,0-9和‘-’;横线不能出现在第一个或最后一个;COBOL 关键字用;至少包含一个字符。
2.DATA STRUCTER LEVEL NUMBER77定义一个独立的变量66重命名88定义条件名3.DATA TYPEAlphabetic, Alphanumeric, Alphanumeric-edited, Numeric, Numeric-edited/doc/b911681650.html,P-1,COMP-2,COMP-3,COMP,COMP-5COMP-1:指定内部浮点项目(双精度),8个字节长COMP-2:指定内部浮点项目(单精度),4个字节长COMP-3:压缩十进制(1个字节有两位)COMP-4(COMP):二进制存储COMP-3是IBM Mainframe特有,特意将一下:COMP-3 数据类型同样以二进制的形式保存在文件中,其占位数计算方法如下:占位数 =[ 定义长度 /2+1] [] 表示整COMP-3 数据在文件中存储形式如下例:例如:定义形式 -- 9(4) COMP-3, 占位数 =[ 定义长度 /2+1]=3 赋值: 1521 存储结果: 01 52 1F(F表示正数)赋值: 0 存储结果: 00 00 0F COMP-3 带有符号位时,赋值为正时,最后半个字节为 16 进制 C ;赋值为负时,最后半个字节为 16 进制D例如:定义形式 -- S9(4) COMP-3, 占位数 =[ 定义长度 /2+1]=3 赋值: -1521 存储结果: 01 52 1D (D 表示负数 )赋值: 1521 存储结果: 01 52 1C注意:当 COMP-3 的数据定义无 S ,赋予负值时,最后半个字节仍为 F ,即无法显示负数5.COBOL中常量ZERO(ZEROS,ZEROES):数字令或者字符“0”SPACE(SPACES):空格HIG-VALUE(HIGH-VALUES):将对应的二进制码全部置为1LOW-VALUE(LOW-VALUES):将对应的二进制码全部署为0QUOTO(QUOTOS):引号ALL:相应字符连接而成的字符串6.Arithmetic FunctionFUNCTION SUM(17,21,4.5,-6):计算总和FUNCTION SQRT(11):开平方FUNCTION INTEGER(4.5):取整FUNCTION INTEGER-PART(4.5):四舍五入7.Alphabetic FunctionFUNCTION CHAR(65):ACISS码转换FUNCTION LENGTH('KKKKK'):判断字符长度FUNCTION NUMVAL('+109'):字符转换成数字FUNCTION REVERSE('ABCD'):逆序排列FUNCTION ORD('A'):ACISS码转换8.Range FunctionsFUNCTION MAX(-21,15,2.4):选取最大值FUNCTION MIN(-21,15,2.4):选最小值FUNCTION ORD-MAX:最大值的位置FUNCTION ORD-MIN:最小值的位置FUNCTION RANGE1、COBOL简介COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写。
COBOL知识点

COBOL知识点写在前面:本知识点总结为本人根据一本图书馆借来的书总结出来本专业本外教课最终有可能考到的知识点,考试为英文卷子,本总结为中文。
其中带星号的可当课外知识记,是那本书中为学到的知识点中较简单的部分,应该不会考到。
且本总结不是考试范围,只是帮助大家理解COBOL这门语言。
一、通用部分:1、所有程序都要先写标志部:“IDENTIFICATION DIVISION. PROGRAM-ID.程序员的代号等”。
(*) 2、“AUTHOR”用于知名开发该程序的程序员名;“INSTALLATION”通常用于说明设计该程序的公司或部门;“DATE-WRITTEN”指明程序编写或修改的日期;“DATE-COMPILED”指明程序编译的日期;“SECURITY”通常用于列出具有访问该程序权限的用户。
二、环境部:ENVIRONMENT DIVISION.(注:如果该部分没有任何内容,是可以省略不写的)(*) 1、环境部中的配置节及其字段:ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. (指示编译程序的计算机)OBJECT-COMPUTER. (描述运行程序的计算机)SPECTAL-NAMES.(指定货币符号选择小数点、提供开关名和定义字母表)2、环境部中的输入/输出节:主要是将程序中的逻辑文件同环境中的物理文件想对应起来,由“INPUT-OUTPUT SECTION”标识。
输入/输出节包含两个字段:“FILE-CONTROL”(用于指定的对应关系,是该节中主要用到的字段);“I-O-CONTROL”(用于定义程序返回点,不同文件共享的内存区,以及多文件卷中文件的位置)。
FILE-CONTROL的例子:DENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROLSELECT CUSTOMER-FILEASSIGN TO S-SYSIN.SELECT PRINT-FILEASSION TO S-SYSOUT.对于例子中蓝色字的解释:其通过SELECT语句指定了两条文件对应关系。
COBOL经典讲义

COBOL语言的发展概述• COBOL是Common Business Oriented Language(商业通用语言)的缩写。
• COBOL不仅是商业数据处理的理想语言,而且广泛应用于数据管理领域,因此COBOL也被称为“用于管理的语言”。
• 在计算机的应用领域中,数据处理(data processing)是应用最为广泛的一个领域。
数据处理的日益广泛应用要求人们设计出能满足实际数据处理工作中各种要求的一种计算机语言。
COBOL就是在这种形势下应运而生的。
COBOL语言的特点• 最适于数据处理领域。
• COBOL比较接近于自然语言(英语)。
• 通用性强。
• COBOL的结构严谨,层次分明。
• COBOL的缺点是比较繁琐。
COBOL程序的结构• COBOL源程序的结构• 标识部 环境部 数据部 过程部段 段 段 节 节 节 节 节 节 节 节 节 段 …… 描述体 …… 段 ……句子 …… 句子 …… 语句 ……动词 ……COBOL的四部标识部(IDENTIFICATION DIVISION)主要用来指定源程序名字,也可以写入其它用作备忘的某些信息(如日期、作者等)。
环境部 (ENVIRONMENT DIVISION)指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与某一外部设备联系起来。
数据部(DATA DIVISION)程序中所用到的全部变量都应在数据部中说明它们的类型和所占的内存。
过程部(PROCEDURE DIVISION)编写相应的程序语句来实现源程序需要实现的相应功能。
COBOL源程序的书写格式• ANSI书写格式标号区续行区 A 区 B 区(正文区)注释1 6 7 8 11 12 72 73 80• 终端格式• COBOL字符和COBOL字• COBOL字符 COBOL字• 系统字符集保留字• COBOL字符集例如:DIVISION,SECTION • 包括以下字符:用户字(非保留字)・数字:0〜9・大写字母:A〜Z・小写字母:a〜z・ 专用字符: + ,-,*,/等数据名的命名规则• 每个数据名的长度为1〜30个字符之间。
COBOL 知识点集锦(上)

COBOL知识点集锦(上)cobol知识点集锦COBOL数据类型计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。
目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联机程序和联机计息程序是用IBM370汇编语言实现的。
为方便汇编语言读写,在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.01DATE-CASE.02DATE-FIRST PIC X(3).02DATE-SIGN PIC9(4)COMP VALUE12.;定点二进制数01DATE-CHANGE REDEFINES DATE-CASE PIC9(9)COMP-3.;内部十进制数据01DATE-HEX PIC X(3).;转换前数据01DATE-DEC PIC S9(7)COMP-3.;转换后数据然后,在过程部PROCEDURE DEVISION.中加入如下语句:PROCEDURE DEVISION.MOVE DATE-HEX TO DATE-FIRST.COMPUTE DATE-CHANGE=DATE-CHANGE/1000.MOVE DATE-CHANGE TO DATE-DEC.由内部十进制转换为X(3)型在进行相反的转换时,要消除因COBOL语言数据类型标志“C”引起的原日期数据前多加的一个0,所以需要将转换数据乘以10,再取出前6位数据即可。
cobol常用知识

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 层号014、第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-PARMENVIRONMENT-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-FILEORGANIZATION IS LINE SEQUENTIAL.在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。
cobol笔记

.编码格式•第1~6列为序号区,用于表示行号。
行号不是必须的,也不必是顺序的,甚至可以是本机字符集中的任意字符,但正确的行号是很重要的。
•第7列为指示区,可以包含如下指示符:"*"指示本行内容为注释。
"-"指示本行代码为上一行的延续。
"D"指示本行代码为调试代码,将在启用DEBUGGING模式时被编译,未启用时将被忽略。
"/"指示编译器为源码列表开始新的一页,并且本行将被视为注释。
•第8~11列为A区。
下列项必须从A区开始:部标题(DIVISION)节标题(SECTION)段名(段标题)层指示符FD和SD,层号01和77DECLARATIVES 和END DECLARATIVESEND PROGRAM•第12~72列为B区。
作为程序主体的条目(entries),句子(sentences),语句(statements),从句(clauses)和续行(/)等都必须从B区开始。
*句法说明:节(SECTIONs)和段(paragraphs)定义了程序,它们又细分为以下部分:条目(entries):以句点(.)结尾的一系列从句。
构造于标识部、环境部和数据部。
从句(clauses):连续的COBOL字符串的有序集合,用于指定条目的某个属性。
构造于标识部、环境部和数据部。
句子(sentences):以句点(.)结尾的一个或多个语句的序列。
构造于过程部。
语句(statements):指定程序要执行的某个动作。
构造于过程部。
短语(phrases):构成从句和语句的更小单元。
2.基本结构----|----1----|----2----|----3----|----4----|----5----|----6----|----7----|----8//标识部000001 IDENTIFICATION DIVISION.000002 PROGRAM-ID. PGMNAME. //指定本程序名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
U11.COBOL是Common Business Oriented Language (通用商业语言)2. COBOL的组成部分:(1)标识部(IDENTIFICATION DIVISION):用于标识程序名(一般不超过8位)。
在标识部下面不设节.直接设段(2)环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。
(3)数据部(DATA DIVISION):用于说明程序中涉及的所有数据。
数据部下设节,节下面是描述体(4)过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。
过程部可以设节,下面再设段,也可以直接设段(部-节-段-句子-语句-子句)3.COBOL 源程序的书写格式:第1 至6 列为―标号区‖。
第7列为―续行标志区‖。
第8至此11列,称为―A区‖。
程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。
第12至此72列,称为―B区‖。
写程序中的正文部分。
如过程部中的句子只能从B 区开始写。
第73至80列,称为―注释区‖。
书写注意事项:运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。
在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。
逗号、句号、分号的左边不能留空格,而右边应有空格。
4.COBOL语言的元素―#‖―!‖―?‖―%‖只能在COBOL程序中的字符串中出现。
每一个COBOL字不能超过30个字符。
5.数据名的定名规则(1)每个数据名的长度为1-30个字符之间。
(2)只能由字母数字和连接符―-‖组成,而且其中至少应有一个字母。
连接符只能出现在数据名的中间。
(3)数据名中不能出现空格。
(4)不应选择COBOL的保留字作为数据名。
(5)并不要求数据名是有意义的英文字。
6.COBOL程序的运行JCLU21.标识部(1)必写部分IDENTIFICATION DIVISION. (标识部)PROGRAM-ID. 程序名. (程序标识段)程序名不超过30个字符。
(2)任选部分[AUTHOR. 作者姓名.][INSTALLATION. 计算机设置的场所.][DATE-WRITTEN. 源程序编写的日期.][DATE-COMPILED. 源程序编译的日期.][SECURITY. 保密程度.]2.环境部(1)配置节(CONFIGURATION SECTION)包括三段:源计算机段(编译源程序时使用的计算机)、目标计算机段(经过编译后所得到的目标程序运行时所使用的计算机)、专用名段格式:CONFIGURATION SECTION. (配置节)SOURCE-COMPUTER. 源计算机名OBJECT-COMPUTER. 目标计算机名[MEMORY SIZE IS 整数{WORDS/CHARACTERS/MODULES}]SPECIAL-NAMES. 专用名描述项[专用名IS 助记名.](2)输入输出节分为输入输出控制段与文件控制段。
输入输出控制段作用是可以指定目标程序运行时,几个文件共用一个内存区。
文件控制段是为内部文件分配外部文件。
文件控制段格式:INPUT-OUTPUT SECTION. (输入输出节)FILE-CONTROL. (文件控制段)SELECT 内部文件名ASSIGN TO 外部文件名.3.说明:SELECT的三种用法(1)在SELECT子句的―ASSIGN TO‖的后面写上磁盘上实际的文件名。
Select file1 assign to c:cob.file1.dat(2)在SELECT子句中只指出外部设备名,在数据部的文件节中FD描述体中用V ALUE OF子句来指出实际文件名。
Select file1 assign to disk.value of file-id ―c:cob.file1.dat‖.( 数据部的文件节中)(3)在大型计算机系统,在SELECT子句中用该系统指定的逻辑名作为外部文件名,然后用作业控制语句将该逻辑名与实际的设备和文件相联系。
U31.数据部层次(1)用来描述数据层次结构的层号从01开始,到49。
记录的最高层次定为01号。
(2)数据的层次结构:记录- 组合项- 初等项(3)层号小的组合项包含层号大的数据项(组合项或初等项)。
(4)层号:从01~49层用列描述具有层次机构的数据项,77层用来描述独立的数据项,66和88是特殊层2.数据部的结构(1)文件节(FILE SECTION)用来描述程序中用到的输入文件和输出文件及其记录中各数据项的属性。
(2)工作单元节(WORKING-STORAGE SECTION)用来描述程序中用到的中间数据项。
(3)联接节(LINKAGE SECTION)用来描述与调用程序间发生数据传递的数据项。
(4)报表节(REPORT SECTION)为了完成报表编制功能,此节用来规定欲输出的报表的―体裁―,设计各报表栏的打印形式和方法等3.文件节(1)文件描述格式:FD 文件名LABLE RECORD IS STANDARDRECORDS ARE OMITTEDDATA RECORD IS 记录名RECORDS ARE 记录名1,记录名2.(2)记录描述记录描述体由01层号开头,后跟记录名。
如果记录下面不再分项,即记录本身就是一个初等项,则这种描述体最简单。
(3)文件节的书写格式:FD从A区开始书写,01层号也从A区开始,其它层号可以从A区也可以从B区开始。
为了看起来层次分明,最好从B区开始。
4.数据描述符―9‖―V‖―S‖编辑型描述符―.‖―,‖―B‖(空格)―Z‖ ―*‖(在高位零的位置上代以空格或‗*‘)― +‖―–‖(描述符‗+‘,一律加符号。
描述符‗-‘只对负值加负号)― $‖5.工作单元节(WORKING-STORAGE SECTION)(1)非输入输出的数据就应在工作单元节中描述。
(2)在工作单元节中描述的数据项也有有两种形式:一种是孤立的数据项,它们是初等项。
一种是组合项。
COBOL规定,孤立的数据项的描述体以层号77开头,组合项描述体以01到49之间的一个数作层号。
在次序上常先写77层,再写01-49层。
6.V ALUE子句:用于给变量赋初值。
如:02 A PIC 9(3)V ALUE 123。
注意:(1)只有对工作单元节中的数据项才能赋初值,不能对文件节中输入输出文件中的数据项赋初值。
(2)如果在组合项的描述体中使用V ALUE,初值只能是表意常量或非数值型常量。
对组合项整体而言,一律按字符型数据项处理。
02 A V ALUE ‗123456‘.03 A1 PIC 99. (12)03 A2 PIC 99. (34)03 A3 PIC 99. (56)是可以的,并且A1,A2,A3可以进行运算。
但如果02 A V ALUE 123456. 则是错误的。
(3)当用一个带符号的数值作初值时,相应的PIC子句中应有‗S‘描述符,否则符号无效。
77 D PIC S99 V ALUE -21.(4)赋初值时应该注意类型的一致性。
77 D PIC X(4) V ALUE 1.22 (错误)(5)V ALUE子句给出的值应适合PIC子句的描述范围,否则会出现截断或产生错误。
7.用法子句(USAGE子句)作用:可以使程序设计者自由选择数据在内存中的存放形式。
格式:[USAGE IS] DISPLAY/COMPUTATIONAL/COMP说明:DISPLAY (标准数据形式,一个字节放一个字符)COMPUTATIONAL (定点二进制形式)/COMPCOMPUTATIONAL-1 (内部短浮点形式)/COMP-1COMPUTATIONAL-2 (内部长浮点形式)/COMP-2COMPUTATIONAL-3 (内部十进制形式)/COMP-3如省略USAGE子句,则隐含表示为用DISPLAY形式。
注意:(1)字符型、字母型、编辑型、外部十进制、外部浮点数形式的数据项必须为USAGE DISPLAY(一般均省略该子句)(2)USAGE子句指定的数据存储形式不能和PIC子句指定的数据类型矛盾。
(3)长、短浮点数形式自然确定了内存长度,不应用PIC子句•01 A1 COMP-1.•01 B1 COMP-2.8.符号子句(SIGN子句)(1)SIGN子句用来指定数值型数据描述体中运算符号的状态和位置(2)在没有SIGN子句时,数值的符号是存放在数据项最近最后一个字节•02 A PIC S9(3) USAGE DISPLAY SIGN IS LEADING. (缺省时默认)(3)指定符号单多占一个字节,用―SEPARATE ‖可选项(4)SIGN 子句的一般格式:注意:• 只能用于PIC 字符串中含有―S ‖的数值型描述体中 • 使用SIGN 子句的数据项用法应当是USAGE DIPLAY 。
而不能用于计算型的数据项用SEPARATE 可选项时,内存中增加了一个字节,用来放符号标志• 如果一个数据项的描述体中包含SIGN 子句,则数据项的值应包括正或者负的符号,否则会出错9.重定义子句(REDEFINES 子句)(1)共用内存中的同一段空间02 A PIC X(5).02 B REDEFINES A PIC 9(5).• 层号 数据名1 REDEFINES 数据名2(2)说明: 1.数据名2 与数据名1的层号必须相同。
2.用REDEFINES 子句的描述体应该紧跟在被重新定义的数据项的描述之后,中间不能插入其它项的描述说明。
3.可以多次重定义,但必须紧跟出现,而且要求使用最初定义的数据名。
4.REDEFINES 子句不能用于文件节的01层中。
5.用REDEFINES 子句可以改变数据结构,但数据名1、2的长度应该相等。
6.REDEFINES 子句应在其它子句之前。
7.重定义子句所在的数据描述体中不能使用初值子句赋初值。
.(3)组合项的重定义子句,如:• 02 A.• 03 A1 PIC 9(4).• 03 A2 PIC X(6). 共14字节• 03 A3 PIC X(4).[][]CHARACTER SEPARATE TRAILING LEADING IS SIGN ⎭⎬⎫⎩⎨⎧•02 B REDEFINES A.•03 B1 PIC X(5).•03 B2 PIC 9(6). 共14字节•03 B3 PIC 99V9.10.重命名子句(RENAMES子句)(1)将原来已定义的数据项重新组合成为一个新项,并以一个新名字来代表它。
(2)格式:66 数据名1 RENAMES 数据名2 [THRU 数据名3]01 A V ALUE '123456'.02 A1 PIC 9.02 A2 PIC 9.02 A3 PIC XX.02 A4 PIC 99.66 B RENAMES A1 THRU A3.结果A=123456B=1234(3)说明:(一)层号只能用66,它必须紧跟在01层记录中最后一个数据描述体之后,因为它是对记录中有关部分重新组合和命名的。