Ich hätte das so umgesetzt wie oben beschrieben, aber es funktioniert leider nicht.
Was mache ich falsch?
Code:
 /TITLE                                                          
H dftactgrp(*no) actgrp('QILE')                                  
H option(*srcstmt:*nodebugio)                                    
H DECEDIT('0,')  DATEDIT(*YMD)                                   
H datfmt(*iso)                                                   
D* externe prozedur einer Messagebox                             
D DSPTXTMSG       PR                                             
D  InString                  65535A                              
D  InTitle                     132    options(*nopass)           
D*                                                               
D DSPTXTMSG       PI                                             
D  InString                  65535A                              
D  InTitle                     132    options(*nopass)           
D*                                                               
D MSGBOX          PR                  EXTPGM('QUILNGTX')         
D  ParmTEXT                  65535    varying const              
D  ParmTitle                   132    varying const              
D pErrCode                            LIKEDS(ErrCode)            
D                                                                
D ErrCode         DS                  QUALIFIED                  
D  BytesAvalable                10I 0 INZ(*ZEROS)                
D  BytesReturn                  10I 0 INZ(*ZEROS)                
D  MSGID                         7    INZ(*BLANKS)               
D  RESERVE                       1    INZ(X'00')                     
D  EXCEPTDATA                65500    INZ(*BLANKS)                   
D                                                                    
D MSGTEXT         S          65535    VARYING                        
D MSGTITLE        s            132    varying inz(*blank)            
 /FREE                                                               
                                                                     
      ErrCode.BytesAvalable = %size(ErrCode);                        
      ErrCode.BytesReturn   = *ZEROS;                                
                                                                     
      IF %parms = 1;                                                 
        MSGTEXT = inString;                                          
      ENDIF;                                                         
                                                                     
      IF %parms = 2;                                                 
        MSGTEXT  = inString;                                         
        MSGTITLE = %trimr(inTitle);                                  
      ENDIF;                                                         
                                                                     
      MSGTEXT = '+                                                   
      D -- Einen RPG-formatierten Speicherauszug erstellen. +        
      S -- Einen Systemspeicherauszug erstellen.';                   
                                                                     
      callp MSGBOX(MSGTEXT: MSGTITLE: ErrCode);                      

      Return;                
 /END-FREE