Hi!
I want a cl program that returns the date 2021-07-01 if i it run today.
ISO Date format = Today
+ 2 month
DAY = 01
In the long run i would like to have a CL program that can calculate year, month and day if i send in parameters.
for example:
CALL CALCDATE PARM Y-5M+5D01
Year - 5 Month + 5 Day Set to 01
Im new to CL, but this will return todays date in iso standard 2021-05-20.
0001.00 PGM PARM(&DATE)
0002.00 DCL VAR(&DATE) TYPE(*CHAR) LEN(50)
0003.00 DCL VAR(&DATE2) TYPE(*CHAR) LEN(6)
0004.00 DCL VAR(&DATE3) TYPE(*CHAR) LEN(50)
0005.00 DCL VAR(&MONTH) TYPE(*CHAR) LEN(2)
0006.00 DCL VAR(&DAY) TYPE(*CHAR) LEN(2)
0007.00 DCL VAR(&YEAR) TYPE(*CHAR) LEN(2)
0008.00 RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATE2)
0009.00 RTVSYSVAL SYSVAL(QDAY) RTNVAR(&DAY)
0010.00 RTVSYSVAL SYSVAL(QYEAR) RTNVAR(&YEAR)
0011.00 RTVSYSVAL SYSVAL(QMONTH) RTNVAR(&MONTH)
0012.00 CHGVAR VAR(&DAY) VALUE(01)
0013.00 CVTDAT DATE(&DATE2) TOVAR(&DATE3) TOFMT(*ISO) TOSEP(-)
0014.00 CHGVAR VAR(&DATE) VALUE('(&YEAR)-(&MONTH)-(&DAY)')
0015.00 ENDPGM
I want a cl program that returns the date 2021-07-01 if i it run today.
ISO Date format = Today
+ 2 month
DAY = 01
In the long run i would like to have a CL program that can calculate year, month and day if i send in parameters.
for example:
CALL CALCDATE PARM Y-5M+5D01
Year - 5 Month + 5 Day Set to 01
Im new to CL, but this will return todays date in iso standard 2021-05-20.
0001.00 PGM PARM(&DATE)
0002.00 DCL VAR(&DATE) TYPE(*CHAR) LEN(50)
0003.00 DCL VAR(&DATE2) TYPE(*CHAR) LEN(6)
0004.00 DCL VAR(&DATE3) TYPE(*CHAR) LEN(50)
0005.00 DCL VAR(&MONTH) TYPE(*CHAR) LEN(2)
0006.00 DCL VAR(&DAY) TYPE(*CHAR) LEN(2)
0007.00 DCL VAR(&YEAR) TYPE(*CHAR) LEN(2)
0008.00 RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATE2)
0009.00 RTVSYSVAL SYSVAL(QDAY) RTNVAR(&DAY)
0010.00 RTVSYSVAL SYSVAL(QYEAR) RTNVAR(&YEAR)
0011.00 RTVSYSVAL SYSVAL(QMONTH) RTNVAR(&MONTH)
0012.00 CHGVAR VAR(&DAY) VALUE(01)
0013.00 CVTDAT DATE(&DATE2) TOVAR(&DATE3) TOFMT(*ISO) TOSEP(-)
0014.00 CHGVAR VAR(&DATE) VALUE('(&YEAR)-(&MONTH)-(&DAY)')
0015.00 ENDPGM
Comment