Previous Topic: Format Print LinesNext Topic: Modified Report


Modified Source Program

The following pages contain a complete expanded copy of the program that produces the modified report. Again, the field definitions for the COPY statements and the RCTAB statement in this input program are included to help illustrate this example. Normally, you specify the COPY HDRECORD, COPY PRECORD, and COPY RCTAB statements only, and without including the field definitions. Following this input program is a copy of the report.

  1       NOTE *‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑*
  2       NOTE * THIS EARL PROGRAM IS BASED ON THE CA ACF2 PW REPORT *
  3       NOTE *‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑*
  4
  5        OPTION PRINTER=132
  6
  7       NOTE *‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑*
  8       NOTE * TO USE SRAM SORT REMOVE NOTE BELOW                         *
  9       NOTE *‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑*
 10       NOTE OPTION SORT=SRAM
 11
 12        ACFFLT: FILE ACFSMFR RECORD=23576
 13
 14       COPY HDRECORD
 16   1
 17   1   NOTE EARL FLAT FILE ‑ COMMON HEADER FIELDS
 18   1    DEF RDW        1‑4     X 'RDW'
 19   1    DEF INDICATOR  5       X 'FLAT' 'IND'
 20   1    DEF RECTYPE    6       X 'REC' 'TYPE'
 21   1    DEF SEQUENCE   7       X 'SEQ' 'NUM'
 22   1    DEF OPSYSTEM   8       X 'OPERATING' 'SYSTEM'
 23   1    DEF HRESERV1   9       X
 24   1
 25   1   NOTE TIME TO 100THS OF A SECOND
 26   1    DEF TIME100   10‑17    N 'TIME'
 27   1    DEF TIME      10‑13    N 'TIME'                  PICTURE 'Z9.99'
 28   1
 29   1   NOTE REDEFINE TIME FIELD INTO SMALLER COMPONENTS
 30   1    DEF HOUR      10‑11    N 'TIME‑HH'
 31   1    DEF MINUTE    12‑13    N 'TIME‑MM'
 32   1    DEF SECOND    14‑15    N 'TIME‑SS'
 33   1    DEF DATE      18‑23    N 'DATE' PIC '99‑99‑99'
 34   1
 35   1   NOTE REDEFINE DATE FIELD INTO SMALLER COMPONENTS
 36   1    DEF MONTH     18‑19    N 'DATE‑MM'
 37   1    DEF DAY       20‑21    N 'DATE‑DD'
 38   1    DEF YEAR      22‑23    N 'DATE‑YY'
 39   1    DEF FCTCODE   24       U 'FUNCTION'   PIC H
 40   1    DEF SMFUID    25‑32    X 'SMF' 'UID'
 41   1    DEF MODULE    33‑40    X 'MODULE'
 42   1    DEF LOGONID   41‑48    X 'LOGONID'
 43   1    DEF UID       49‑72    X 'UID'
 44   1    DEF SOURCE    73‑80    X 'SOURCE'
 45   1    DEF CPU       81‑84    X 'CPU'
 46   1    DEF SYSID     85‑92    X 'SYSTEM' 'ID'
 47   1    DEF EVENTSID  93‑100   X 'EVENT' 'SYSID'
 48   1    DEF LIDSID    101‑108  X 'LID' 'SYSID'
 49   1    DEF USERSID   109‑116  X 'USER' 'SYSID' 
 50   1    DEF JOBNAME   117‑124  X 'JOBNAME'
 51   1    DEF RDRTIME   125‑132  N 'RDR' 'TIME'
 52   1    DEF RDRDATE   131‑138  N 'RDR' 'DATE'
 53   1    DEF SUBMITTOR 139‑146  X 'SUBMITTOR' 'LID/PROC'
 54   1    DEF DELTOD    147‑154  N 'TIME OF' 'DELETE'
 55   1    DEF VERSION   155‑157  X 'VERSION'
 56   1    DEF HRESERV2  158‑232  X 'RESERVED'
 57   1    DEF USERAREA  233‑744 X 'USER AREA'
 58   1   NOTE END OF COMMON HEADER FIELDS
 59
 60       COPY PRECORD
 62   1   NOTE  FLAT FILE TYPE 'P' FIELDS
 63   1   DEF APFIND          745‑747 X 'APF' 'AUTH'
 64   1   DEF PROGRAM         748‑755 X 'PROGRAM'
 65   1   DEF REASON_NUMBER   756‑758 N 'REASON' 'CODE' PIC 'ZZ9'
 66   1     DEF REASON_STRING 756‑758 X 'REASON'
 67   1   DEF LOG             759‑761 X 'LOG' 'VIO'
 68   1   DEF EXITRSN         762‑764 X 'USER EXIT' 'REASON'
 69   1   DEF AUTHDEV         765‑772 X 'USER AUTH' 'DEVICE'
 70   1   DEF PFLAG           773     B
 71   1   DEF LABSID          774‑777 X 'LAB' 'CPU'
 72   1   DEF PCNTL           778     B
 73   1   DEF PROCIND         779     X 'P'
 74   1   DEF PRESERVE        780‑819 X 'RESERVED'
 75       DEF RC=ACFSMFR 1‑4 B
 76
 77       NOTE *******************************************************
 78       NOTE REDEFINE FIELDS TO CHANGE HEADINGS
 79       NOTE *******************************************************
 80
 81       DEF USERID = LOGONID 1‑8 X 'USER''S' 'ID'
 82       DEF VTYPE  = LOG 1‑3 X 'VIO' 'TYPE'
 83
 84       NOTE *******************************************************
 85       NOTE REDEFINE TIME TO ADD SECONDS
 86       NOTE *******************************************************
 87
 94       DEF TIMESECONDS = TIME100 1‑6 N 'TIME   ' PIC 'Z9.99.99'
 89
 90       NOTE *******************************************************
 91       NOTE WORK FIELD TO DESIGNATE MORNING OR AFTERNOON
 92       NOTE *******************************************************
 93
 94       DEF AMPM (2) = ' ' ' '
 95
 96       NOTE *******************************************************
 97       NOTE DEF WORK FIELD TO SAVE MILITARY TIME
 98       NOTE *******************************************************
 99
