IBM Books

管理与程序设计指南,OS/400 版

直接调用语言环境示例

在此例中,宏调用一个程序并传递多个参数。程序的源代码在宏之后,是用 RPG 和 CL 编写的。被调用的程序 接收两个整数参数。它将第一个参数(输入参数)复制到第二个参数(输出参数)。

宏:

%define ilepgm = "/QSYS.LIB/NETDATADEV.LIB/TDCCLI01.PGM"    
 %define out1  = "0"
                                                                                                                                
 %FUNCTION(DTW_DIRECTCALL) dcFunction(IN INT inp1, 
                                      OUT INT outp2)        
 {  %EXEC { $(ilepgm) %} %}
                                   
%HTML(REPORT){
 @dcFunction("123", out1)
 The value of out1 is: "$(out1)"
 %}

ILE RPG 程序:

 DINP1             S             10I00     
 DOUTP2            S             10I00     
 C*                                        
 C     *ENTRY        PLIST                           
 C                   PARM                    INP1    
 C                   PARM                    OUTP2   
 C*                                                  
 C                   Z-ADD     INP1          OUTP2   
 C*                                                                  
 C                   SETON                                 LR

CL 程序:

 PGM PARM(&INP1; &OUTP2;) 
                                                  
 DCL VAR(&INP1;)  TYPE(*CHAR) LEN(4)                                                   
 DCL VAR(&OUTP2;) TYPE(*CHAR) LEN(4)              
                                                  
 CHGVAR VAR(&OUTP2;) VALUE(&INP1;)                                                                              
 ENDPGM


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]