Log Edit (IMFLEDIT) JCL statements


To run IMFLEDIT, use the JCL statements in the following table. The statements are explained in Log-Edit-IMFLEDIT-input-parameters.


Statement

Description

EXEC

Specifies the name of the Log Edit program (PGM=IMFLEDIT)

The region requirement could be affected by the:

  • Log file block size
  • IRUF block size
  • Number of buffers specified for the data sets
  • Size of the GETMAIN area in the PRSRSPED subroutine
  • Internal table sizes (LTERM, response, message switch, multiple systems coupling) as specified by the IMFLEP00 input parameters

You can add the PARM=’nn’ parameter to the EXEC statement to designate an alternate member name. For example, to designate IMFLEP01, you would include PARM='01' in the EXEC statement. If the nn value is not two characters long, the 00 default value is used. If the resulting member is not found, IMFLEDIT stops with a return code of 32.

STEPLIB DD

Defines the program library containing the IMFLEDIT program load module

(BMC.AMIOPS.SPE2210) If you specify SYSIN DD, you must concatenate IMS RESLIB in STEPLIB DD for the DBRC API to function. The IMS version of the RESLIB must support the specified RECON data set.

SORTLIB DD

Defines the sort program library (such as DFSORT)

This statement is used only when IMFLEDIT is being run for shared message queues (SMQ=YES).

LOGFILE DD

Defines the IMS log data set to be processed by the IMFLEDIT program

If several log files are concatenated, they must be in chronological order, unless IMFLEDIT is being run for shared message queues.

When IMFLEDIT is being run for shared message queues (SMQ=YES in IMFLEP00), logs from all IMS systems are concatenated to the LOGFILE DD. When SMQ=YES, logs do not have to be concatenated in chronological order, but the run performs better if they are.

If the log is in VBS format, specify the following syntax:

DCB=RECFM=VBS

(BMC.AMIOPS.SPE2210) If you specify SYSIN DD, the LOGFILE DD is ignored. The system log data sets (SLDSs) are dynamically allocated based on a date-time range ,and the SLDS mentioned in LOGFILE DD is ignored.  

Important

If you specify SYSIN DD, the LOGFILE DD statement is ignored. 

Specifies the RECON data set names, IMSID, and a time frame to create the IRUF.

Enter the following information in the SYSIN DD statement: 

  • (Required) RECON1=RECON1 DSN
  • (Required) RECON2=RECON2 DSN
  • (Required) IMSID=imsID | ALL
  • (Required) TIME FROM=hh:mm:ss TO=hh:mm:ss 
  • (Optional) DATE FROM=mm/dd/yyyy TO=mm/dd/yyyy 

RECON1 is the data set name of RECON1.

RECON2 is the data set name of RECON2.

IMSID is the IMS ID. If IMSIDs are using shared-queue and they are active, you can specify IMSID=ALL.

TIME FROM and TO is the time range that is used to extract SLDS from RECON by using DBRC API. 

DATE FROM and TO is the date range that is used to extract SLDS from RECON by using DBRC API. The DATE card is optional. If you don't specify it, the date of the current system is picked.

RESUTIL DD

Defines the IRUF to be created

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, which can be located in the BBSAMP library.

AUDITS DD

Defines the message data set containing the Log Edit Audit Report

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, located in the BBSAMP library.

RTAUDIT DD

Defines the data set to which the selected records are written If the SELREC input parameter is specified

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, located in the BBSAMP library.

FAUTIL DD

Contains all transaction (X'FA') records encountered in the LOGFILE

Before writing the transaction records, IMFLEDIT adjusts the time stamps in the transaction records so that they remain consistent with the corresponding time stamps in the transaction accounting records (TARs) written to the IRUF (including the time stamp related to MSGSWIQT).

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, located in the BBSAMP library.

IMFPARM DD

Defines the BMC AMI Ops Monitor for IMS Offline parameter (BBPARM) library

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, which can be located in the BBSAMP library.

ERRORS DD

Defines the data set containing the Log Edit Error Report

Important

The required DCB parameters are available in the IMFLEDIT sample JCL, which can be located in the BBSAMP library.

SYSOUT DD

Defines the data set in which DFSORT writes its error messages and performance statistics

