GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf

上传人:boatfragile160 文档编号:150869 上传时间:2019-07-06 格式:PDF 页数:39 大小:2.90MB
下载 相关 举报
GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf_第1页
第1页 / 共39页
GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf_第2页
第2页 / 共39页
GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf_第3页
第3页 / 共39页
GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf_第4页
第4页 / 共39页
GB T 4092.8-1992 程序设计语言COBOL 报表编制模块.pdf_第5页
第5页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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