|
I can't help you much with subtracting three days and getting 4/29 (my
program keeps getting 4/28 when subtracting three days from 5/01...) but
the following demonstrates one approach for V5R3 that will handle month
and year adjustments:
PGM
DCL VAR(&CURDATE) TYPE(*CHAR) LEN(20)
DCL VAR(&YYMD) TYPE(*CHAR) LEN(8)
DCL VAR(&LILDATE) TYPE(*INT)
RTVSYSVAL SYSVAL(QDATETIME) RTNVAR(&CURDATE)
CHGVAR VAR(&YYMD) VALUE(%SST(&CURDATE 1 8))
CALLPRC PRC(CEEDAYS) PARM((&YYMD) ('YYYYMMDD') +
(&LILDATE) (*OMIT))
CHGVAR VAR(&LILDATE) VALUE(&LILDATE - 3)
CALLPRC PRC(CEEDATE) PARM((&LILDATE) ('YYYYMMDD') +
(&YYMD) (*OMIT))
ENDPGM
and this is another approach if you happen to be on V5R4:
PGM
DCL VAR(&CURDATE) TYPE(*CHAR) LEN(20)
DCL VAR(&YYMD) TYPE(*CHAR) STG(*DEFINED) LEN(8) +
DEFVAR(&CURDATE)
DCL VAR(&LILDATE) TYPE(*INT)
RTVSYSVAL SYSVAL(QDATETIME) RTNVAR(&CURDATE)
CALLPRC PRC(CEEDAYS) PARM((&YYMD) ('YYYYMMDD') +
(&LILDATE) (*OMIT))
CHGVAR VAR(&LILDATE) VALUE(&LILDATE - 3)
CALLPRC PRC(CEEDATE) PARM((&LILDATE) ('YYYYMMDD') +
(&YYMD) (*OMIT))
ENDPGM
Both programs have &YYMD set to the current system date minus three days.
Bruce Vining
fbocch2595@xxxxxxx
Sent by: midrange-l-bounces+bvining=us.ibm.com@xxxxxxxxxxxx
05/01/2006 09:18 AM
Please respond to
Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
To
midrange-l@xxxxxxxxxxxx
cc
Subject
Date Conversion
Hi, can someone explain how to use cl to calculate dates properly?
I'm using the following;
/* RETRIEVE THE CURRENT SYSTEM DATE & TIME */
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&SYSDAT)
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&SYSTIM)
/* CONVERT THE CURRENT DATE FROM MMDDYY TO YYYYMMDD */
CVTDAT DATE(&SYSDAT) TOVAR(&SYSYYMD) FROMFMT(*MDY) +
TOFMT(*YYMD) TOSEP(*NONE)
/* CREATE PREVIUOS FRIDAY'S DATE BY SUBTRACTING 3 FROM CURRENT DATE */
CHGVAR VAR(&PRVDAT#) VALUE(&SYSYYMD)
CHGVAR VAR(&PRVDAT#) VALUE(&PRVDAT# - 3)
CHGVAR VAR(&PRVDAT) VALUE(&PRVDAT#)
When I run the job on 0501 the pgm returns the date -3 as 20060498. How
would I have to change the code so that it returns 0429?
Any examples appreciated.
Thanks
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.