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
Bookmarks