This statement is used only when IMFLEDIT is being run for shared message queues (SMQ=YES).

SORTDIAG DD

Specifies that the IMFLEDIT internal call to DFSORT will cause the sorting performance statistics to be printed on the SYSOUT DD

The statistics are useful for tuning SORTWK01, SORTWK02, and SORTWK03 to improve DFSORT performance.

This statement is used only when IMFLEDIT is being run for shared message queues (SMQ=YES).

SORTWK01

SORTWK02

SORTWK03

Defines work data sets for sorting shared message queue logs when SMQ=YES is set in IMFLEP00

You should always allocate space in cylinders and set it so that no secondary allocation is used. You should put these statements on different channel paths, and you should allocate them on the same type of device.

Important

The RTAUDIT statement in the JCL examples is required only if the IMFLEP00 log record select option (SELREC) is specified.

IMFLEDIT JCL example

//JOBNAME  JOB  ..............
//STEP1    EXEC PGM=IMFLEDIT,REGION=4096K
//STEPLIB  DD   DSN=IMF.LOAD,DISP=SHR
//SORTLIB  DD   DSN=&SORTLIB,DISP=SHR
//LOGFILE  DD   DSN=IMSLOG,VOL=SER=......,DISP=OLD,UNIT=tape
//RESUTIL  DD   DSN=IRUF.DAYS(+1),DISP=(NEW,CATLG),UNIT=tape,
//              DCB=(RECFM=VBS,LRECL=30970,BLKSIZE=30974,BUFNO=100)
//AUDITS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//RTAUDIT  DD   DSN=XO7REC,DISP=(NEW,CATLG),UNIT=SYSDA,
//              SPACE=(CYL,(2,1)),
//              DCB=(RECFM=VB,LRECL=2400,BLKSIZE=4524)
//IMFPARM  DD   DSN=IMF.BBPARM,DISP=SHR
//ERRORS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSUDUMP DD   SYSOUT=A

IMFLEDIT JCL example when SMQ=YES

//JOBNAME  JOB  ..............
//STEP1    EXEC PGM=IMFLEDIT,REGION=4096K
//STEPLIB  DD   DSN=IMF.LOAD,DISP=SHR
//SORTLIB  DD   DSN=&SORTLIB,DISP=SHR
//LOGFILE  DD   DSN=IMSLOG,VOL=SER=......,DISP=OLD,UNIT=tape
//RESUTIL  DD   DSN=IRUF.DAYS(+1),DISP=(NEW,CATLG),UNIT=tape,
//              DCB=(RECFM=VBS,LRECL=30970,BLKSIZE=30974,BUFNO=100)
//AUDITS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//IMFPARM  DD   DSN=IMF.BBPARM,DISP=SHR
//ERRORS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSUDUMP DD   SYSOUT=A
//SYSOUT   DD   SYSOUT=*
//SORTDIAG DD   DUMMY
//SORTWK01 DD   UNIT=SYSDA,SPACE=(CYL,(50))
//SORTWK02 DD   UNIT=SYSDA,SPACE=(CYL,(50))
//SORTWK03 DD   UNIT=SYSDA,SPACE=(CYL,(50))

IMFLEDIT JCL example when FAUTIL=YES

//JOBNAME  JOB  ..............
//STEP1    EXEC PGM=IMFLEDIT,REGION=4096K
//STEPLIB  DD   DSN=IMF.LOAD,DISP=SHR
//SORTLIB  DD   DSN=&SORTLIB,DISP=SHR
//LOGFILE  DD   DSN=IMSLOG,VOL=SER=......,DISP=OLD,UNIT=tape
//RESUTIL  DD   DSN=IRUF.DAYS(+1),DISP=(NEW,CATLG),UNIT=tape,
//              DCB=(RECFM=VBS,LRECL=30970,BLKSIZE=30974,BUFNO=100)
//AUDITS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//RTAUDIT  DD   DSN=XO7REC,DISP=(NEW,CATLG),UNIT=SYSDA,
//              SPACE=(CYL,(2,1)),
//              DCB=(RECFM=VB,LRECL=2400,BLKSIZE=4524)
//FAUTIL   DD   DSN=&INDEX..IMF.FAUTIL,DISP=(NEW,CATLG),
//              UNIT=&DASUNIT,SPACE=(TRK,(5,1)),
//              DCB=(RECFM=VB,LRECL=2400,BLKSIZE=4524)
//IMFPARM  DD   DSN=IMF.BBPARM,DISP=SHR
//ERRORS   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSUDUMP DD   SYSOUT=A

