OPR$XL10  - z/OS Scan/print/archive OPERLOG 




Purpose:
Scan and print all or selected SYSPLEX.OPERLOG messages.  This feature may be valuable for users who want to search e.g.specific messages in the OPERLOG.  







//*
//*            READ THE SYSPLEX LOGGER FILE
//*
//OPR$XL10     EXEC     PGM=OPR$XL10
//STEPLIB      DD       DISP=SHR,DSN=RA2002.LINKLIB   <= change
//SYSUT2       DD       DISP=SHR,DSN=RA2002.OPERLOG,  <= change
//             DCB=(RECFM=VB,LRECL=244,BLKSIZE=8192)
//SYSPRINT     DD       SYSOUT=*
//VERPRINT     DD       SYSOUT=*
//VERINPUT     DD       *
*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
*
*  +OPTIONS keywords to filter operlog data
*
*    DAYS= or DAY=
*                       specify "TODAY" or "YESTERDAY"
*                       to limit the list
*                       DAY= or START= must be present to extract
*                       operlog data.
*
*
*    FORMAT=            If "SYSLOG" specified the old known format
*                       can be generated if needed.
*
*
*
*    HEADING=           Suppress headers for the output file
*                       //SYSPRINT.
*
*
*
*    LOGSTREAM=         Operlog. default=SYSPLEX.OPERLOG
*
*
*
*    MSGS=(...,....) or MSG=(...,....)
*                       Scan for a specific message string.
*                       - max. len is 16 and 32 messages
*                       - generic search is supported
*
*
*    START=yyyyddd.hhmm
*                       Start date and time to begin a scan/list
*                       of the OPERLOG.
*                       DAY= or START= must be present to extract
*                       operlog data.
*
*
*    END=yyyyddd.hhmm
*                       End date and time to stop a scan/list
*                       of the OPERLOG.
*                       DAY= or START= must be present to extract
*                       operlog data.
*
*
*    TEXT=(...,....)
*                       Scan for a specific string in the OPERLOG data
*                       - max. len is 32 and 32 strings
*                       - generic search is supported
*
*    FTEXT=(...,....)
*                       Scan for a specific string in the OPERLOG data
*                       - max. len is 32 and 32 strings
*                       - without generic search
*
*    SID=(...,....)
*                       Scan for a specific System ID's
*                       - max. len is 8 and 32 strings
*                       - generic search is supported
*
*    JOBNAME=(...,....)
*                       Scan for a specific JOB,TSU,STC names
*                       - max. len is 8 and 32 strings
*                       - generic search is supported
*
*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
*
*  DDNAMES:
*
*   - //SYSPRINT DD     Standard output file for operlog.
*                       DCB=RECFM=FB; LRECL=133
*SYSPRINT-10 SYSTEM LOG                                             V
*            JOBNAME :XRZP001O STEPNAME:OPR$XL10 PROCNAME:
*MESSAGES FROM SYSTEM LOGGER  (FIRST 132 CHARS ONLY)
*--------------------------------------------------------------------
*N C040000 TEST     2010247 10:19:55.89 INTERNAL 00000290  IXC421E XC
*M C000000 TEST     2010247 10:20:28.27 INTERNAL 00000281 *IXC267E PR
*D                                           636 00000281  COUPLE DAT
*E                                           636 00000281  ISSUE SETX
*N 8040000 TEST     2010247 10:20:34.19 INTERNAL 00000090 *BPXP022E O
*N 8040000 TEST     2010247 10:23:54.95 INTERNAL 00000090 *BPXP006E O
*
*
*
*
*   - //SYSUT2   DD     OPERLOG output file for archival purposes
*                       if needed. Else set it to DUMMY.
*                       DCB=RECFM=VB; LRECL=244
*
*   - //VERPRINT DD     Standard output file for processed control
*                       statements. see //VERINPUT.
*
*   - //VERINPUT DD     Standard input file which contains the
*                       control statement.
*
*
*
*
*
*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
*
*   SAMPLE to try:
*
*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
*  Isolate error messages from syslog
*  - assuming they all end with "E "
*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               MSG=('?????????E ',
                    '????????E ',
                    '???????E ',
                    '??????E '),
               START=2010000.0000,
               END=2010265.2359

//
 or
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               MSG=ICH408I,
               START=2010247.0000,
               END=2010247.2359
//
 or
+OPTIONS       HEADING=NO,
               DAYS=TODAY
               FORMAT=SYSLOG
//
 or
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               MSG=ICH408I,
               DAY=TODAY
//
 or
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               MSG=ICH408I,
               DAY=YESTERDAY
//
 or
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               TEXT=WARNING,
               MSG=ICH408I,
               START=2010000.0000,
               END=2010251.2359
//
 or
+OPTIONS       LOGSTREAM=SYSPLEX.OPERLOG,
               FORMAT=SYSLOG,
               MSGNAME=(ICH408I?USER?IBMUSER???GROUP?SY,
                        'IEE252I '),
               START=2010000.0000,
               END=2010251.2359
//