|
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-2024 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.