IBM Buch

Verwaltung und Programmierung für OS/400

Beispiel für die Direktaufrufsprachumgebung

Im folgenden Beispiel ruft das Makro ein Programm auf und übergibt mehrere Parameter. Nach dem Makro wird die in RPG und CL geschriebene Quelle für das Programm aufgelistet. Das aufgerufene Programm akzeptiert zwei ganzzahlige Parameter. Es kopiert den ersten Parameter (den Eingabeparameter) in den zweiten Parameter (den Ausgabeparameter).

Makro:

%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-Programm:

 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-Programm:

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


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]