关于模块编译管理

 

关于模块编译管理

背景

现在我们存在一个模块要编译或者参数(必须的不是可选得)需要增加,那么我们需要变异涉及到该模块的所有的程序,每次都需要Find一遍Source,找出对应的模块,如果是模块CALL模块,那就更加复杂了,需要找到这个调用该模块的模块对应的程序,以此类推,递归的查找,并且发布的时候还需要一个一个的编译,并且编译到远程的生产主机上。为了减轻维护的困难,我们应该建立一个模块对应的程序的管理程序,同时能够提供对该程序进行本地编译(800的编译已有该CL能够提供)和远程编译(810的编译也已经完成)的功能,以及简单的查找该模块对应的程序,至于递归的查找有程序员再次输入该模块,然后查找添加。

实现方式:

建立模块对应的数据库,需要存储的信息:模块名,模块描述,调用的程序名,程序描述。

进入程序

    选出所有的模块名字

    选择1 进入

         列出该模块对应的程序

         F5 启动查找模块对应的调用的程序名,需要把模块自身给剔除

            由于,备注关键自定义了模块自身

            查找临时存放程序名对应的PF,并显示

            用户选择,并把这些程序名添加入模块对应的程序名数据库中

(如果该程序名已经存在,则跳过,并予以提示)

           

         选择功能

            3 本地编译 调用800的编译CL,编译该程序名对应的程序

            5 远程编译 调用远程编译CL,把该程序编译到生产机

 

查找模块对应的程序名的实现

如果临时的存放Spool file 内容的PF不存在

创建一个临时的PF

否则

   CLRPFMPF

如果临时的存放程序名的PF不存在

创建一个临时的PF

否则

   CLRPFMPF

CL调用FNDSTR-不确定好像是这个命令,回头需要检测

FNDSTR得到的Spool file的名字好像是Q开头的一个名字

对该Spool file copy到一个临时的存放Spool file 内容的PF

读取该PF

   我们可以依据特征,比如 某个位置的特征串开始出现的时候,表明了所列出来的

程序的列表开始出现

       把这些程序添加到临时存放程序名的PF

 

原文地址:https://www.cnblogs.com/wildfish/p/243106.html