如何删除自己创建的module和CRTPGM的程序?
怎么样删除module和CRTPGM以及CRTSRVPGM的程序?
还有就是,在CLLE中只可以进行CALL/CALLPRC么,RPGLE中只能CALL/CALLB?谢谢.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
怎么样删除module和CRTPGM以及CRTSRVPGM的程序?
还有就是,在CLLE中只可以进行CALL/CALLPRC么,RPGLE中只能CALL/CALLB?谢谢.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
谢谢啊,呵呵.
CALL:动态调用,程序和程序之间.
CALLB:静态调用,只局限与一个程序bound的modules间的调用.比如,CL程序作为interface,传入一个参数给RPGLE,RPGLE中CALLB一个公共程序(CRTBNDRPG). 此时RPGLE和公共程序必须bind,CL可bind,也可以不bind。
CALLP:静态调用。
CALL和CALLP可以调用系统特殊子例程,如获得信息子例程,CALLB不可以.
不过在CL中可以用CALLPRC PRC(CEEDOD),14可以编译。这里是因为CEEDOD is system apis么?
LZ,你要搞搞清楚
在RPGLE中,有CALL ,CALLB 和CLLP三个概念,具体区别查资料
在CLLE中有CALL和CALLPRC
CALL的话是CALL PROGRAM,属动态调用,14就可以直接编译成program CRTBNDRPG/CRTBNDCL
如果用到CALLPRC或者CALLP CALLB,属于静态调用(CALLB看情况可能静态也可能动态),本身无论调用还是被调用都是MODULE,不能看作是一个完整的PROGRAM,所以14编译是不行
要15先编译成把调用和被调用编译成MODULE,然后在用CRTPGM把MODULE绑到一起
在RPGLE中往往一个PROGRAM会调用到很多MODULE,这个时候常用的MODULE就会放到SRVPGM里面,然后做成BNDDIR
用CRTPGM的时候就不需要一个个的输入那么多的MODULE
PGM PARM(&TEXT)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(10)
CALLPRC PRC(ZPROC1) PARM(('0'))
CALLPRC PRC(ZPROC1) PARM(('1') (&TEXT))
CALLPRC PRC(ZPROC1) PARM(('1') ('GOODBYE'))
ENDPGM
14编译出错了,15编译就OK?如果CALLPRC-----》CALL,14可以编译.
还有,当CLLE里面是CALL时,只能用14来编译?CALLPRC时用15?
为什么CRTPGM创建的程序不需要进行编译?
无语,删除它们竟然可以直接DLTXXX,哎!这样是完全删除么,我记得删除时,需要在WRKOBJPDM和WRKMBRPDM2边一起删除的?