GB T 4092.7-1992 程序设计语言COBOL 排序-合并模块.pdf
《GB T 4092.7-1992 程序设计语言COBOL 排序-合并模块.pdf》由会员分享,可在线阅读,更多相关《GB T 4092.7-1992 程序设计语言COBOL 排序-合并模块.pdf(12页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准程序设计语言排序合并模块发布实施国家技术监督局发布中华人民共和国国家标准程序设计语言排序合并模块代替国家技术监督局批准实施引言功能排序合并模块提供这样一种功能按照一组由用户提出的包含在每个记录中的键对一个或多个文卷中的记录排序或者合并两个或多个有同样次序的文卷中的记录此外用户可以选用输入或输出过程对记录进行特定的处理这种特定处理可以在记录被语句排序之前或之后应用或在记录被语句合并之后应用语言概念排序文卷排序文卷是由语句进行排序的记录集排序文卷没有程序员能够控制的标号过程并且对于分块及内容存储分配的规则仅由语句所特有就缓冲区块或卷而论语句以及语句没什么意义然而排序文卷可以认
2、为是一个内部文卷该文卷根据输入文卷建立语句进行处理语句然后使之成为可用的语句输出文卷排序文卷通过文卷控制款命名并由排序合并文卷描述款来描述排序文卷通过和语句引用合并文卷合并文卷是由语句进行合并的记录集合并文卷没有程序员能够控制的标号过程并且对于分块及内部存储分配的规则仅由语句实行就缓冲区块或卷而论语句没什么意义然而合并文卷可以认为是一个内部文卷该文卷根据输入文卷建立并通过对它们的合并语句成为可用的语句输出文卷合并文卷由文卷控制款命名并由排序合并文卷描述款描述合并文卷通过和语句引用排序合并模块的环境部输入输出节涉及输入输出节的信息见顺序模块的段涉及段的信息见顺序模块的文卷控制款功能文卷控制款说明
3、排序或合并文卷的有关物理属性一般格式文卷名实现名字值语法规则数据部中描述的每一个排序或合并文卷在段中能且只能指称一次子句中指出的每一个排序或合并文卷在同一程序的数据部中必须有一个排序合并文卷描述款因为文卷名表示一个排序或合并文卷所以在段中只有子句允许跟在文卷名之后一般规则子句指出文卷名引用的文卷和实现名或字值引用的存储媒体的联系段功能段指出包括排序或合并文卷的不同文卷共享的存储区一般格式文卷名文卷名语法规则子句选择的可用性依赖于由实现支撑的顺序模块的级一般规则有关排序合并模块的子句在下面介绍子句功能子句中指出不同文卷至少有一个是排序或合并文卷共享的存储区一般格式文卷名文卷名语法规则在中子句指出
4、的每个文卷名必须在同一程序的段中指出文卷名和文卷名不可引用外部文卷连接符和是等价的除非使用或短语否则表示排序或合并文卷的名不能出现在子句中在一个程序中可以出现多个子句然而一个文卷名一定不能出现在两个或两个以上的子句中表示排序或合并文卷的文卷名不能出现在多于一个或子句中如果在子句和一个或若干个或子句中出现了不是表示排序或合并文卷的文卷名则子句中命名的所有文卷名都必须在那个或子句中命名在或子句中引用的文卷名不要求有相同的组织和存取方式一般规则子句指出文卷名文卷名引用的两个或多个文卷在处理当前逻辑记录中共享同一个存储区所有这些文卷可以同时处于打开方式在中的逻辑记录被看成是在子句中出现的每个被打开的输
5、出文卷的逻辑记录和在子句中出现的最近读入的输入文卷的逻辑记录这等价于隐含的存储区重定义即记录对齐于最左字符位置如果使用或子句那么这些文卷名中至少有一个是表示排序或合并文卷的该子句指出存储区按以下规定共享或子句指出一个存储区它对于每一个已命名的排序或合并文卷在排序或合并时是可用的因此为排序或合并文卷的排序或合并分配的存储区在任一其它排序或合并文卷的排序或合并时也是可以重新使用的此外分配给非排序或合并的文卷的存储区也可以根据排序或合并的需要分配给在或子句中命名的排序或合并文卷这种分配的范围将由实现者指出非排序或合并文卷彼此不共享同一个存储区但是如果用户希望这些文卷彼此共享同一个存储区的话程序必须包
6、含或子句指出与这些文卷相关联的文卷名在引用该子句中命名的排序或合并文卷的或语句执行期间在这个子句中命名的任何非排序或合并文卷不能被打开排序合并模块的数据部文卷节文卷节位于源程序的数据部文卷节定义排序和合并文卷的结构每个排序文卷或合并卷通过一个排序合并文卷描述款以及一个或多个记录描述款来定义记录描述款紧接在排序合并文卷描述款之后书写下面给出排序合并模块中文卷节的一般格式排序合并文卷描述款记录描述款排序合并文卷描述款在程序中排序合并文卷描述款款表示文卷节中最高层组织文卷节首后面跟由层指示符文卷名及一系列独立子句组成的排序合并文卷描述款排序合并文卷描述款款的子句规定与排序文卷或合并文卷相关联的数据记
7、录拿按笮没有用户可以控制的标号过程分块规则和内部存储规则仅由和语句所专用排序合并文卷描述款用句点结束记录描述结构记录描述由描述特定记录之特性的一组数据描述款组成每个数据描述款由层号跟以数据名或子句若指出的话在需要时再跟以一系列独立的子句记录描述可以有层次结构因此使用某一款的子句可以颇为不同这依赖于其后是否跟以从属款数据描述款中特定子句的可用性依赖于由实现支撑的核心模块的级初值在文卷节中数据项的初值是无定义的排序合并文卷描述款功能排序合并文卷描述款提供关于排序或合并文卷的物理结构和记录名信息一般格式文卷名整数整数整数数据名整数整数数据名语法规则层指示符表明排序合并文卷描述的开始并且必须位于文卷名
8、前面跟在文卷名后面的各子句是任选的而且出现的次序是无关紧要的排序或合并文卷描述款后面可以跟一个或多个记录描述款然而不能对这种文卷执行输入输出语句子句的格式的可用性依赖于实现支撑的顺序模块的级一般规则排序合并模块的子句与顺序模块的子句相同因此子句的说明见顺序的在标准的这一版本中视子句是过时成分因为在标准的以后的修改版中要把它删掉排序合并模块的子句与顺序模块的子句相同因此子句的说明见顺序的排序合并模块的过程部语句功能语句按照一组指定的键把两个或多个有相同顺序的文卷合并在一起在这一处理期间语句按合并次序使记录对输出过程或输出文卷可用一般格式文卷名数据名字母表名文卷名文卷名过程名文卷名过程名语法规则语
9、句可以在过程部中除申述部分以外的任何地方出现文卷名必须在数据部的排序合并文卷描述款中被描述若文卷名引用的文卷包含变长记录则文卷名及文卷名引用的文卷中所含记录的长度不能小于文卷名描述的最小记录也不能大于文卷名描述的最大记录若文卷名引用的文卷含有定长记录则文卷名及文卷名引用的文卷中所含记录的长度不能大于文卷名描述的最大记录数据名是键数据名并且遵守下列规则由键数据名标识的数据项必须在文卷名相关联的记录中描述键数据名可以受限键数据名标识的数据项不能是包含变长数据项的组项如果文卷名有多个记录描述那么要求由键数据名指出的数据项仅能在一个记录描述中描述把在一个记录描述款中键数据名引用的相同字符位置作为该文卷
10、所有记录的键由键数据名指出的那些数据项不可以在包含有子句或隶属于包含有子句的款中描述若文卷名引用的文卷含有变长记录则由键数据名标识的全部数据项必须被包含在记录的开始的个字符位置中这里等于文卷名引用的文卷所规定的最小记录长度文卷名文卷名和文卷名必须在数据部的文卷描述款而不在排序合并描述款中描述多文卷带卷中的文卷名最多只能有一个出现在语句中语句中同一文卷名不可以重复出现在语句中没有一对文卷名可以被规定在同一或子句中语句中能被规定在同一子句中的仅是那些与短语相关联的文卷见中子句和子句字和是等价的若文卷名引用索引文卷则数据名的第一个说明必须与短语有关并且由数据名引用的数据项在记录中占有的字符位置必须与
11、那个文卷的主记录键相关的数据项相同若指定了短语且文卷名引用的文卷含有变长记录则文卷名引用的文卷中所含的记录长度不能小于文卷名描述的最小记录也不能大于其最大记录的长度若文卷名引用的文卷包含定长记录则文卷名引用的文卷中所含的记录长度不能大于文卷名描述的最大记录长度一般规则语句将合并所有包含在文卷名和文卷名引用的文卷中的记录若文卷名引用的文卷仅含定长记录则对文卷名或文卷名引用的文卷中任何长度小于那个定长的记录当记录被发送到文卷名引用的文卷上时在那个记录的最后一个字符之后从其后右边第一字符位置开始填以空格空格的数目就是比定长少的那些字符位置数跟在字后面的数据名在语句中按其重要性的递降次序从左到右地排列
12、而不管它们是如何被划分到各短语中去的最左边的数据名是主键下个数据名是下一个重要的键依此类推当指出短语时合并顺序是键数据名指出的数据项内容从最低值到最高值的顺序这根据关系条件中运算对象比较的规则进行当指出短语时合并顺序是键数据名指出的数据项内容从最高值到最低值的顺序这根据关系条件中运算对象的比较规则进行按照关系条件中运算对象的比较规则当一个数据记录的所有键数据项的内容等于一个或多个其它数据记录的相应键数据项的内容时这些记录的回送次序是按照语句中指出的相关输入文卷的次序进行与一个输入文卷相关的所有记录在另一个输入文卷的记录回送之前被回送用于非数值键数据项比较的对比序列在语句执行开始时按下列优先次序
13、决定首先如果语句中指出短语的话就根据短语建立对比序列其次建立和程序的对比序列一样的对比序列仅当文卷名和文卷名所引用之文卷的记录按语句中或短语的规定排序时合并操作的结果才是可预测的文卷名和文卷名引用的文卷中的全部记录被传送到文卷名引用的文卷中在执行语句的开始时文卷名和文卷名引用的文卷不能处于打开状态对文卷名和文卷名引用的每一个文卷语句的执行引起下述动作初始化文卷处理执行初始化就象执行了具有短语的语句一样若输出过程被指出则在控制转到输出过程之前执行这个初始化逻辑记录被获取并被发放给合并操作获取每个记录就象执行了具有和短语的语句一样终止文卷处理执行终止就象执行了没有任选短语的语句一样若输出过程被指出
14、则直到控制通过输出过程的最后一个语句之后才执行这个终止执行这些隐式功能犹如执行相关的或过程一样输出过程可以由这样一些过程组成这些过程是从文卷名引用的文卷上选择修改或复制记录所必需的语句依合并次序一次可使一个记录成为可用的范围包括在输出过程范围内由执行和语句引起控制转移的全部语句还有申述过程中的全部语句这些语句由输出过程范围中语句的执行引起其执行输出过程的范围内不能导致任何或语句执行如果指出输出过程则在语句执行期间转向它编译程序在输出过程最后一句的结束处插入返回机制在控制到达输出过程的最后一个语句时返回机制终止合并处理然后把控制转移到语句后的下一个可执行语句在进入输出过程之前合并过程到达这样的一
15、点在这一点处可以按合并次序选取需要的记录在输出过程中为了取得下一个记录语句是必需的输出过程的执行期间不能执行对文卷名或文卷名引用的文卷进行管理或访问其有关的记录区的语句在执行语句时隐式引用的任何过程的执行期间不能执行对文卷名文卷名或文卷名引用的文卷进行管理或访问其有关的记录区的语句若短语被指出则所有已合并的记录书写到文卷名引用的文件上如同语句所隐含的输出过程一样在执行语句的开始处文卷名引用的文卷不能处于打开状态对文卷名引用的每一个文卷语句的执行导致下述动作初始化文卷处理执行初始化就象执行了具有短语的语句已合并的逻辑记录被回送并被写到该文卷写出每个记录就象执行了不带任何任选短语的语句对于相对文卷
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 4092.7 1992 程序设计语言 COBOL 排序 合并 模块
