GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf

上传人:boatfragile160 文档编号:150867 上传时间:2019-07-06 格式:PDF 页数:23 大小:1.36MB
下载 相关 举报
GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf_第1页
第1页 / 共23页
GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf_第2页
第2页 / 共23页
GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf_第3页
第3页 / 共23页
GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf_第4页
第4页 / 共23页
GB T 4092.6-1992 程序设计语言COBOL 索引I-O模块.pdf_第5页
第5页 / 共23页
亲,该文档总共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、一个记录一般格式文卷名命令语句命令语句语法规则对于引用顺序存取方式文卷的语句不能指出和短语对于引用非顺序存取方式且未指出可应用过程的文卷的语句则必须指明短语一般规则在执行这个语句时由文卷名引用的文卷必须是海量存储文卷且必须已用方式打开见语句对顺序存取方式的文卷而言在语句执行之前对文卷名最近执行的输入输出语句必须是成功执行的语句海量存储控制系统逻辑地从该文卷中除去由语句存取的记录对随机或动态存取方式的文卷而言从该文卷中逻辑地除去由与文卷名相关联的主记录键数据项的内容标识的那个记录如果该文卷不包含由该键指出的记录则就产生一个条件见无效键条件成功地执行语句之后指定的记录已被逻辑地从文卷中删去并且不能

25、再被存取语句的执行不影响记录区的内容或与文卷名相关联的子句内短语中规定的数据名所引用数据项的内容文卷位置指示符不受语句执行的影响语句的执行使得与文卷名相关联的状态值被更新见状态在操作的成功或不成功的执行之后控制转移依赖于语句中是否存在和短语见无效键条件短语限定语句的作用域见中语句作用域语句功能语句对文卷的处理进行初始化一般格式文卷名文卷名文卷名文卷名语法规则短语只能用于顺序存取方式的文卷所有在语句中引用的文卷不要求有相同的组织或存取方式一般规则语句的成功执行确定文卷的可用性使文卷处在打开方式并且通过文卷连接符把该文卷与文卷名联系起来若文卷物理地存在且被输入输出控制系统识别则该文卷是可用的表给出

26、打开可用文卷和不可用文卷的结果卷文卷的可用性文卷可用文卷不可用输入正常打开打开不成功输入任选文卷正常打开正常打开第一次读产生末端条件或无效键条件正常打开打开不成功任选文卷正常打开打开使文卷产生输出正常打开文卷不包含记录打开使文卷产生正常打开打开不成功任选文卷正常打开打开使文卷产生语句的成功执行使得相关记录区可用于程序若与文卷名相关联的文卷连接符是外部文卷连接符则该运行单位仅有一个记录区与这文卷连接符相关当文卷未打开时不能显式或隐式地执行引用该文卷的语句带有或短语的语句语句或带有或短语的语句除外在执行任何允许的输入输出语句之前必须首先成功地执行语句在表中在交叉点上指出可允许的语句这些语句按所在行

27、左边指出的存取方式使用且可以和索引文卷组织以及在列的顶部给出的打开方式一起使用表可允许语句文卷存取方式语句打开方式输入输出输入输出扩展顺序随机动态一个文卷可以在同一个运行单位中用和短语打开一个文卷的语句初次执行之后对该文卷再执行语句之前必须对该文卷先执行一个不带短语的语句语句的执行并不获得或释放第一个数据记录如果对文卷指出有标号记录则文卷开始的标号处理如下当指出短语时语句的执行将根据实现者规定的输入标号核对的约定核对标号当执行短语时语句的执行将根据实现者规定的输出标号的约定写标号当指出有标号记录而又未出现或未指出标号记录却又出现了标号时语句的行为是未定义的在语句的执行期间若出现文卷属性冲突条件

28、那么语句的执行是不成功的见文卷属性冲突条件若带有短语打开的文卷是尚不存在的任选文卷那么语句用文卷位置指示符来指明该任选输入文卷尚不存在对于带有或短语打开的文卷把文卷位置指示符置为具有与文卷相关的对比序列中最低起始位置的字符而且把主记录键建立为引用键指出短语时语句定位文卷于该文卷的最后逻辑记录的紧后面对索引文卷最后逻辑记录是当前存在的具有最高主键值的记录在指出短语且子句指出有标号记录时语句的执行含有如下几步在单卷或单单位文卷情况仅处理开始文卷标号处理最后存在的卷或单位上的开始卷或单位标号如同该文卷已用短语打开了一样处理现存的末尾文卷标号如同文卷正在用短语打开一样然后这些标号被清除接下来的处理过程

