/* REXX EXEC */ /***************************************************************/ /* AUTHOR - BILL SWEENEY */ /* SSC, INC. (703) 777-2771 */ /* WHSWEENEY@SSCMAINFRAME.COM */ /* WWW.SSCMAINFRAME.COM */ /* DATE - (C) COPYRIGHT 1997 */ /* */ /***************************************************************/ /* TRACE RESULTS */ ARG LISTCAT_DSNAME IF LISTCAT_DSNAME = '' THEN DO SAY 'PLEASE ENTER THE FULL NAME OF THE DATASET YOU WISH TO LIST' PULL LISTCAT_DSNAME IF LISTCAT_DSNAME = '' THEN DO SAY 'NO DATASET NAME SPECIFIED.' EXIT 4 END END LISTCAT_DSNAME = STRIP(LISTCAT_DSNAME,B,'7D'X) /* IN CASE OF QUOTES */ X = OUTTRAP("LISTCENT.",1000,"CONCAT") "LISTC ENT('"LISTCAT_DSNAME"') ALL" CLUSTER_LIST = LISTCENT.0 X = OUTTRAP(OFF) DO I = 1 TO LISTCENT.0 POS_REC_UPDATED = POS('REC-UPDATED',LISTCENT.I,1) POS_TIMESTAMP = POS(" X'",LISTCENT.I,1) IF POS_REC_UPDATED ^= 0 & POS_TIMESTAMP ^= 0 THEN DO PARSE VAR LISTCENT.I REC_UPDATED FREESPACE_CA TIMESTAMP REMAINDER LAST_MODIFIED = 'LAST MODIFIED -' TIMESTMP(TIMESTAMP) LENGTH_LASTMOD = LENGTH(LAST_MODIFIED) LISTCENT.I = OVERLAY(LAST_MODIFIED,LISTCENT.I,POS_TIMESTAMP-4,LENGTH_LASTMOD) END SAY LISTCENT.I END EXIT /*******************************************************************/ TIMESTMP: /* TRACE RESULTS */ ARG TIME_STAMP NUMERIC DIGITS 24 TIME_STAMP = TRANSLATE(TIME_STAMP,"","'X") TIME_STAMP = STRIP(TIME_STAMP,B) LENGTH_TIMESTAMP = LENGTH(TIME_STAMP) IF LENGTH_TIMESTAMP = 16 THEN TIME_STAMP = SUBSTR(TIME_STAMP,1,13) ELSE DO IF LENGTH_TIMESTAMP ^= 13 THEN RETURN '*** ERROR ***' END IF TIME_STAMP = '0000000000000' THEN RETURN '** NO UPDATES **' INTERPRET "SET_TIME = C2D('"TIME_STAMP"'X)" SET_SECONDS = SET_TIME % 60000000 MOD_HOUR = (SET_SECONDS // 1440) % 60 MOD_HOUR = RIGHT(MOD_HOUR,2,0) MOD_MINUTE = ( (SET_SECONDS // 1440) // 60) MOD_MINUTE = RIGHT(MOD_MINUTE,2,0) MOD_TIME = MOD_HOUR':'MOD_MINUTE MOD_DATE = (SET_SECONDS % 1440) + 1 MOD_YEAR = (MOD_DATE % 1461) * 4 MOD_DAY = (MOD_DATE // 1461) IF MOD_DAY % 365 = 0 THEN MOD_DAY = MOD_DAY + 1 MOD_YEAR = (MOD_DAY % 365) + MOD_YEAR MOD_YEAR = RIGHT(MOD_YEAR,2,'0') MOD_DAY = MOD_DAY // 365 MOD_DAY = RIGHT(MOD_DAY,3,0) MOD_DATE = MOD_YEAR'.'MOD_DAY RETURN MOD_DATE MOD_TIME