旧代码整理用的小程序

发布于 2022-09-02 08:15:12 字数 8216 浏览 14 评论 2

程序功能:这次小项目的维护内容是需要检索5年前的源代码,去掉1-5列的项目编号。删除5年前的注释掉的代码需要。
          前者是程序完成的,后者是手动完成的。
操作步骤:1。命令行call change(要检索的mbr名)
          2。用strseu打开mbr
               3。搜索935A,人工判定需要删除的代码,执行删除。
          4。SEU命令行敲入C 935A ''  A将所有的935A替换成空。退出保存即可。
             如果担心MBR中有935A这个字符串。可以修改mysql.rpgle,换成不易混淆的编号。
说明:hex(substr(srcdta,5,1))= '22' 是代码行中的颜色标记,16进制,占位但seu目视看不到。感谢isee帮忙确认使用这个方法进行判定。

很好玩地。 大家一起研究。
            
change.clp
*****************************************************
             PGM        PARM(&MBR)                                      
             DCL        VAR(&MBR) TYPE(*CHAR) LEN(10)                  
             OVRDBF     FILE(QrpgleSRC) TOFILE(mylib/QrpgleSRC) +   
                          MBR(&MBR)                                    
             CALL       PGM(mylib/MYSQL)                              
             DLTOVR     FILE(*ALL)                                      
             ENDPGM                                                     

mysql.sqlrpgle
*****************************************************
c/exec sql                                          
+ update mylib/qrpglesrc set                     
+ SRCDTA='935A '||SUBSTR(SRCDTA,6,95)               
+ where (int(SRCDAT/10000) <=4 or                  
+ srcdat=        0 OR                              
+ int(srcdat/10000)>10)                             
+ AND SUBSTR(SRCDTA,7,1) = '*'                     
+ AND hex(substr(srcdta,5,1))<>'22'                 
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%Rev#%'         
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%====%'         
c/end-exec                                          
c/exec sql                                          
+ update mylib/qrpglesrc set                     
+ SRCDTA='935A'||SUBSTR(SRCDTA,5,96)               
+ where (int(SRCDAT/10000) <=4 or                  
+ srcdat=        0 OR                              
+ int(srcdat/10000)>10)                             
+ AND SUBSTR(SRCDTA,7,1) = '*'                 
+ AND hex(substr(srcdta,5,1))= '22'            
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%Rev#%'     
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%====%'     
c/end-exec                                      
c/exec sql                                      
+ update mylib/qrpglesrc set               
+ SRCDTA='     '||SUBSTR(SRCDTA,6,95)         
+ where (int(SRCDAT/10000) <=4 or              
+ srcdat=        0 OR                          
+ int(srcdat/10000)>10)                        
+ AND SUBSTR(SRCDTA,1,4) <>'    '              
+ AND SUBSTR(SRCDTA,7,1) <>'*'                 
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%Rev#%'     
+ AND SUBSTR(SRCDTA,1,5) NOT LIKE '%====%'     
c/end-exec                                      
C/EXEC SQL COMMIT                                                   
C/END-EXEC                                                           
C                   SETON                                        LR  
C                   RETURN

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鼻尖触碰 2022-09-02 11:42:55

辛苦。有用。

樱花坊 2022-09-02 10:54:04

都应该可以程序实现吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文