Thank you for the memo. I have SFPURGER but he don't work (msg RUN or FORCE CONTROL file not found) I don't known why (My VM is VM/ESA 2.1.0 level 9502 - I know it is very old !) I used SFPURGER in my primary machine (VM/ESA 2.2.0 - 9902).
Ideally the exec run every day to manage very few files (50 to 100 files) and kept only files from the latest 10 days. Older files are purged except some owner (MAINT, OPERATOR, ...) My VM must running without people for long period Thanks J-Marc Gibey > Message du 27/10/05 16:24 > De : "Mike Walter" <[EMAIL PROTECTED]> > A : [email protected] > Copie à : > Objet : Re: Housekeeping reader files > > The REXXDATE MEMO is easy (see below). > > Tools to manage SPOOL files is more difficult. Can you define the problem > a little better? > - How many files will the application manage, and how often will it run? > - What the date of the oldest SPOOL file? > - How long should the SPOOL files be retained? > - Once exceeding the retention period, what should be done with the old > file (purge, archive/purge, etc.) > > Have you looked at the SFPURGER EXEC? It used to be part of the "CMS > Utilities Features" (also known as CUF). I'm not sure when it was > incorporated into CMS/ > > Mike Walter > Hewitt Associates > The opinions expressed herein are mine alone, not my employer's. > > > ---<snip>--- > The REXXDATE utility > > > > One of the most common problems encountered in writing REXX > programs which perform system functions is the conversion of > dates to numbers suitable for doing calculations. For example, > it's often important to know how many days there were between > December 12, 1986 and January 9, 1987. Or the Julian date value > of February 11, 1986. Or you might want to know what day of the > week March 23, 1986 was? > > While one could write REXX code to do these calculations, it > is slow and a pain in the butt. Plus the resulting code is rarely > pretty to look at. It was this need that resulting in the writing > of REXXDATE. REXXDATE is a module, which when called, loads > itself as a nucleus extension, and then defines entry points > RXDATE2D, RXD2DATE, RXTIME2D, RXD2TIME and RXDATE2W. These can > then be called by the REXX functions DATE2D, d2Date, TIME2D, > D2TIME and DATE2w respectively. The functions can then be dropped > and the memory they use cleared, by simply using 'NUCXDROP > REXXDATE'. To install the REXXDATE functions one simply needs to > put the REXXDATE MODULE on an ACCESSed minidisk. To make it > accessible to everyone it should probably be put on the 19E ('Y') > disk. > > REXXDATE was written by Alex Kodat at the Johns Hopkins Uni- > versity School of Hygiene and Public Health. > > The REXXDATE DATE2D, d2Date and DATE2w functions use formats > compatible with the DATE function in REXX. The REXXDATE functions > use the following formats for dates. > > > * A (rexx defAult) dd Mmm yyyy. This is the format returned > when the REXX date function is called without parameters > (i.e. DATE() ). The case of the month is ignored, as its > length. Leading, intervening and trailing blanks are ignored. > Examples of valid 'A' format dates : > > '11 Jan 1985' > ' 22 February 1977 ' > ' 02 Marc 1609' > '25 dECEM 1954' > > * C (Century) ddddd. Day number in the 20th century. The centu- > ry is assumed to be the 20th. Examples of Valid 'C' format > dates : > > '1' > '35600' > > * E (European) dd/mm/yy. > > > > > > > > > > > > page 2 > ----------------------------------------------------------------- > > > * J (Julian-OS) yyddd. OS format dates. > > * M (Month) Mmmmmmmm. The name of a month, i.e. 'August', 'Sep- > tember', etc.. This format is only used as a result from the > function D2DATE. > > * O (Ordered) yy/mm/dd. > > * S (Sorted) yyyymmdd. Examples of valid 'S' format dates : > > '17760704' > '19800101' > > * U (USA) mm/dd/yy. > > * V (Vernacular) Mmmmmmmmmmm dd{,} yyyy. Month name, followed > by day and year. Leading, trailing and intervening spaces are > ignored. A comma is allowed between the day and the year num- > bers. Only the first three characters of the month name are > required. Examples of valid 'V' format dates : > > 'Jan 1 1980' > ' JULY 4,1986' > ' september 24 , 1970 ' > > * W (Weekday) Wwwwwwww. The name of a day of the week, i.e. > 'Tuesday', 'Saturday',etc.. This format is only used as a > result from the function D2DATE. > > Descriptions of the REXXDATE functions are given below. > > > DATE2D(date{,option1{,option2{,...}}) > > Returns the number of days since the start of the Gregorian > calendar (January 1 ,1601) that the given date falls on. If > the date is not a valid date the function returns a -1 val- > ue. The options specify the format of the date. The format > can be any one of the above described date formats, except M > or W. If no option is specified the format is assumed to be > 'A'. When multiple options are specified, the options are > tried in order, until the date matches an option's format. > If it does not match any of the options a -1 is returned. > This allows one to easily write a program which accepts > dates in any one of several formats. For example : > > DATE2D('12/22/86','A','U','V') --> 140974 > DATE2D(' January 11,1986 ','A','U','V') --> 140974 > DATE2D('11 Jan 1986','A','U',V') --> 140974 > > > > > > > > > > > > > > page 3 > ----------------------------------------------------------------- > > > Be careful, however, certain dates can represent different > things in the 'E', 'O' and 'U' formats. > > > DATE2W(date{,option1{,option2{,...}}) > > Returns the day of the week that the given date falls on. If > the date is not a valid date the function returns a -1 val- > ue. The options specify the format of the date. The format > can be any one of the above described date formats, except > 'M' or 'W'. If no option is specified the format is assumed > to be 'A'. When multiple options are specified, the options > are tried in order, until the date matches an option's for- > mat. If it does not match any of the options a -1 is > returned. This allows one to easily write a program which > accepts dates in any one of several formats. For example : > > DATE2W('12/22/86','A','U','V') --> 'Monday' > DATE2W(' January 11,1986 ','A','U','V') --> 'Saturday' > DATE2W('11 Jan 1986','A','U',V') --> 'Saturday' > > Be careful, however, certain dates can represent different > things in the 'E', 'O' and 'U' formats. > > > D2DATE(number,{option}) > > Returns a date in one of the above defined formats corre- > sponding to a decimal number (number) which indicates the a > number of days since the start of the Gregorian calendar > (january 1 1601). If no option is specifieded the 'A' for- > mat is used. For example : > > D2DATE(1) --> '1 Jan 1601' > DATE2D(100000,'V') --> 'October 16,1874' > DATE2D(140000,'U') --> '04/22/84' > > Note that requesting a date which assumes a century (such as > the 'U' format) with a number corresponding to a date out- > side that century will produce a REXX error. > > > TIME2D(time) > > Returns a number of seconds since midnight for a time in the > format hh{:mm{:ss}}. If minutes or seconds are not specified > they are assumed to be 00. For example : > > TIME2D(11) --> 39600 > TIME2D('11:10') --> 40200 > DATE2D('11:10:50') --> 40250 > > > > > > > > > > > > page 4 > ----------------------------------------------------------------- > > > D2TIME(number) > > Returns a time based on a number of seconds since midnight > (number). For example : > > TIME2D(1000) --> '00:16:40' > TIME2D(10000) --> '02:46:40' > DATE2D(50000) --> '13:53:20' > > > > Usage Notes > > > * The DATE2D and D2DATE funtions are effectively inverses and > can be used to convert the format of a date. For example, to > find the Julian equivalent of a date x, where x is a date in > U format one simply needs to enter D2DATE(DATE2D(x,'U'),'J'). > > * To get todays number one simply needs to enter > DATE2D(DATE()); > > * If one wants a day of the week number, rather than getting > day of the week in character form one can simply use the > result of the DATE2D function and use the remainder when > divided by 7. For example the day of the week number of today > (SUnday=0, Monday=1, etc..) is DATE2D(DATE())//7. > ---<snip>--- > > > > "J-Marc Gibey" <[EMAIL PROTECTED]> > > Sent by: "VM/ESA and z/VM Discussions" <[email protected]> > 10/27/2005 03:02 AM > Please respond to > "VM/ESA and z/VM Discussions" <[email protected]> > > > > To > [email protected] > cc > > Subject > Housekeeping reader files > > > > > > > Hello, > > I had a very old VM* (ESA 2.2.0) running on a R/390, but after a hardware > failure i'm running now on my backup machine (PC/390) with VM/ESA 2.1.0. > Some exec's don't run, because there is new functions between ESA 210 an > ESA > 220 especially with the format date ISO (very useful...). > I need some tools for cleaning daily spool files and also a memo for the > REXXDATE program (I have the program but not the doc!) > > *This VM run daily from 1985 some FORTRAN programs to manage dams for > prevent flood from Loire. > > Thank you for your help > > J-Marc Gibey > Direction régionale de l'environnement > Service de prévisions des crues > Orléans - France > > > > > The information contained in this e-mail and any accompanying documents may > contain information that is confidential or otherwise protected from > disclosure. If you are not the intended recipient of this message, or if this > message has been addressed to you in error, please immediately alert the > sender by reply e-mail and then delete this message, including any > attachments. Any dissemination, distribution or other use of the contents of > this message by anyone other than the intended recipient is strictly > prohibited. > >