29、如同文卷已经用短语打开那样带有短语的语句必须引用支持输入和输出两种操作的文卷这些操作对索引文卷以方式打开时是允许的执行具有短语的语句使被引用的文卷对输入和输出操作均处于打开方式在指出短语且子句指出有标号记录时执行语句包括如下几步根据实现者规定的输入输出标号核对的约定核对标号根据实现者规定的写输入输出标号的约定写新标号对于非可用的任选文卷成功地执行带有或短语的语句就建立了该文卷这种建立采取的动作如同按序执行下列语句文卷名文卷名这些语句之后执行源程序里指出的语句成功地执行带有短语的语句建立文卷在文卷建立以后该文卷还不包含有数据记录语句的执行使与该文卷名相关的状态值被更新见状态若在一个语句中指定的文

30、卷名多于一个则执行这种语句的结果就如同对语句中的每个文卷名以同样的顺序分开写出的一串语句一样文卷的最小和最大记录长度在文卷创建时建立而且以后不能改变语句功能对于顺序存取方式语句使文卷中的下一个逻辑记录成为可用对随机存取方式语句使海量存储文卷中的一个指定的记录成为可用一般格式格式文卷名标识符命令语句命令语句格式文卷名标识符数据名命令语句命令语句语法规则与标识符相关的存储区和与文卷名相关的记录区不能是同一存储区数据名必须是被指明为与文卷名相关的记录键数据项的名数据名可以受限对于所有顺序存取方式的文卷必须使用格式对动态存取方式的文卷在顺序检索记录时必须指出短语对随机存取或动态存取方式的文卷在随机地检

31、索记录时使用格式如果未对文卷名指出可应用的过程则必须指出短语或短语一般规则在执行这个语句时由文卷名引用的文卷必须已用输入或方式打开见语句以顺序存取方式的文卷短语是任选的而且对语句的执行没有影响语句的执行引起与文卷名相关的状态值被更新见状态在格式语句开始执行时利用设置文卷位指示符使记录成为可用是按如下规则确定索引文卷中关于记录的比较涉及当前引用键的值对索引文卷按文卷的对比序列进行比较若文卷位置指示符指出还没有建立好有效的下一个记录则语句的执行是不成功的若文卷位置指示符指出任选的输入文卷不存在则按一般规则中指出的那样执行若文卷位置指示符由前面的或语句建立则选择文卷中记录键值大于或等于文卷位置指示符

32、的第一个现存记录若文卷位置指示符由前面的语句建立并且当前引用键不允许重复则选择文卷中记录键值大于文卷位置指示符的第一个现存记录若文卷位置指示符由前面的语句建立并且当前引用的键允许重复则或者选择文卷中记录键值等于文卷位置指示符的第一个现存记录且该记录在这组重复键记录中的逻辑位置是紧跟在前面语句使其可用的那个记录之后或者选择文卷中记录键值大于文卷位置指示符的第一个现存记录若找到满足上述规则的记录则使它在与文卷名相关的记录区中成为可用的若未找到满足上述规则的记录则用文卷位置指示符指示下个逻辑记录不存在而且象一般规则中指出的那样进行处理若某记录成为可用的则置文卷位置指示符为该记录的当前引用键的值无论存

33、取时间和处理时间使用何种重叠方法语句的概念不变若指出命令语句或命令语句则在其执行之前记录对目标程序是可用的或者若既没有指出命令语句又没有指出命令语句则在语句之后的任何语句执行之前记录对目标程序是可用的当文卷的逻辑记录由多个记录描述款来描述时这些记录自动地共享同一个存储区域这等价于对该区域的隐含重定义在语句执行完毕时对于当前数据记录范围之外的任何数据项的内容是不确定的在语句中可以指出短语若仅当一个记录描述属于这个文卷描述款时或若与文卷名相关的全部记录名以及由标识符引用的数据项描述一个组项或字符型初等项时执行带有短语的语句其结果等价于按序应用下面规则执行不带短语的同一语句把当前记录从记录区传送到标

