12.16.Q.RPGIIIからRPGIVにするコマンドで、IFとかEVALとかのフォーマットに変換するコマンドは無いですか? | |||||||||
AS/400のIBM提供コマンドCVTRPGSRCでは、IFやDOが昔のフォーマットのままですよね。300ドルですが、コマンドを提供しているサイトがあります。CVTILEFMTというコマンドです。BVS/Tools - AS/400 Shareware, e-Consulting and More!にあります。使い方は、いったん、CVTRPGSRCで変換したソースを、さらに、CVTILEFMTで変換します。 ※ EVAL命令の数字のオーバーフローに気をつけてください。
オリジナル C******************************************************
C* DEFINITION MODULE ( PLIST FIELD KLIST ) *
C******************************************************
C* ;
C* DEFINE ENTRY ;
C* ;
C *ENTRY PLIST ;
C PARM PILTR 200 ;LETTERS
C PARM PILEN 30 ;COMENT
C PARM POLTR 200 ;COMENT
C******************************************************
C* M A I N - R O U T I N E
C******************************************************
C MOVE *BLANK POLTR ;
C* ;
B001 C STRLEN IFGE PILEN ;
001 C MOVELPILTR POLTR ;
+001 C ELSE ;
001 C PILEN SUB STRLEN WORK 30 ;
001 C WORK MULT .5 MGN 30 ;
001 C POLTR CAT PILTR:MGN POLTR ;
E001 C END ;
C* ;
C MOVE *ON *INLR ;
C RETRN ;
CVTRPGSRCの結果C****************************************************** C* DEFINITION MODULE ( PLIST FIELD KLIST ) * C****************************************************** C* ; C* DEFINE ENTRY ; C* ; C *ENTRY PLIST C PARM PILTR 200 C PARM PILEN 3 0 C PARM POLTR 200 C****************************************************** C* M A I N - R O U T I N E C****************************************************** C MOVE *BLANK POLTR C* ; C STRLEN IFGE PILEN C MOVEL PILTR POLTR C ELSE C PILEN SUB STRLEN WORK 3 0 C WORK MULT .5 MGN 3 0 C POLTR CAT PILTR:MGN POLTR C END C* ; C MOVE *ON *INLR C RETURN CVTILEFMTの結果 C******************************************************
C* DEFINITION MODULE ( PLIST FIELD KLIST ) *
C******************************************************
C* ;
C* DEFINE ENTRY ;
C* ;
D MGN S 3 0
D PILEN S 3 0
D PILTR S 200
D POLTR S 200
D STRLEN S 3 0
D WORK S 3 0
C *ENTRY PLIST
C PARM PILEN
C PARM POLTR
C******************************************************
C* M A I N - R O U T I N E
C******************************************************
C MOVE *BLANK POLTR
C ' ' CHECKR PILTR STRLEN
C* ;
C IF (STRLEN >= PILEN)
C MOVEL PILTR POLTR
C ELSE
C EVAL WORK = (PILEN - STRLEN)
C EVAL MGN = (WORK * .5)
C POLTR CAT PILTR:MGN POLTR
C ENDIF
C* ;
C MOVE *ON *INLR
C RETURN
2000-9-22 |
|
You are at K's tips-n-kicks of AS/400
|
|
|||
|
|