CL サブルーチン
CL内でもRPGのBEGSRで定義するようなサブルーチンが定義できると、同一処理等が発生する場合は
便利ですよね。
V5R4から、CALLSUBRとSUBRコマンドが新しく増えて、CL内でもサブルーチンが定義できるようになりました
RPGに例えるならば
CALLSUBRコマンドがEXSR
SUBRコマンドがBEGSRに該当するイメージです。
以下に例を書いてみました。
SHOW_TIMEサブルーチンを定義してみました。
サブルーチンでは、タイムスタンムプを取得して、表示しています
RPG:
-
0012.00 PGM
-
0013.00
-
0014.00 DCL VAR(&DATETIME) TYPE(*CHAR) LEN(20)
-
0015.00 DCL VAR(&DATETIME14) TYPE(*CHAR) LEN(14)
-
0016.00
-
0017.00 CALLSUBR SUBR(SHOW_TIME)
-
0018.00
-
0019.00 CALLSUBR SUBR(SHOW_TIME)
-
0020.00
-
0021.00 /*-----------------------------------------------------------------------*/
-
0022.00 /* タイムスタンプ取得 */
-
0023.00 /*-----------------------------------------------------------------------*/
-
0024.00 SUBR SUBR(SHOW_TIME)
-
0025.00
-
0026.00 RTVSYSVAL SYSVAL(QDATETIME) RTNVAR(&DATETIME)
-
0027.00 SNDPGMMSG MSG(&DATETIME)
-
0028.00
-
0029.00 ENDSUBR
-
0030.00
-
0031.00 ENDPGM
-
0032.00 RETURN
トラックバック URL :
コメント (0)