34、识符指出的区域中这种传送按照无短语的语句的规则进行当前记录的长度由子句指出的规则确定若文卷描述款包含子句则隐含的传送是成组传送若语句执行不成功这种隐含的语句就不发生与标识符相关的任何下标在记录被读入之后以及即将传送到数据项之前计算该记录在记录区以及标识符引用的数据项里两处均为可用在格式语句执行时若文卷位置指示符指出任选输入文卷不存在则无效键条件产生并且语句的执行是不成功的见无效键条件对格式语句若文卷位置指示符指出下个逻辑记录不存在或任选输入文卷不存在则跟着执行下列动作从文卷位置指示符所置的值中导出一个值放到与文卷名相关的状态中以指出末端条件见状态若引起该条件的语句中指明了短语则控制转到短语中的

35、命令语句任何与文卷名相关的过程均不执行若未指明短语则必须有与文卷名相关的过程而且该过程被执行从该过程返回后控制转到语句结束处之后的下一个可执行语句当末端条件出现时语句的执行认为是不成功的若在语句执行期间既没有产生末端条件又没有产生无效键条件则若指明有短语或短语就忽略它并且执行下述动作文卷位置指示符被置值并且与文卷名相关的状态被更新若出现一个不是末端条件又不是无效键条件的例外条件则在执行对文卷名可应用的任何过程之后按语句的规则进行控制转移见语句若无例外条件出现则记录在记录区中是可用的而且执行短语引起的隐式传送控制转到语句的结束处或若指出命令语句就转向它在后一种情况按照命令语句中指出的相应各语句的

36、规则继续执行若执行明显引起控制转移的过程分支或条件语句则按那个语句的规则进行转移否则在命令语句执行完后控制转到语句结束处若语句执行不成功则相关联的记录区中的内容是不确定的对索引文卷而言引用键是不确定的并且文卷位置指示符指出没有已建立好的下一个有效记录对于指出为动态存取方式的索引文卷带有短语的格式的语句从文卷中检索下一个逻辑记录对顺序存取的索引文卷在引用的次记录键中有相同重复值的记录成为可用它是依照执行语句释放的次序或者执行建立重复值的语句所释放记录的次序使用对于索引文卷如果在格式的语句中指出了短语则数据名就作为这一检索的引用键而建立如果指出动态存取方式引用这个键也用于对该文卷的格式语句的后继执

37、行进行检索直到为该文卷建立不同的引用键时为止对索引文卷如果在格式的语句中未指出短语则主记录键作为这一语句的引用键而建立如果指明动态存取方式引用的这个键同样用于该文卷的格式的语句的后继执行进行检索直到为该文卷建立不同的引用键时为止对索引文卷格式语句的执行把文卷位置指示符置为引用键的值这个值与该文卷存储记录中相应数据项的值进行比较直到具有相等值的第一个记录被找到为止在具有重复值的次记录键情况找到的第一个记录是释放给海量存储控制系统的重复序列中的第一个记录这样找到的记录在文卷名相关的记录区里是可用的如果没有可以如此标识的记录则无效键条件就发生并且语句的执行是不成功的见无效键条件若被读记录中字符位置数

38、小于相应文卷名记录描述款指出的最小长度则记录区中所读的最后一个有效字符右边的那部分是未定义的若被读记录中字符位置数大于相应文卷名记录描述款指出的最大长度记录被截断于最大长度的右边这两种情况之任何一种语句是成功的但状态被置为记录长度出现了矛盾见状态短语限定语句的作用域见中语句的作用域语句功能语句逻辑地替换海量存储文卷中存在的记录一般格式记录名标识符命令语句命令语句语法规则记录名和标识符不能引用同一个存储区记录名是数据部文卷节中逻辑记录名并且可以限定如果对相关文卷名没有指出可应用的过程则必须指出和短语一般规则由记录名相关的文卷名所引用的文卷必须是海量存储文卷并且在该语句执行时必须已用方式打开见语句

39、对于用顺序存取方式的文卷在语句执行之前对相关文卷的最后一个输入输出语句必须是成功执行的语句逻辑地替换语句存取过的记录对级由记录名引用的记录中的字符数必须等于被替换的记录中字符数对级由记录名引用的记录中的字符数可以等于或不等于被替换的记录中的字符数在成功地执行语句后所释放的逻辑记录在记录区中不再可用除非相应的文卷名在子句中指明外该逻辑记录对程序仍然是可用的但它是作为与相关输出文卷同一子句中出现的其他文卷的一个记录此外它对于和记录名相关联的文卷也是可用的带有短语的语句的执行等价于按序执行如下语句按语句指定的规则执行语句标识符记录名无短语的同一个语句语句执行完成以后标识符所引用的区中的信息是可用的记

