2008/10/2 Shimon Lebowitz <[EMAIL PROTECTED]> > > a) regarding DMSPLU, I have an exec named SETDATI which > embeds DMSPLU. IIRC, it was based on an ancient EXECSERV > function. My exec supports ! (exclamation point) instead > of / (slash) as the date delimiter, allowing me to use it > from Filelist.
My Fixdate supports various date formats, you can even tell to leave date or time unaltered... If you use FILELIST (ISODATE, no slash problems, and if you use my FILELIST extensions commands can contain a /: simply double them, e;g. FIXDATE / mm//dd//yy = -- Kris Buelens, IBM Belgium, VM customer support ------------------- FIXDATE EXEC ------------- /* This exec allows to change a file's date/time stamp. It is a frontend for DMSPLU. +-----------------------------------------------------------+ | format: | FIXDATE fn ft fm <(> date <time> | +-----------------------------------------------------------+ Where: - fn, ft and fm are the fileid. We support mixed case fileids: we first try without uppercase translation. - "date" is "mm/dd/yy", any format used by FILELIST, or an = sign Examples: 09/30/1997, 9/30/1997, 12/01/97, 1997-12-01 The latter format is very useful for users of FILELIST (ISODATE Note: the 4-digit years require CMS 13 or higher. - "time" is "hh:mm:ss" an = sign or the format used by FILELIST Examples: 9:12:45 09:12:45 Written by: Kris Buelens IBM Belgium; BUELENSC at IECVM 7 Feb 1992*/ /* 15 Nov 1993: Allow an ( between fid and date */ /* 6 Aug 1997: Support Year 2000 dates */ /* Check if disk is a R/W disk */ /* 17 Oct 1997: Accept = for date and time */ /* Accept an ISODATE as input */ address command parse arg fn ft fm date time . if left(date,1)='(' then parse arg '('date time . if fm='' then call errexit 5,'Need at least to specify: fn ft fm date' if date='' then call errexit 5,'Need at least to specify the new date' upper fm 'ESTATE' fn ft fm if rc=28 then upper fn ft 'MAKEBUF' 'CMDCALL LISTFILE' fn ft fm '(DATE STACK' lrc=rc if lrc=0 then parse pull . . . . . . . ldate ltime . 'DROPBUF' if lrc^=0 then exit lrc 'ESTATEW' fn ft fm if rc=28 then call ErrExit rc,'File' fn ft fm 'resides on a R/O disk' if abbrev('=',time) then time=ltime if date='=' then date=ldate if length(date)=7 then date=0||date if length(date)=9 then date=0||date if length(time)=7 then time=0||time if verify(date,'1234567890/-')^=0 | find(8 10,length(date))=0 then call errexit 5,'Invalid date "'date'"' If substr(date,5,1)substr(date,8,1)='--' then date=translate('Mm/Dd/CcYy',date,'CcYy-Mm-Dd') if verify(time,'1234567890:')^=0 | length(time)^=8 then call errexit 5,'Invalid time "'time'"' 'DMSPLU' Fn Ft fm date time if rc=24 then call errexit rc,'Date "'date'" and/ or time "'time'" invalid for DMSPLU.' if rc^=0 then call errexit rc,'Retcode' rc 'of DMSPLU.' exit ERREXIT: parse source . . myname mytype . syn . Say arg(2) Say 'Format is: ' myname 'fn ft fm date <time>' exit arg(1)