关于模块编译管理
背景
现在我们存在一个模块要编译或者参数(必须的不是可选得)需要增加,那么我们需要变异涉及到该模块的所有的程序,每次都需要Find一遍Source,找出对应的模块,如果是模块CALL模块,那就更加复杂了,需要找到这个调用该模块的模块对应的程序,以此类推,递归的查找,并且发布的时候还需要一个一个的编译,并且编译到远程的生产主机上。为了减轻维护的困难,我们应该建立一个模块对应的程序的管理程序,同时能够提供对该程序进行本地编译(800的编译—已有该CL能够提供)和远程编译(810的编译也已经完成)的功能,以及简单的查找该模块对应的程序,至于递归的查找有程序员再次输入该模块,然后查找添加。
实现方式:
建立模块对应的数据库,需要存储的信息:模块名,模块描述,调用的程序名,程序描述。
进入程序
选出所有的模块名字
选择1 进入
列出该模块对应的程序
F5 启动查找模块对应的调用的程序名,需要把模块自身给剔除
由于,备注关键自定义了模块自身
查找临时存放程序名对应的PF,并显示
用户选择,并把这些程序名添加入模块对应的程序名数据库中
(如果该程序名已经存在,则跳过,并予以提示)
选择功能
3 本地编译 调用800的编译CL,编译该程序名对应的程序
5 远程编译 调用远程编译CL,把该程序编译到生产机
查找模块对应的程序名的实现
如果临时的存放Spool file 内容的PF不存在
创建一个临时的PF
否则
CLRPFM该PF
如果临时的存放程序名的PF不存在
创建一个临时的PF
否则
CLRPFM该PF
用CL调用FNDSTR-不确定好像是这个命令,回头需要检测
该FNDSTR得到的Spool file的名字好像是Q开头的一个名字
对该Spool file copy到一个临时的存放Spool file 内容的PF
读取该PF
我们可以依据特征,比如 某个位置的特征串开始出现的时候,表明了所列出来的
程序的列表开始出现
把这些程序添加到临时存放程序名的PF中