IMFLEDIT JCL example when you specify SYSIN DD

(BMC.AMIOPS.SPE2210)

//JOBNAME JOB ..............
//STEP1 EXEC PGM=IMFLEDIT,REGION=4096K
//STEPLIB DD DSN=IMF.LOAD,DISP=SHR
//        DD DSN=IMS.SDFSRESL,DISP=SHR
//SORTLIB DD DSN=&SORTLIB,DISP=SHR
//RESUTIL DD DSN=IRUF.DAYS(+1),DISP=(NEW,CATLG),UNIT=tape,
// DCB=(RECFM=VBS,LRECL=30970,BLKSIZE=30974,BUFNO=100)
//AUDITS DD SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//RTAUDIT DD DSN=XO7REC,DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(2,1)),
// DCB=(RECFM=VB,LRECL=2400,BLKSIZE=4524)
//FAUTIL DD DSN=&INDEX..IMF.FAUTIL,DISP=(NEW,CATLG),
// UNIT=&DASUNIT,SPACE=(TRK,(5,1)),
// DCB=(RECFM=VB,LRECL=2400,BLKSIZE=4524)
//IMFPARM DD DSN=IMF.BBPARM,DISP=SHR
//ERRORS DD SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSUDUMP DD SYSOUT=A
//SYSIN  DD *
IMSID=XXXX
RECON1=IMS.XX.RECON1
RECON2=IMS.XX.RECON2
TIME FROM=00:00:10 TO=01:00:00
DATE FROM=01/28/2022 TO=01/28/2022 

JES2 job log example after specifying SYSIN DD

When you specify the SYSIN DD JCL statements in IMFLEDIT, you can see the following information in the JES2 job log (JESMSGLG):

****************************** TOP OF DATA ***************************************************
                     J E S 2  J O B  L O G  --  S Y S T E M  S J S D  --  N O D E  B B S Y S D  

03.20.23 JOB13043 ---- THURSDAY,  01 JAN 2022 ----                                                         
03.20.23 JOB13043  IRR010I  USERID ABCDEFG  IS ASSIGNED TO THIS JOB.                                       
03.20.23 JOB13043  ICH70001I ABCDEFG  LAST ACCESS AT 03:18:39 ON THURSDAY, JULY 21, 2022                   
03.20.23 JOB13043  $HASP373 ABCDEFF STARTED - INIT 6    - CLASS F        - SYS SJSD                  
03.20.23 JOB13043  IEF403I ABCDEFF - STARTED - TIME=03.20.23                                  
03.20.23 JOB13043  SVW3482I ABCDEFF, DELETE, IRUFDS, ABCDEFG.V56.IRUF01 HANDLED BY MODDELET    
03.20.23 JOB13043  -Jobname  Stepname Procstep     RC   EXCP   Conn TCB Time SRB Time  CP Time  
03.20.23 JOB13043  - ABCDEFF DELETE              0000     16      2  0.00 0.00   0.00     0.04  
03.20.24 JOB13043  IMFLEDIT: SYSIN WILL BE USED AND LOGFILE WILL BE IGNORED.                       
03.20.24 JOB13043  IMFLEDIT: LIST OF 005 SLDS FILTERED:                                            
03.20.24 JOB13043  IMFLEDIT: IMS.SLDSP.IABC.D22001.T0119525.V4A                                       
03.20.24 JOB13043  IMFLEDIT: IMS.SLDSP.IABC.D22001.T0129525.V4B                                 
03.20.24 JOB13043  IMFLEDIT: IMS.SLDSP.IABC.D22001.T0139525.V4C                                  
03.20.24 JOB13043  IMFLEDIT: IMS.SLDSP.IABC.D22001.T0149525.V4D                                  
03.20.24 JOB13043  IMFLEDIT: IMS.SLDSP.IABC.D22001.T0159525.V4E                    

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*