40、录名所引用的区中的信息不可用指明子句时除外语句的执行不影响文卷位置指示符语句的执行引起与记录名相关文卷名的状态值被更新见状态语句的执行把逻辑记录释放给操作系统语句成功或不成功地执行之后控制转移依赖于语句中是否存在任选的和短语见无效键条件短语限定语句的作用域见预备知识语句的作用域由记录名引用的记录中字符位置数不能大于子句所允许的最大字符位置数或小于最小安符位置数该子句与记录名相关的文卷名相关联不论两种情况的哪一种语句的执行是不成功的更新的操作不进行记录区的内容不受影响而与记录名相关的文卷的状态指出所发生的条件见状态对于顺序存取方式的文卷被替换的记录由包含在主记录键中的值指出当执行语句时包含在被替

41、换之记录的主记录键数据项的值必须等于上次读入的文卷中记录的主记录键的值对随机存取或动态存取方式的文卷被替换的记录由主记录键数据项指出对具有次记录键的记录语句的执行如下当特定次记录键的值不改变时在那个键是引用键的时候检索的次序保持不变当特定次记录键的值改变时在那个键是引用键时那个记录后继的检索次序可能被改变当允许重复键值时记录逻辑地被定位在一组重复记录的最后位置这组重复记录包含与记录中被替换的次记录键值相同的次记录键值无效键条件在下列几种情况下存在文卷的存取方式是顺序的且被替换之记录的主记录键的值不等于上次读入的记录的主记录键的值或文卷是动态或随机的存取方式并且被替换之记录的主记录键值不等于现存

42、在文卷中的任何记录的主记录键值或当不允许重复次记录键时被替换记录的次记录键值等于已存于文卷中记录的对应数据项值识别出无效键条件时语句的执行是不成功的不执行更新操作记录区的内容不受影响而与记录名相关联的文卷名的状态指出所发生的条件见状态语句功能为了顺序地检索后继记录语句为索引文卷中的逻辑定位提供一个基点一般格式文卷名文卷名数据名命令语句命令语句语法规则文卷名必须是顺序或动态存取方式的文卷名数据名可以限定如果未对文卷名指出可应用的过程则必须指出短语如果指出短语则数据名必须引用指定为与文卷名相关的记录键的数据项见子句和子句或者引用任何这样的字符型数据项其在文卷的记录中最左字符位置与文卷名相关记录键的

43、最左字符位置相对应而且其长度不大于那个记录键的长度一般规则在语句执行时以文卷名引用的文卷必须以或方式打开见中的语句如果未指出短语则隐含着关系运算符的存在语句的执行不改变记录区的内容也不改变数据名引用的数据项的内容该数据名在文卷名相关联子句的短语中指出短语中的关系运算符指出的比较类型出现在由文卷名引用的文卷中的相关联记录的键和按一般规则和指出的数据项之间比较是对引用的升序键按文卷对比序列进行如果运算对象的大小不等则在较长的右边截去超过部分使它的长度等于短的长度所有其他的非数值比较规则均适用见中非数值运算对象的比较置文卷位置指示符为其键满足比较的第一个逻辑记录中引用键的值如果文卷中所有记录均不满足

44、比较要求则无效键条件产生而且语句的执行是不成功的语句的执行使得与文卷名相关联的状态值被更新见状态在语句执行时如果文卷位置指示符指出任选输入文卷不存在那么无效键条件出现而且语句的执行是不成功的操作的成功或不成功执行后控制转移依赖于语句中是否存在任选的和短语见无效键条件不成功地执行语句以后文卷位置指示符指出未建立好有效的下一个记录对索引文卷引用键也是不确定的短语限定语句的作用域见中语句的作用域引用键建立如下如果未指出短语对文卷名指出的主记录键成为引用键如果指出短语并且数据名被指明为文卷名的记录键则该记录键成为引用键如果指出短语而数据名未指出为文卷名的记录键则最左字符位置对应着由数据名指出的数据项的

