Troubles with removing bad SMF records

 

 

Contents:

Bottom

1. Bad SMF records detected

2. Removing bad SMF records

 

1. Bad SMF records detected

When the failed job  DUMPXY with RC=0008 is resubmitted the following  trouble can occur – some SMF records  are dumped (written) in a wrong way  on the summary SMF file (IPOSAV.SMFDUMPW) that will reflect negative on the monthly SCRT report processing  for Sub-capacity charges of Mainframe.

When an SMF extract from KCI08.SMF.D051112 (copy of   IPOSAV.SMFDUMPW  after resubmitting job  DUMPXY with RC=0008)  is read, an ABEND002 with rc=0004 occurs during writing the SMF records to the output file HLQ.SMFEXTR.FEB90 in the following job SMFEXTR: 

//SMFEXTR  JOB (9999,IPO,10,10),MSGCLASS=O,NOTIFY=HLQ,REGION=5M

//SMFDUMP  EXEC PGM=IFASMFDP                          

//SYSABEND DD SYSOUT=A                                

//INDD1     DD DSN=KCI08.SMF.D031012,DISP=SHR          

//INDD2     DD DSN=KCI08.SMFR.D051112,DISP=SHR        

//OUTDD1    DD DSN=HLQ.SMFEXTR.FEB90,UNIT=(3390,1),   

//             DISP=(NEW,CATLG,DELETE),VOL=SER=SP1789,

//             SPACE=(TRK,(700,600)) 

//SYSPRINT  DD SYSOUT=A           

//SYSIN     DD *                  

      INDD(INDD1,OPTIONS(DUMP))   

      INDD(INDD2,OPTIONS(DUMP))   

      OUTDD(OUTDD1,TYPE(70,89))   

      DATE(2012276,2012306)       

      START(0000)                 

      END(2400)                   

