有没有办法在不打开 RPGLE 程序的情况下从 CL 命令编辑 RPGLE 程序?

Is there a way to edit RPGLE program from CL command without opening RPGLE program?

我有一个如下所示的 RPGLE 程序,它有日期 220318 的标签 AD11,但对于 220317220323 等其他日期没有标签。是否有任何 CL 命令可以为其他两个日期插入 AD11 标记?或者,如果根据作为输入参数提供的日期,位置 1 到 4 中没有标签,是否可以编写任何程序来插入标签?

程序显示 220318

的标签 AD11

任何 suggestions/guidance 不胜感激。

由于源成员存储在文件中,您可以创建一个HLL(RPG或COBOL)程序来修改源成员中的数据。

CL 不能专门这样做,但你可以做的是在 CL 中嵌入 SQL,或者直接通过“STRSQL”嵌入 运行 SQL。

n.b。 SQL 没有成员的概念,因此如果包含您的 RPGLE 源成员的文件有多个成员,您需要在 运行 设置您的脚本之前覆盖该成员。

示例 CL 程序如下所示;

             PGM                                                             
                                                                         
             /* Override file name "QRPGLESRC" to "MYLIB/QRPGLESRC.SRCMBR" */
             OVRDBF     FILE(QRPGLESRC) TOFILE(MYLIB/QRPGLESRC) +          
                          MBR(SRCMBR) OVRSCOPE(*JOB)                       
                                                                         
             /* Update "MYLIB/QRPGLESRC.SRCMBR" */                           
             RUNSQL     SQL('UPDATE QRPGLESRC +                              
                                SET SRCDTA = ''AD11'' || SUBSTR(SRCDTA,5) +  
                              WHERE SRCDAT = 220408') +                      
                        COMMIT(*NONE)                                        
                                                                         
             /* Remove previous override */                                  
             DLTOVR     FILE(QRPGLESRC) LVL(*JOB)                            
                                                                         
             ENDPGM