45、最左字符位置的记录键成为引用键这个引用键被用于为该语句建立记录的次序见一般规则并且若语句的执行是成功的那么引用键也用于后继的顺序语句见语句如果指出短语按一般规则描述的比较使用由数据名引用的数据项如果未指出短语按一般规则描述的比较使用与文卷名相关联的子句中引用的数据项语句功能语句指出输入输出控制系统所提供的标准过程以外的输入输出错误处理过程一般格式文卷名语法规则当语句出现时必须直接跟在过程部申述节的节首之后且本身以一个句子出现该节的其余部分必须由个个或若干个用于定义过程的过程段所组成语句仅定义执行过程的调用条件本身从不执行出现在语句中的文卷名不能导致同时要求执行多于一个的过程和是同义字并且可以互

46、换使用在语句中显式地或隐式地引用的文卷名不必具有相同的组织和存取方式在给定过程部的申述部分中和短语每个可以被指定一次且只能一次一般规则一个源程序中可以包括申述过程而不管它包含另一程序或包含于另一程序之中程序执行过程中如果申述前的语句中描述的条件发生则调用该申述在一分别编译的程序执行时如果申述前的语句中描述的条件发生则该分别编译的程序中只有一个申述被调用这里的分别编译的程序包含引起限定条件的语句如果分别编译的程序中不存在限定申述则不执行任何申述在申述过程中一定不能引用任何非申述过程与语句相关的过程名可以在不同的申述节中或在仅有语句的非申述过程所引用当明显指明文卷名时没有其他的语句可应用于文卷名输

47、入出操作执行不成功时执行标准输入输出例外例行程序此后再执行与语句相关的过程除非一个或短语处于优先地位何时执行这些过程的规则如下若指出文卷名则在语句中描述的条件出现时执行相关的过程若指出则在语句中描述的条件出现时对任何以方式打开或正在打开的文卷执行相关的过程对指定同样条件的另一语句中由文卷名引用的那些文卷除外若指出则在语句中描述的条件出现时对任何以方式打开或正在打开的文卷执行相关的过程对指定同样条件的另一语句中由文卷名引用的文卷除外若指出则在语句中描述的条件出现时对任何以方式打开或正在打开的文卷执行相关的过程对指定同样条件的另一语句中由文卷名引用的文卷除外若指出则在语句中描述的条件出现时对任何以

48、方式打开或正在打开的文卷执行相关的过程对指定同样条件的另一语句中由文卷名引用的文卷除外过程执行以后控制转向输入输出控制系统中的调用程序若状态值不指出为严重的输入输出错误则输入输出控制系统返回控制到其执行引起例外的输入输出语句后面的下一可执行语句若状态值指出一个严重错误则由实现者确定要做什么动作见状态在过程中不能有任何这样的一种语句执行它能使得先前已被调用但其控制还未返回到调用程序的过程执行语句功能语句释放一个逻辑记录到输出文卷或输入输出文卷一般格式记录名标识符命令语句命令语句语法规则记录名和标识符不能引用同一个存储区记录名是数据部文卷节中逻辑记录的名并且可以受限如果没有为相关文卷名指明可应用的

49、过程则必须指出短语一般规则在这个语句执行时与记录名相关联的文卷名引用的文卷必须已按或方式打开见语句成功地执行语句所释放的逻辑记录在记录区中不再可用除非与记录名相关的文卷名在子句中指明该逻辑记录对该程序也是可用的但这时它是作为与相关输出文卷同一子句中出现的其他文卷的一个记录该逻辑记录对于和记录名相关的文卷同样也是可用的带有短语的语句执行结果等价于按序执行如下语句根据语句指出的规则执行语句标识符记录名其后执行无短语的相同的语句语句执行完成之后尽管由记录名引用的存储区中的信息是不可用的但由标识符引用的这个域中的信息却是可用的但由子句指定的除外文卷位置指示符不受语句执行的影响语句的执行使得与记录名相关联的文卷名的状态值被更新见状态语句的执行释放一个逻辑记录给操作系统由记录名所引用的记录中的字符位置数不能大于子句所允许的最大字符位置数或小于最小字符位置数该子句与记录名相关的文卷名相关联不论两种情况的哪一种情况出现语句的执行是不成功的操作不进行记录区的内容不受影响而与记录名相关联文卷的状态指示着发生的条件见状态在带有短语的语句执行期间若无效键条件不出现则在下述适当的时间控制转到命令语句若

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1