/*                                 

The following error abend  messages appears:

 

IEC036I

002-04,IGC0005E,SMFEXTR,SMFDUMP,INDD2,05B6,ARH195,KCI08.SMFR.D051112

 

Job SMFEXTR  JOB02053 (BC2A/90) is  reading bad SMF records from  KCI08.SMFR.D051112  when writing extract  to output file HLQ.SMFEXTR.FEB90 file for next SCRT processing.

…………………………………….

SMF INDD2    DATASET CANNOT BE READ                    

   SYSTEM ABEND CODE IS 002 REASON/RETURN CODE IS 0004

   NO FURTHER PROCESSING OF THIS DATASET               

 

Abend002-04 (ABEND002 with rc=0004) usually occurs as a result of previous abend which  causes a partial record to be written out to the dataset IPOSAV.SMFDUMPW  (during job  DUMPXY with RC=0008) which is later copied as KCI08.SMFR.D051112used for SCRT processing.  

.            When  more records are mod’d to the end of the dataset, the partial  record is then followed by valid records.  Since SMF records can  span blocks, the segment descriptor word (SDW)is used to determine if    a record is complete; the 1st part of a segmented record, the  middle part of a segmented record, or the end of a segmented  record.When  another record is mod’d onto the partial record, the segment    descriptor words may not match up.  This results of  the  abend002-4  are:                                                        Segment descriptor values:
00 – complete record
01 – first part of a segmented record
10 – last part of a segmented record
11 – middle of a segmented record                  

2. Removing bad SMF records                      

The solution of this problem (Abend002-04) is to use the program  VBSFIX    received as  the attached file vbsfix_Source.txt in the  e-mail  from IBM  SMF Level 2 Support.  VBSFIX     program   read VBS records,  detect, report on, and delete “bad” (i.e., invalidly  spanned) Variable Blocked Spanned (VBS) records.  This program is designed to read a VBS (non-VSAM)    data set and check on valid SDW‘s. Invalid segments are converted to VB output in file ‘BADRECS’. Valid records are copied to file ‘OUTPUT’.

The character file vbsfix_Source.txt  is saved  from  the attached file  of e-mail of  IBM  SMF Level 2 Support on PC. This is an Assembler source program that is transferred to Mainframe in character format  using FTP or  TSO/IND$FILE with command  ‘send vbsfix_Source.txt   a: BC2A.ZOS140.OPER.LIB(VBSFIXA) ascii crlf’  to  library BC2A.ZOS140.OPER.LIB as member VBSFIXA. The following  JCL in the member ASSBATCH of library BC2A.ZOS140.OPER.LIB is used  to assemble, Link Edit the source program and catalog   it  as a load program  VBSFIXA  into  library  BCI05.LIB.BASE.LOAD:

//ASSBATCH JOB TIME=1440,                                             

//         NOTIFY=&SYSUID,                                            

//         REGION=6500K,                                               

//         CLASS=B,                                                   

//         MSGCLASS=X,                                                

//         MSGLEVEL=(1,1)                                             

//*——————————————————————-

//*  ASSEMBLER JCL – 07/2003                                        

//*                                                                 

//*  CHANGE PARMS BELOW:                                             

//*  BCCSLIB  = SOURCE LIBRARY                                      

//*  BCCTLOAD = LOAD LIBRARY                                        

//*  BCCMEMBR = SOURCE AND OUTPUT MEMBER NAME                       

//*——————————————————————-

//       SET  BCCSLIB=‘BC2A.ZOS140.OPER.LIB’      ** SOURCE LIBRARY  

//       SET  BCCTLOAD=‘BCI05.LIB.BASE.LOAD’       ** LOAD LIBRARY   

//*      SET  BCCTLOAD=’BCI05.LIB.BASE.OBJECT’     ** OBJ  LIBRARY   

//       SET  BCCMEMBR=VBSFIXA                     ** MEMBER         

//*——————————————————————-

//*- JCL BELOW                                                      

//*——————————————————————-

//ASM      EXEC PGM=ASMA90,                                          

//             PARM=’OBJECT,XREF(SHORT),NODECK,NORENT’               

//SYSLIB   DD   DSN=SYS1.MACLIB,DISP=SHR                             

//SYSUT1   DD   DSN=&&SYSUT1,UNIT=3390,SPACE=(1700,(900,900)),       

//             SEP=(SYSLIB)                                          

//SYSUT2   DD   DSN=&&SYSUT2,UNIT=3390,SPACE=(1700,(900,900)),       

//             SEP=(SYSLIB,SYSUT1)                                    

//SYSUT3   DD   DSN=&&SYSUT3,UNIT=3390,SPACE=(1700,(900,900))   

//SYSPRINT DD   SYSOUT=*,DCB=BLKSIZE=1089                       

//SYSLIN   DD   DSN=&&OBJSET1,UNIT=3390,SPACE=(80,(200,50)),    

//             DISP=(,PASS),DCB=BLKSIZE=3120                     

//SYSIN    DD   DSN=&BCCSLIB(&BCCMEMBR),DISP=SHR,               

//             FREE=CLOSE                                       

//LKED     EXEC PGM=IEWL,COND=(4,LT,ASM),                       

//         PARM=’RENT,MAP,LET,LIST,NCAL’                        

//SYSLIN   DD   DSN=&&OBJSET1,DISP=(OLD,DELETE)                 

//SYSUT1   DD   DSN=&&SYSUT1,UNIT=(3390,SEP=(SYSLIN,SYSLMOD)),  

//             SPACE=(1024,(50,20))                             

//SYSPRINT DD   SYSOUT=*                                         

//SYSLMOD  DD   DSN=&BCCTLOAD(&BCCMEMBR),DISP=SHR               

//STGO     EXEC PGM=&BCCMEMBR                                   

//STEPLIB  DD   DSN=BCI05.LIB.BASE.LOAD,DISP=SHR 

//         DD   DSN=KCI55.LIB.PROD.LOAD,DISP=SHR 

//*SNDUMP   DD   SYSOUT=*                        

//                                               

The execution of the program VBSFIXA is performed by JCL  job VBSFIXE using as input the file KCI08.SMFR.D051112 and the valid records are copied to output file KCI08.SMFRF.D051112. Invalid segments are converted to VB output badrecs file KCI08.SMFRFB.D051112. 

//VBSFIXE  JOB (9999,IPO,10,10),MSGCLASS=O,NOTIFY=HLQ,REGION=5M

//STEPNAME EXEC PGM=VBSFIXA                                     

//SYSPRINT DD  SYSOUT=A                                        

//SYSIN    DD  *                                               S

//STEPLIB  DD  DSN=BCI05.LIB.BASE.LOAD,DISP=SHR                

//INPUT    DD  DSN=KCI08.SMFR.D051112,DISP=SHR                 

//OUTPUT   DD  DSN=KCI08.SMFRF.D051112,                        

//             DCB=(RECFM=VBS,                                 

//             LRECL=32760,                                    

//             BLKSIZE=32760),                                  

//             UNIT=(3390,1),                                  

//             SPACE=(TRK,(700,600)),                          

//             DISP=(NEW,CATLG,DELETE)                         

//BADRECS  DD  DSN=KCI08.SMFRFB.D051112,                        

//             DCB=(RECFM=VB,LRECL=32756,BLKSIZE=32760),       

//             UNIT=(3390,1),         

//             SPACE=(TRK,(700,600)), 

//             DISP=(NEW,CATLG,DELETE)

 

The   job SMFEXTR is executed using as input the repared file  KCI08.SMFRFB.D051112    with   only  valid SMF records (bad SMF records are removed) and finished with cc=0000 producing a good SMF extract file for the next SCRT processing.

End

Incoming search terms:

  • IEC036I 002-04 IGC0005E

Leave A Reply

Comments

No comments yet, be the first to add one!

Places

 

Clef two-factor authentication

woolrich outlet woolrich outlet online tiffany milano tiffany outlet tiffany outlet tiffany outlet tiffany outlet tiffany milano tiffany outlet peuterey outlet peuterey uomo hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel roshe run pas cher roshe run parajumpers pas cher parajumpers soldes parajumpers pas cher parajumpers soldes parajumpers pas cher parajumpers soldes louboutin pas cher louboutin pas cher louboutin pas cher nike tn pas cher nike tn pas cher