I want to add 10 days in current date. how it is possible in
CL program...?
Answers were Sorted based on User's Feedback
Answer / arjun
hi kumar and prakash, there is No ADDDATE command in cl.How
can u give? plz tell me? i wanted know.how 2 add days?
Is This Answer Correct ? | 7 Yes | 1 No |
Answer / kanika
convert the date to julian format ,chg varaible from char to dec , add 10 using chgvar,again chgvar to char type,do cnvtdat from julain to whatever format you want the output.
Is This Answer Correct ? | 2 Yes | 2 No |
Answer / c4
TAATOOLS are nice but can get lost, messed up or not be loaded.
This gets the date a week back.
To add change date to YY001 if days are greater than 365 or 366 depending on leap year.
/* GO BACK A WEEK*/
DOFOR VAR(&INT) FROM(1) TO(7)
CVTDAT DATE(&DATE) TOVAR(&JULIAN) TOFMT(*JUL) +
TOSEP(*NONE)
CHGVAR VAR(&DECJULIAN) VALUE(&JULIAN)
CHGVAR VAR(&DECJULIAN) VALUE(&DECJULIAN - 1)
CHGVAR VAR(&JULIAN) VALUE(&DECJULIAN)
/* CHECK IF DECEMBER 31 */
IF COND(%SST(&JULIAN 3 3) *EQ '000') THEN(DO)
CHGVAR VAR(&YEAR#) VALUE(&YEAR)
CHGVAR VAR(&YEAR#) VALUE(&YEAR# - 1)
CHGVAR VAR(&YEAR) VALUE(&YEAR#)
/* CHECK IF LEAP YEAR */
CHGVAR VAR(&REM) VALUE(&YEAR# / 4)
CHGVAR VAR(&REM) VALUE(&REM * 4)
IF COND((&YEAR# - &REM) *EQ 0) THEN(DO)
CHGVAR VAR(&JULIAN) VALUE(&YEAR || '366')
ENDDO
ELSE DO
Is This Answer Correct ? | 1 Yes | 2 No |
Answer / chandrababu
We can add 10 days to current date as below..
DCL VAR(&DAY) TYPE(*CHAR) LEN(2)
DCL VAR(&D1) TYPE(*DEC) LEN(2)
DCL VAR(&MONTH) TYPE(*CHAR) LEN(2)
DCL VAR(&YEAR) TYPE(*CHAR) LEN(2)
RTVSYSVAL SYSVAL(QDAY) RTNVAR(&DAY)
RTVSYSVAL SYSVAL(QMONTH) RTNVAR(&MONTH)
RTVSYSVAL SYSVAL(QYEAR) RTNVAR(&YEAR)
SNDUSRMSG MSG(&DAY *CAT &MONTH *CAT &YEAR)
CHGVAR &D1 &DAY
CHGVAR &D1 (&D1 + 10)
CHGVAR &DAY &D1
SNDUSRMSG MSG(&DAY *CAT &MONTH *CAT &YEAR)
Also you can covert this date by using CVTDAT to any date format you like...
Is This Answer Correct ? | 4 Yes | 6 No |
Answer / john bulloch
DCL VAR(&JOBDATE) TYPE(*CHAR) LEN(6)
DCL VAR(&JULCHAR) TYPE(*CHAR) LEN(5)
DCL VAR(&JULNUM) TYPE(*DEC) LEN(5 0)
DCL VAR(&ISODATE) TYPE(*CHAR) LEN(10)
RTVJOBA DATE(&JOBDATE)
CVTDAT DATE(&JOBDATE) TOVAR(&JULCHAR) FROMFMT(*DMY) +
TOFMT(*JUL) TOSEP(*NONE)
CHGVAR VAR(&JULNUM) VALUE(&JULCHAR)
CHGVAR VAR(&JULNUM) VALUE(&JULNUM -10)
CHGVAR VAR(&JULCHAR) VALUE(&JULNUM)
CVTDAT DATE(&JULCHAR) TOVAR(&ISODATE) FROMFMT(*JUL) +
TOFMT(*ISO)
Is This Answer Correct ? | 0 Yes | 2 No |
Answer / pushyami tulluri
PGM
DCL VAR(&DATE) TYPE(*CHAR) LEN(6)
DCL VAR(&NUMVAR) TYPE(*CHAR) LEN(8)
DCL VAR(&NUMVAR1) TYPE(*CHAR) LEN(5)
DCL VAR(&NUMVAR2) TYPE(*DEC) LEN(5)
RTVSYSVAL SYSVAL(QDATE) RTNVAR
(&DATE)
CVTDAT DATE(&DATE) TOVAR(&NUMVAR) FROMFMT
(*MDY) +
TOFMT(*YMD) TOSEP(*none)
CHGVAR &NUMVAR1 %SST(&NUMVAR 5 2)
SNDUSRMSG MSG('NUMVARIBLE' ||
&NUMVAR1)
CHGVAR &NUMVAR2
&NUMVAR1
CHGVAR &NUMVAR2 (&NUMVAR2 +
10)
/* CHGVAR &NUMVAR1 &NUMVAR2
*/
CHGVAR %SST(&NUMVAR 5 2)
&NUMVAR2
SNDUSRMSG MSG('CURRENT DATE:' ||
&NUMVAR)
ENDPGM
Is This Answer Correct ? | 2 Yes | 5 No |
Answer / vichu
TRY USING THE DATE FUNCTION FOLLOWED BY FUNCTION DATE-OF-
INTEGER /FUNCTION INTEGER-OF-DATE as per ur requirement
Is This Answer Correct ? | 2 Yes | 7 No |
Answer / prakash
PGM
DCL VAR(&DATE) TYPE(*Char) Len(6)
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATE)
ADDDATE DAYS(10) TOVAR(&DATE) TOVARFMT(*SYSVAL) +
DATEFMT(*SYSVAL)
ENDPGM
Is This Answer Correct ? | 1 Yes | 9 No |
what is the necessary command needed before OPNQRYF and why?
WHAT IS MEANT BY SIGNATURE VAILOTION ERROR
What is the purpose of PUTOVR keyword?
difference betwen keywords and opcodes
How can we search particular records from the database file in RPG. For example, there are 100 records in the file.i need to retrieve all the records matching/equal to the particular 'NAME' field. How can we do the above using SEARCH criteria other than using the IF cond?
Can we create 300 logical files based on a single physical file using the CRTLF command only once?.
what is the rpg system?
How to get only unique records from a file which contains duplicate data using CPYF command ? Example : FILEA has duplicate records and FILEB is a UNIQUE defined.... and I want to get the data from FILEA to FILEB by eliminating all the duplicate records...
how do you use commitment control in rpg?
Suppose my file has 10 fields and I want to make the 2nd field zeros in all records. And assume I have millions of records and I dont want to read each record and update the desired field with 0. Any other way to do this in one step operation?
what is post opcode do
How many program bind in one module....