1、中华人民共和国国家标准信息处理按记录组处理顺序文卷的程序流程发布实施国家技术监督局发布前言本标准等同采用国际标准信息处理按记录组处理顺序文卷的程序流程本标准无论在技术内容上还是在编排格式上均与国际标准保持一致自本标准实施之日起原中华人民共和国电子行业标准信息处理按记录组处理顺序文卷的程序流程废止本标准从年月日起实施本标准的附录是标准的附录附录是提示的附录本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准由电子工业部标准化研究所负责起草本标准主要起草人冯惠黄伟敏王家增郑人杰段祥前言国际标准化组织系由各国家标准化机构的成员团体联合组成的一个世界性组织该组织通过其各个技术委
2、员会进行国际标准的编制工作凡是对于已设有技术委员会的某一专业感兴趣的每一个成员团体都有权参加该技术委员会与有联系的官方或民间的各国际组织也可参与国际标准的编制工作国际标准草案由技术委员会采纳并散发到有关成员团体表决通过后由理事会接受作为国际标准它们被批准的条件是应符合章程要求至少要有的成员团体投票表决通过本国际标准是由信息处理系统技术委员会制定的使用者应注意所有的国际标准版本不时地被修订在这里对其它任何国际标准的引用系指它的最新版本除非另有说明中华人民共和国国家标准信息处理按记录组处理顺序文卷的程序流程国家技术监督局批准实施范围和应用领域本标准描述了两个可供选择的通用过程方法和方法这两个过程用
3、于处理按记录组逻辑组织的顺序文卷的任何程序方法检验适当层次终止后的控制前端条件方法检验适当层次初始化前的控制前端条件两者均以识别待处理的每一记录为基础该记录是可变的记录中的某一项值会影响控制流所描述的过程为设计如下程序提供基础顺序处理一个或多个输入文卷以定义的记录组的逻辑顺序访问每个输入文卷每个输入文卷中的记录包含特定的数据项这些数据项用来确定处理序列中所要求的控制是否有变化本标准中描述的过程遵守下列限制用可确定控制变化的数据项来构成层的逻辑序列使得在某一层的控制变化隐含着其下层的控制变化本标准只描述顺序处理的输入文卷所描述的过程并未详述依赖于用户问题或安装的例行程序尤其不详述下列几点完整过程
4、初始化对多于一个输入文卷的访问顺序用于处理的逻辑记录的装配方法在任意层上有或无控制间断时相应采取的动作可能有的正常处理完整过程终止定义下列定义适用于本标准完整过程本标准所描述的从过程的入口开始到该过程的出口为止的全部活动主过程在完整过程内从通用初始化例行程序之后到通用终止例行程序之前的所有活动逻辑记录由一个单迭代的主过程处理的数据集合注它可能是单个物理记录的一部分或全部也可能是一组记录的一部分或全部首先输入的例行程序那些要求获得逻辑记录若存在的话并首先处理的活动输入例行程序那些要求获得逻辑记录并随后处理的活动注如果没有逻辑记录可处理则输入结束的条件变为真控制字段由一个或多个其值可改变或不变的输
5、入变量所组成它在连续逻辑记录之间影响主过程的控制流层若一个逻辑记录含有多个控制字段元素并假设这些元素彼此有一个层次关系以便指明一逻辑分组称层次中的适当位置为层并借助层号来指示它注本标准中仅分配层号如下最下级的控制字段元素为层依次为层等等若存在层则最高级的控制字段元素应在层层控制间断当前逻辑记录并且在指定层内的控制字段元素的值与紧接着先前处理过的逻辑记录的某些元素的值不同时所发生的情况注控制字段元素的值应从适当层的初始化例行程序的当前逻辑记录获得当在高于层的某层值有变化时则发生检验控制字段的动作并在从属于实际发生变化的那一层的所有以下层上登记控制间断层记录组层记录组是记录的集合它的控制字段元素系
6、指层及其以上的所有层的控制字段元素层终止例行程序当出现层控制间断以结束处理所有的属于层记录组的记录时所要求的活动层初始化例行程序当出现层控制间断以开始处理所有的属于层记录组的记录时所要求的活动不变化的层当层发生一个控制间断但并不发生层控制间断时所要求的那些活动方法的描述本章的描述应同图一并阅读这里是在完整过程之入口程序承担必要的初始化动作例如若预先未分配则得到并打开输入文卷然后程序进入首先输入的例行程序并检验是否有实际的输入数据要处理如果没有则程序执行空文卷处理例行程序并经由完整过程的终止例行程序退出完整过程如果有输入数据要处理则程序执行通用初始化例行程序再依次进入该层初始化例行程序从最高层开
7、始直到完成层初始化止然后程序进入第一个逻辑记录的正常处理例行程序其后程序重复迭代从层开始对于每个逻辑记录测试控制间断如条中定义的那样若值在某层确实有变化则在该层以下的所有各层处登记控制间断因此若在层没有控制间断且对于任何控制字段元素也没有值的改变则程序进入无变化的层例行程序当使用时并对于当前逻辑记录继续执行正常处理例行程序若在层出现一个控制间断则程序进入层终止例行程序然后在层测试控制间断若在层没有控制间断则控制流依次通过无变化的层当使用时层初始化和正常处理例行程序否则进入层终止例行程序并且测试层是否有控制间断等等如果在最高层或者在第层处有控制间断则控制间断登记到该层以下的所有层中并对包括上述层
8、在内的每一层产生层终止动作然后程序测试输入结束条件是否为真若为真执行通用终止例行程序并经由完整过程的终止例行程序退出完整过程否则在进入正常处理例行程序前依次从层到层进入层初始化例行程序方法的描述本章的描述应同图一并阅读在完整过程之入口程序承担必要的初始化动作例如若预先未分配则得到并打开输入文卷然后程序进入首先输入的例行程序并检验是否有实际的输入数据要处理如果没有则程序经由完整过程的终止例行程序退出完整过程若有输入数据要处理则程序依次进入层初始化例行程序从最高层开始直到完成层初始化止然后进入第一个逻辑记录的正常处理例行程序其后程序重复迭代从层开始对每个逻辑记录测试控制间断如条中定义的那样若值在某
9、层确实有变化则在该层以下的所有各层处登记控制间断因此若在层没有控制间断且对于任何控制字段元素也没有值的改变那么程序对于当前逻辑记录继续执行正常处理例行程序若在层出现一个控制间断则程序进入层终止例行程序然后在层测试控制间断若在层没有控制间断则控制流依次通过层初始化和正常处理例行程序否则进入层的终止例行程序并且测试层控制间断等等如果在最高层或者在第层有控制间断则在所有从属层登记控制间断并在包括第层在内的每一层产生层终止动作然后程序测试输入是否结束若为真经由完整过程的终止例行程序退出完整过程否则在进入正常处理例行程序前依次从层到层进入层初始化例行程序若对无变化的层例行程序还有任何要求那么可在初始化和
10、或终止例行程序中加入适当动作若要求无变化的层例行程序则插入此处图方法流程图图方法流程图附录标准的附录实现建议控制字段的组织控制字段中的元素可邻接也可以不邻接邻接的这种安排有其优越之处但逻辑记录的布局应服从另外的考虑若图中画出的排列可行则应在实现中加以考虑否则为便于控制间断测试的访问输入例行程序的逻辑应把控制字段元素放到工作存储器的某个区域各控制字段是按有效位的次序排列的最高层的控制字段元素层是最高有效字段后面紧跟另外的若干控制字段元素以及最低层的控制字段元素层层是最低有效字段在测试层控制间断时将当前逻辑记录的控制字段元素按从层到层升序方式与先前已处理过的逻辑记录作比较表示出了对于若干连续逻辑记
11、录要登记的控制间断的各层这里假设控制有四层通用终止当处理了所有的输入后应对所有的层执行层终止动作输入结束条件通常在输入例行程序内出现并建议在这种情形下输入例行程序将控制字段置较高值除非这些值是通过出现在输入上的高值记录而得到的在许多应用中习惯于在到达实际输入结束时便产生有关信息如将检验和传送到输出文卷或在分析资料上打印出总数层终止例行程序应当注意虽然一控制间断可以登记为检验当前逻辑记录的控制字段元素的结果但该记录的信息内容并不会有助于它在层终止例行程序中的处理控制字段元素控制字段元素层控制字段元素层层层层图在控制字段测试中所使用的控制字段各部分表控制字段间断的例子控制值控制字段元素内容层层层层
12、控制间断登记处首先传递层和层层层附录提示的附录应用举例预算分析维护文卷包含了按管理部门的科室范围内的预算中心若干组所编制的详细费用支出某个预算中心可能有多于一个以上的记录产生的一项分析示出了每个分组层的费用摘要为有利于本例的描述像失序的输入文卷或无效的控制字段这类逻辑差错不在这里讨论完整过程初始化例行程序打开输入文卷和一个打印流输入例行程序首先输入的例行程序从输入文卷获得下一个第一个记录并提供具有下列值的控制字段元素层管理部门层科室层预算中心通用初始化例行程序清除最后的总计当处理了所有的输入之后通用终止例行程序另起一页打印最后的总计通过比较当前输入记录的控制字段与先前处理过的记录的控制字段来登记控制间断其动作在表中予以概括注意本例中没有不变化的层例行程序表预算分析中的控制间断动作控制间断层和含义层终止例行程序层初始化例行程序预算中心打印中心总计把预算中心总计加到科室总计清除预算中心总计在旧记录的所有层上建立控制字段元素科室打印科室总计把科室总计加到管理部门总计清除科室总计若本页所余的行数不满行则开始新页表完控制间断层和含义层终止例行程序层初始化例行程序部门打印部门的总计把管理部门总计加到最后的总计清除管理部门总计开始新页正常处理例行程序应将详细的费用加到预算中心总计如果有差错信息完整过程终止例行程序打印差错信息并关闭输入文卷和打印流