GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf
《GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf》由会员分享,可在线阅读,更多相关《GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf(23页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准程序设计语言索引模块发布实施国家技术监督局发布中华人民共和国国家标准程序设计语言索引模块代替国家技术监督局批准实施引言功能索引模块提供以随机方式或顺序方式存取海量存储文卷中记录的功能索引文卷中的每个记录是由记录里一个或多个键的值来唯一标识的级别特征级索引对文卷控制款文卷描述款及段中的各段提供局部功能在过程部中级索引对和语句提供局部功能而对语句提供了完整功能级索引对文卷控制款文卷描述款及段中的各款提供了完整功能在过程部中级索引对和语句提供了完整功能语言概述组织用索引方法组织的文卷是海量存储文卷通过给出指定的记录键值可以存取文卷中任一记录文卷的记录中定义的每个键数据项均与一个
2、索引相联系每个这种索引代表每个记录中相应键数据项的一组值因此每个索引是能够提供存取文卷中任一记录的机构每个索引文卷有一个主索引它代表文卷中每个记录的主记录键每个记录被插入到文卷中或被改变或从文卷中被删除完全依赖于主记录键的值文卷中每个记录的主记录键必须是唯一的而且在修改记录时不能被改变主记录键在该文卷的文卷控制款的子句中说明次记录键提供检索文卷记录的次路径这种键在文卷控制款的子句中被命名每个记录中特定的次记录键的值可以不唯一当这些值可能不唯一时必须在子句中使用短语指明存取方式对索引组织顺序存取的序是根据该文卷的对比序列的引用键值的递升次序在文卷处理期间与文卷相关联的任何键可以用作为引用键在具有
3、重复键引用值的一组记录里记录的检索次序是记录被写到该组记录里的次序语句可用来在索引文卷里为一系列后继顺序检索建立开始点当用随机方式存取文卷时输入输出语句以程序员指定的次序存取记录对于索引组织程序员通过把记录键的某一个值放入记录键或次记录键数据项来规定所要的记录对动态存取方式程序员使用输入输出语句的适当格式可以任意地由顺序存取方式改变成随机存取方式文卷位置指示符文卷位置指示符是在这个标准中为简化在某个输入输出操作期间从给定的文卷中存取下一个记录的确切说明而使用的一个概念实体置文卷位置指示符的值仅受和语句的影响文卷位置指示符的概念对用输出或扩充方式打开的文卷没有意义状态状态是一个两字符概念实体它的
4、值标志在或语句执行期间输入输出操作的状态并且标志与那个输入输出语句相关的任一命令语句执行之前或任一可应用的过程的执行以前输入输出操作的状态通过在相应文卷的文卷控制款中使用子句使得状态值对程序成为可用状态也用于决定一个可用的过程是否要执行如果出现的条件不是标题为成功的结束之下包含的那些条件则这样的过程可以依据别处指出的规则执行若出现的条件是在标题为成功的结束之下包含的那些条件则不执行这样的过程见语句某些状态值指出关键错误条件它们是以数字或和任何由实现者作为关键定义的以数字开始的错误条件若对应输入输出操作的状态值指出这样一个错误条件则由实现者确定在执行任何可用的过程之后所要采取的动作或者若没有可用
5、的过程时则实现者确定输入输出控制系统错误标准处理以后采取什么动作状态根据输入输出操作完成的情况表示下列条件之一成功的结束输入输出语句执行成功到末端由于末端条件引起顺序语句执行不成功无效键由于无效键条件引起输入输出语句执行不成功永久性错误由于一个错误引起输入输出语句执行不成功这个错误使文卷的处理不能继续进行执行指定的例外过程除非引用实现者定义的技术来改正永久性错误条件否则永久性错误条件对该文卷的所有以后的输入输出操作具有影响逻辑错误由于在文卷上执行了不正确的输入输出操作顺序或由于与用户定义的限制相冲突而引起的输入输出语句执行不成功实现者定义由于实现者指定的条件引起输入输出语句执行不成功下面给出值
6、表列出对应于在索引文卷上执行了输入输出操作且出现前面命名的条件时放入状态中的值若多于一个值可应用那么由实现者确定将哪个可应用的值放到状态中成功的结束状态输入输出语句成功地执行对有关输入输出操作没有进一步的信息可用状态输入输出语句成功地执行但重复键被查出对语句当前引用键的键值等于当前引用键里下个记录中相同键的值对或语句刚写的记录至少有一个允许重复的次记录键建立了一个重复键值状态语句成功地执行但正被处理的记录的长度与相应文卷的定长文卷属性不一致状态语句成功地执行但被引用的任选文卷在语句执行时并不存在如打开方式是或扩充方式则该文卷已被建立不成功结束的末端条件状态试图执行顺序的语句但由于下列原因文卷中
7、不存在下一个逻辑记录已经达到文卷的末端第一次对尚不存在的任选输入文卷试图执行顺序语句不成功结束的无效键条件状态对顺序存取的索引文卷存在一个顺序错误对于那个文卷在成功执行语句和执行下一个语句之间程序改变了主记录键的值或违反了相继记录键的值是递升顺序这个要求见语句状态企图写或重写索引文卷的记录将导致出现重复主记录键或没有短语时出现重复次记录键状态由于下述情况而出现这个条件企图随机存取文卷中不存在的记录企图对尚不存在的一个任选输入文卷执行或随机语句状态试图写到索引文卷外部确定的边界之外确定这些边界的方式由实现者指明不成功结束的永久性错误条件状态出现永久性错误并且没有和输入输出有关的进一步可用信息状态
8、因试图对尚不存在的非任选文卷执行具有或短语的语句而引起永久性错误发生状态因试图对一个并不支撑该语句中指定的打开方式的文卷执行语句引起永久性错误发生可能的违反是说明了或短语但文卷不支持写操作说明了短语但文卷不支持对索引文卷在以方式打开时所允许的输入和输出操作说明了短语但文卷不支持读操作状态由于试图对前面已经带锁关闭的文卷执行语句而引起永久性错误的发生状态由于在定长文卷属性与程序对那个文卷指明的属性之间检测到矛盾语句执行不成功不成功结束的逻辑错误条件状态试图对已处在打开方式的文卷执行语句状态试图对不处于打开方式的文卷执行语句状态在顺序存取方式中在或语句执行之前对文卷执行的最后一个输入输出语句不是一
9、个成功地执行的语句状态由于下述因素引起边界违反试图写或重写比相关文卷名的子句所允许的最长记录长或比最短记录短的记录在级中试图对一个索引文卷写或重写一个与被替代的记录长度不同的记录状态试图对以输入或方式打开的文卷执行顺序语句而且由于下述原因未建立有效的下个记录先前的语句执行不成功先前的语句执行不成功但未引起末端条件先前的语句引起了末端条件状态试图对不是以输入或方式打开的文卷执行或语句状态试图对不是以输出或扩展方式打开的文卷执行语句状态试图对不是以方式打开的文卷执行或语句实现者定义的不成功结束条件状态存在由实现者定义的条件这个条件不能与状态值到的任何一个条件重复的值由实现者定义无效键条件或语句执行
10、后可能出现无效键条件当无效键条件出现时识别出该条件的输入输出语句的执行是不成功的而且文卷不受影响见语句语句语句语句和语句在输入输出语句中指明的输入输出操作执行以后若出现无效键条件则发生下列次序的动作与该语句相关联的文卷联接符的状态被置为标志无效键条件的值见状态若输入输出语句中指明了短语则不执行与该文卷连接符相关联的过程而控制转向短语中说明的命令语句然后按照那个命令语句中指明的每个语句的规则继续执行若执行显式引起控制转移的过程分支或条件语句则按照那个语句的相应规则转移否则在短语中说明的命令语句执行完成后控制转向输入输出语句的结束处并且忽略短语若已指明的话若在输入输出语句中未指明短语则过程必须与该
11、文卷连接符相关联而且执行该过程然后按照语句的规则转移控制忽略短语若已指明的话见语句由输入输出语句指明的输入输出操作执行以后若无效键条件不出现那么短语被忽略若已指明的话与该语句相关联的文卷连接符的状态被修改而且执行下列动作若出现非无效键条件的例外条件则在与该文卷连接符相关联的任何过程执行以后按照语句的规则转移控制见语句若无例外条件出现则控制转向输入输出语句结束处或若指明短语时就转向由其说明的命令语句在后一种情况按照那个命令语句中说明的相应每个语句的规则继续执行若执行引起显式控制转移的过程分支或条件语句则按照那个语句相应规则转移否则在短语中说明的命令语句执行完后控制转到输入输出语句结束处末端条件执
12、行语句后末端条件可能发生见语句文卷属性冲突条件执行或语句可能产生文卷属性冲突条件当文卷属性冲突条件出现时识别出该条件的输入输出语句的执行是不成功的而且文卷不受影响见语句语句和语句当识别出文卷属性冲突条件时发生下列次序的动作在与该文卷名相关联的状态中放一个指示文卷属性冲突条件的值见状态执行与该文卷名相关联的过程若有的话索引模块的环境部输入输出节有关输入输出节的信息见顺序模块的中的说明段有关段的信息见顺序模块的中的说明文卷控制款功能文卷控制款说明索引文卷的有关物理属性一般格式文卷名实现名字值整数数据名数据名数据名语法规则在文卷控制款中必须首先指出子句跟在子句后的那些子句可以按任何次序出现在数据部中
13、描述的每个文卷必须作为段中的文卷名被指明一次且只能一次在子句中指出的每个文卷名必须在同一程序的数据部中有一个文卷描述款字值必须是一个非数值字值而且不能是象征常量关于实现名所允许的内容以及字值的值其含义和规则由实现者定义一般规则若由文卷名引用的文卷连接符是一个外部文卷连接符见中子句则运行单位中引用这文卷连接符的所有文卷控制款必须对短语有同样说明对子句中实现名或字值有一致性的说明实现者对实现名或字值指定一致规则对子句中整数有同样的值同样的组织同样的存取方式相关记录中具有同一相对位置的数据名有相同数据描述款数据名有相同数据描述款数据名在相关的记录中具有同一相对位置相同数量的次记录键和相同的短语外部媒
14、体上的数据项使用本源字符集对索引文卷假定对比序列与本源字符集和关联这是用于顺序处理文卷而引用的给定键值的序列短语仅应用于以输入或扩展方式打开的文卷对于目标程序每一次运行时并不都要用到的文卷来说该短语是需要的子句指出由文卷名所引用的文卷与由实现名或字值所引用的存储媒体之间的联系索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块的子句索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块子句与索引文卷的子句相关联的数据项的内容见状态子句子句子句和子句见下文子句功能子句指出在文卷中存取记录的次序一般格式语法规则对或语句的或短语中说明的文卷名不能指定子句一般规则如果未指出子句则假定
15、是顺序存取若存取方式是顺序的文卷中的记录按文卷组织决定的顺序存取对索引文卷这个顺序是根据文卷的对比序列在给定引用键内的记录键值的递升次序如果存取方式是随机的对索引文卷记录键数据项的值表明要存取的记录当存取方式是动态的则文卷中的记录可以顺序地和或随机地存取若相关联的文卷连接符是外部文卷连接符则与那个文卷连接符相关联的运行单位中每个文卷控制款必须指定相同的存取方式子句功能子句指明一个次记录键这个次记录键提供了在索引文卷中记录的次存取路径一般格式数据名语法规则数据名可以受限数据名必须在与文卷名相关联的记录描述款中定义成字符类型的数据项子句从属于这个文卷名数据名不能引用包含可变出现数据项的组项数据名不
16、能引用这样的一个数据项它的最左边字符位置和该文卷相关联的主记录键或任一其他次记录键的最左边的字符位置相对应若索引文卷包含变长记录则每个次记录键必须包含在记录开始的个字符位置中等于对该文卷指定的最小记录长度见中子句一般规则子句指出与这个子句相关联的文卷的次记录键数据名的数据描述以及其在记录里的相对位置必须与创建该文卷时所用的一样该文卷次记录键数目也必须与创建该文卷时所用的一样短语指出相关联的次记录键的值可以在文卷中任何记录里重复如果没有指出短语则相关联的次记录键的值必不能在文卷中任何记录中重复如果文卷有多于一个记录描述款则数据名仅需在这些记录描述款之一中描述在任一记录描述款中由数据名引用的相同的
17、字符位置隐含地被引用为那个文卷的所有其他记录描述款相对应的键若相关联的文卷连接符是外部文卷连接符那么在与那文卷连接符相关联的运行单位里每个文卷控制款必须指出对数据名有相同的数据描述款相关记录里有同样的相对位置同样数目的次记录键和同样的短语子句功能子句指明索引组织为文卷的逻辑结构一般格式一般规则子句指明索引组织为文卷的逻辑结构文卷组织在文卷创建时建立而且以后不能改变索引组织是一种永久的逻辑文卷结构用记录中一个或多个键值来标识该文卷中每个记录子句功能子句指出主记录键该主记录键提供了在索引文卷中记录的存取路径一般格式数据名语法规则数据名可以受限数据名必须引用与该文卷名相关联的记录描述款中的字符型数据
18、项子句从属于该文卷名数据名不能引用包含可变出现数据项的组项若索引文卷包含变长记录则主记录键必须被包含在记录开始的个字符位置里等于对文卷指定的最小记录长度见中子句一般规则子句指出与该子句相关联的文卷的主记录键主记录键的值在该文卷的诸记录中必须是唯一的数据名的数据描述和它在记录中的相对位置一样必须与建立文卷时使用的相同若文卷有多于一个记录描述款数据名仅需在这些记录描述款之一中描述在任一记录描述款中由数据名引用的相同的字符位置隐含地被引用为那个文卷的所有其他记录描述款对应的键若相关联的文卷连接符是外部文卷连接符那么在与那个文卷连接符相关联的运行单位里所有文卷描述款必须对在相关记录里具有同样相对位置的
19、数据名指出相同的数据描述款段功能段指出了建立的重运行点和不同文卷共享的存储区在标准的这一版本中视段中的子句是过时成分因为在标准的以后的修改版中要把它删掉一般格式文卷名实现名整数文卷名整数条件名文卷名文卷名一般规则有关索引模块的子句是顺序模块的子句的子集因此子句的说明见顺序模块的子句有关索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块的子句索引模块的数据部文卷节有关文卷节的信息见顺序模块的文卷节文卷描述款功能文卷描述款提供关于一个索引文卷的物理结构标识和记录名的信息一般格式文卷名整数整数整数整数整数数据名整数整数实现名数据名字值数据名语法规则层指示符标识文卷描述款的开始它必须位于文
20、卷名的前面跟在文卷名后面的那些子句可以以任意次序出现文卷描述款之后必须跟有一个或多个记录描述款一般规则文卷描述款把文卷名与文卷连接符联系起来索引模块的子句与顺序模块的子句相同因此有关于子句的说明见顺序模块的子句索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块子句在标准的这一版本中视子句是过时成分因为在标准的以后的修改版中要把它删掉索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块中子句在标准的这一版本中视子句是过时成分因为在标准的以后的修改版中要把它删掉索引模块的子句与顺序模块的子句相同因此有关子句的说明见顺序模块中子句索引模块的子句与顺序模块的子句相同因此有关子句的
21、说明见顺序模块中子句在标准的这一版本中视子句是过时成分因为在标准的以后的修改版中要把它删掉索引模块的过程部一般描述当在源程序中存在索引模块的语句时过程部包含中述过程下面给出当语句存在时过程部的一般格式节名语句段名句子节名段名句子语句功能语句终止带有任选锁的文卷的处理一般格式文卷名语法规则语句中引用的文卷不需要都有相同的组织或存取方式一般规则语句只能对处于打开方式的文卷执行索引文卷属于非顺序的单或多卷或单位的文卷类型对于这类文卷的各种语句的执行结果概括成下表表语句格式文卷类型非顺序的单或多卷或单位下面给出表中符号的定义此处根据文卷是输入输出或输入输出文卷而分别给出了相应的定义否则一种定义可适用于
22、输入输出以及输入输出关闭文卷输入文卷和输入输出文卷顺序存取方式如果文卷定位在它的末端并且对该文卷指出有标号记录则按照实现者的标准标号约定处理标号当指出有标号记录但又未出现或当未指出标号记录而又出现时则语句的行为是无定义的但执行由实现者指定的关闭操作如果文卷定位在末端而对该文卷没有指明标号记录则不进行标号处理但执行由实现者指出的其他关闭操作如果文卷不定位在它的末端则执行由实现者指出的关闭操作但不进行结束标号处理输入文卷和输入输出文卷随机或动态的存取方式输出文卷随机动态或顺序存取方式如果对文卷指出了标号记录则按照实现者的标准标号约定处理这些标号当指出了标号记录而未出现或未指出标号记录而又出现时语句
23、的行为是无定义的但执行由实现者指出的关闭操作如果对该文卷未指出标号记录则不进行标号处理但执行由实现者指出的其他关闭操作文卷锁该文卷被锁而且在这个运行单位的这次执行期间不能再打开执行语句将改变与文卷名相关联的状态值见状态若任选的输入文卷不存在则对文卷不执行文卷末处理且不改变文卷位置指示符在语句执行成功之后与文卷名相关联的记录区就不再可用如语句执行不成功则记录区的可用性是未定义的在语句执行成功之后从打开方式中除去这个文卷而且该文卷不再与该文卷连接符相关联若在语句中指定的文卷名多于一个则执行这种语句的结果就如同对语句中每个文卷名以同样的顺序分开写出的一串语句一样语句功能语句从海量存储文卷中逻辑地除去
24、一个记录一般格式文卷名命令语句命令语句语法规则对于引用顺序存取方式文卷的语句不能指出和短语对于引用非顺序存取方式且未指出可应用过程的文卷的语句则必须指明短语一般规则在执行这个语句时由文卷名引用的文卷必须是海量存储文卷且必须已用方式打开见语句对顺序存取方式的文卷而言在语句执行之前对文卷名最近执行的输入输出语句必须是成功执行的语句海量存储控制系统逻辑地从该文卷中除去由语句存取的记录对随机或动态存取方式的文卷而言从该文卷中逻辑地除去由与文卷名相关联的主记录键数据项的内容标识的那个记录如果该文卷不包含由该键指出的记录则就产生一个条件见无效键条件成功地执行语句之后指定的记录已被逻辑地从文卷中删去并且不能
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 4092.6 1992 程序设计语言 COBOL 索引 模块