100       DEF TIMEHOLD(8.0) = 0
101
102       NOTE *******************************************************
103       NOTE DEFINE FIELDS FOR TIME AND DATE IN HEADER AND FIRST TIME SWITCH
104       NOTE *******************************************************
105
106       DEF OLDTIME(4.0) = 0 'TIME' PIC 'Z9.99'
107       DEF OLDDATE(6.0) = 0 'DATE' PIC '99‑99‑99'
108       DEF ONETIME(1.0) = 0 
109
110       GET ACFFLT
111       GOTO EOJ (RC=‑1)
112
113
114       NOTE *******************************************************
115       NOTE FIRST TIME LOGIC TO PUT DATE AND TIME IN TITLE
116       NOTE *******************************************************
117
118       IF ONETIME = 0 AND RECTYPE 'P' AND PROGRAM NOT 'SSD5' THEN
119       SET OLDTIME = TIME
120       SET OLDDATE = DATE
121       SET ONETIME = ONETIME + 1
122       ENDIF
123
124       COPY RCTAB
125
126       NOTE ******************************************************
127       NOTE SAVE MILITARY TIME TO THOUSANDTHS OF A SECOND
128       NOTE ******************************************************
129
130   1   NOTE  TABLE LOOKUP FOR COMMON REASON CODES
131   1    DECODE REASON_STRING INTO REASON  (X 50)
132   1    '001' = 'CALLER NOT AUTHORIZED'
133   1    '004' = 'LOGONID NOT FOUND'
134   1    '006' = 'A PASSWORD IS NOT ALLOWED FOR LOGONID'
135   1    '007' = 'A PASSWORD IS REQUIRED FOR LOGONID'
136   1    '008' = 'UNAUTHORIZED INPUT SOURCE FOR LOGONID'
137   1    '009' = 'LOGONID NOT VALID FOR SUBMISSION BY THIS PGM'
138   1    '010' = 'LOGONID CANCELLED'
139   1    '011' = 'LOGONID SUSPENDED'
140   1    '012' = 'PASSWORD NOT MATCHED'
141   1    '013' = 'LOGONID SUSPENDED BECAUSE OF PASSWORD VIOLATIONS'
142   1    '014' = 'LOGONID EXPIRED'
143   1    '015' = 'INVALID PASSWORD SYNTAX'
144   1    '016' = 'A LOGONID IS REQUIRED'
145   1    '017' = 'PASSWORD FOR LOGONID HAS EXPIRED'
146   1    '018' = 'INVALID SYNTAX FOR NEW PASSWORD; OLD PW EXPIRED'
147   1    '019' = 'PASSWORD LESS THAN MINIMUM LENGTH'
148   1    '020' = 'NEW PASSWORD < MINIMUM LENGTH; OLD PW EXPIRED'
149   1    '021' = 'PASSWORD EXPIRED AND CANNOT BE ALTERED'
150   1    '022' = 'MUSASS LOGONID ALREADY IN USE'
151   1    '023' = 'NEW PASSWORD = OLD PASSWORD; OLD PW EXPIRED'
152   1    '025' = 'SRF SUPPORT NOT FOUND'
153   1    '026' = 'ACCESS DENIED BY INSTALLATION EXIT'
154   1    '028' = 'PASSWORD REVALIDATION ‑ NO LOGONID RECORD'
155   1    '029' = 'PASSWORD REVALIDATION ‑ PASSWORD NOT MATCHED'
156   1    '030' = 'STC LOGONID CANNOT BE USED FOR NORMAL ACCESS'
157   1    '031' = 'LOGONID DOES NOT HAVE THE STC ATTRIBUTE'
158   1    '032' = 'LOGONID/SOURCE COMBINATION NOT VALID'
159   1    '033' = 'INVALID SYNTAX FOR NEW PASSWORD ON NJE JOB'
160   1    '034' = 'NEW PASSWORD LESS THAN MIN LENGTH ON NJE JOB'
161   1    '037' = 'NEW PASSWORD DENIED BY INSTALLATION EXIT'
162   1    '038' = 'LOGONID INHERITANCE NOT ALLOWED FOR LOGONID'
163   1    '045' = 'NOT AUTHORIZED FOR ACCESS TO MUSASS'
164   1    '048' = 'ACFFDR COULD NOT BE LOCATED'
165   1    '049' = 'FDE FOR ACTIVE AUTH SUPPORT NOT LOCATED'
166   1    '050' = 'NO AUTHEXIT LIST ENTRY FOUND FOR LIDFIELD"
167   1    '051' = 'USER AUTH EXTENSION BLOCK NOT PASSED'
168   1    '052' = 'RSB COULD NOT BE LOCATED FOR AUTH RECORD'
169   1    '053' = 'INFO‑STOR D/B NOT AVAILABLE'
170   1    '054' = 'D/B FAILURE OCCURRED FOR USER AUTH RECORD'
171   1    '055' = 'ACCESS DENIED BY USER AUTH SUPPORT'
172   1    '056' = 'USER AUTH DIALOG FACILITY NOT SUPPORTED'
173   1    '057' = 'STORAGE GETMAIN/FREEMAIN ERROR'
174   1    '060' = 'ZONE RECORD FOR LOGONID TIME ZONE NOT FOUND'
175   1    '061' = 'SYSTEM ACCESS DENIED. LOGON TIME NOT WITHIN SHIFT'
176   1    '062' = 'ERROR IN SHIFT PROCESSING ROUTINES'
177   1    '063' = 'SHIFT RECORD FOR LOGONID NOT FOUND'
178   1    '073' = 'NEW PASSWORD DENIED BY INSTALLATION EXIT'
179   1    '075' = 'DDB LOGONID ACQUISITION FAILED'
180   1    '076' = 'LOGONID NOT FOUND FOR DDB ACQUISITION'
181   1    '077' = 'DDB REMOTE LOGONID UPDATE FAILED'
182   1    '078' = 'LOGONID NOT FOUND FOR DDBREMOTE UPDATE'
183   1    '095' = 'NO HALFWAY ENCRYPTED PASSWORD AVAILABLE FOR USERID'
184   1    '096' = 'NO LOGONID GIVEN FOR PASSWORD EXTRACT CALL'
185   1    '097' = 'JOB SUBMITTED ON NON‑ACF2 SYSTEM; NO DEFAULT LOGONID GIVEN'
186   1    '098' = 'ACF2 NOT INITIALIZED'
187   1    '099' = 'ERROR DURING PROCESSING'
188   1    '101' = 'DDB GET‑UPDATE OF LOGONID FAILED'
189   1    '105' = 'NO ROOM IN DATABASE FOR REQUEST'
190   1    '106' = 'ACF00ERU PROCESSING ERROR FOR LOGONID'
191   1    '115' = 'NEW PASSWORD CANNOT BE THE SAME AS LOGONID'
192   1    '116' = 'NEW PASSWORD CANNOT BE ALL NUMERIC'
193   1    '117' = 'NEW PASSWORD CONTAINS A RESERVED WORD PREFIX'
194   1    '118' = 'NEW PASSWORD MATCHES A PREVIOUS PASSWORD'
195   1    '127' = 'LOGONID RECORD DEQ FAILURE'
196   1    '128' = 'INVALID SYNTAX FOR NEW PASSWORD; NONE SET'
197   1    '129' = 'PASSWORD SUCCESSFULLY ALTERED'
198   1    '130' = 'NEW PASSWORD < MINIMUM LENGTH ‑ NONE SET'
199   1    '131' = 'NEW PASSWORD EQUALS OLD ‑ NONE SET'
200   1    '132' = 'NEW PASSWORD NOT ALLOWED'
201   1    '133' = 'NEW PASSWORD DENIED BY INSTALLATION EXIT'
202   1    '134' = 'YOUR PASSWORD WILL EXPIRE ON DDD'
203   1    '135' = 'SYSTEM ACCESS ALLOWED BASED ON LOGSHIFT'
204   1    '136' = 'NEW PSWD NOT SET; MINDAYS HAVE NOT PASSED'
205   1    '200' = 'INVALID PASSWORD/AUTHORITY FOR ID'
206   1    '254' = 'MON‑LOG SPECIFIED IN USER LOGONID'
207   1    '255' = 'NEW PASSWORD EXIT'
208   1      ELSE 'UNKNOWN REASON'
209       SET TIMEHOLD=TIME100
210
211     NOTE ********************************************************
212     NOTE SET AM/PM FIELD
213     NOTE ********************************************************
214
215        IF HOUR < 12 THEN
216            SET AMPM='AM'
217        ELSE
218            SET AMPM='PM'
219        ENDIF
220
221     NOTE ********************************************************
222     NOTE SET HOUR COMMON HOUR
223     NOTE ********************************************************
224
225       DECODE HOUR INTO HOUR
226            < 13 = HOUR
227            > 12 = (HOUR ‑ 12)
228
229       REPORT 'LOGON AND PASSWORD VIOLATIONS'
230       TITLE ' '
231       TITLE @18 'STARTING DATE:' 1 OLDDATE @45 'ENDING DATE:' 1 &DATE.
232       TITLE @18 'STARTING TIME:' 1 OLDTIME @45 'ENDING TIME:' 1 &TIME.
233       FOOT 'SECURITY REPORTING SYSTEM'
234
235
236     NOTE  SELECT ONLY TYPE 'P' RECORDS. PRINT DETAIL LINE FOR EACH RECORD
237      SELECT RECTYPE  'P'  AND PROGRAM NOT 'SSD5'
238
239        CONTROL (LOGONID) DATE TIMEHOLD
240        PRINT LOGONID
241              VTYPE
242              DATE
243              TIMESECONDS 0
244              AMPM
245              JOBNAME
246              SUBMITTOR
247              PROGRAM
248              SOURCE
249              CPU
250              REASON
251        END