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命令の数字のオーバーフローに気をつけてください。 2000-9-23追記
オリジナル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
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||