Hallo liebes Forum,

ich habe bisher immer meine RPG Programme mit 14 kompiliert.
Da ich mir einen „sauberen“ Programmstil aneignen möchte hätte ich da folgende Frage:
Wir definieren das meiste was Unterroutinen angeht immer wieder im Programm selber und verwenden dh. sehr selten (selbergeschriebene) Prozeduren bzw. Service Programme.
Kann mir jemand an folgenden Beispiel von Michael Catalani erklären welche Programme wie ich zu wandeln habe und einen kleinen Crashkurs geben?
Code:
Teildatei  Art         Text                                          
JOBLOG_P    RPGLE       JOBLOG SERVICE PROGRAMM PROTOTYPES            
JOBLOG_R    RPGLE       JOBLOG SERVICE PROGRAMM TESTAUFRUF    
JOBLOG_S    RPGLE       JOBLOG SERVICE PROGRAMM SERVICE PROGRAMM
Programm: JOBLOG_P
Code:
 *************************************************************************** 
 ** J O B L O G    P R O T O T Y P E S                                       
 ***************************************************************************  
 /if defined( JOBLOG_P )                                                      
 /eof                                                                         
 /endif                                                                       
                                                                             
 /define JOBLOG_P                                                             
                                                                             
D Qp0zLprintf     PR            10I 0 ExtProc( 'Qp0zLprintf' )                
D  szOutputStg                    *   Value Options( *String )                
                                                                             
D JobLog_Write    PR            10i 0                                         
D   JobLogInfo               65535a   Varying  Const


Program: JOBLOG_S
Code:
 ************************************************************************** 
 *  J O B L O G    S E R V I C E    P R O G R A M                           
 *  JobLog_Write - Writes a joblog entry.                                   
 *                 example:  JobLog_Write( 'Write this data' );             
 ************************************************************************** 
H NoMain                                                                    
 /copy QRPGLESRC/TARSRC,JobLog_p                                            
                                                                           
P JobLog_Write    B                   Export                                
D JobLog_Write    PI            10i 0                                       
D  JobLogInfo                65535a   Varying Const                         
D*                                                                          
D  LogData        S          65535a   Varying                               
D  ErrorCode      S             10i 0                                       
D*                                                                          
 /FREE                                                                      
   LogData = JobLogInfo + x'25';                                            
   ErrorCode = Qp0zLprintf( LogData );                                      
                                                                           
   return ErrorCode;                                                        
                                                                           
 /END-FREE                                                                  
P                 E
Program: JOBLOG_S
Code:
H DftActGrp( *No ) ActGrp( *NEW ) BndDir( 'CF' ))                     
                                                                     
 /copy QRPGLESRC/TARSRC,JobLog_p                                      
                                                                     
 /free                                                                
  JobLog_Write( 'Program Called At ' + %char( %TimeStamp ));          
  *inlr = *on;



Dank im Voraus

TARKI