Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

SMF42 and SUBTYPE 10 with ICETOOL

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
Ghellar

New User


Joined: 01 Sep 2005
Posts: 12

PostPosted: Mon Apr 22, 2013 3:46 pm    Post subject: SMF42 and SUBTYPE 10 with ICETOOL
Reply with quote

Hi,

I need to create a report by reading the record smf, no problem to extract the SMF records 42, but do not know how to specify and append SubType 10 with ICETOOL, here's an example:

Code:

//*---------------------------------------------------------------------
//STEP1   EXEC PGM=ICETOOL                                             
//*       -----------------                                             
//TOOLMSG DD SYSOUT=*                                                   
//DFSMSG  DD SYSOUT=*                                                   
//RAWSMF  DD DISP=SHR,DSN=ALIAS.SMFREC42.D13109                         
//SMF     DD DSN=&&TEMSMF,                                             
//           SPACE=(CYL,(15,15)),UNIT=SYSDA                             
//SMFREP  DD DSN=ALIAS.SMFREC42.TOTAL,DISP=(,CATLG),                   
//           SPACE=(CYL,(100,100),RLSE),                               
//           LRECL=500,RECFM=FB,DSORG=PS                               
//TOOLIN  DD *                                                         
 COPY FROM(RAWSMF) TO(SMF) USING(SMFI)                                 
 DISPLAY FROM(SMF) LIST(SMFREP) -                                     
  TITLE('SMF TYPE-42 RECORDS') DATE TIME PAGE -                       
  BREAK(15,4,CH,L'System: ') -                                         
  HEADER('REC_LENGHT')   ON(1,2,BI)   -                               
  HEADER('SEGMENT_DE')   ON(3,2,BI)   -                               
  HEADER('SYS_IDICATOR') ON(5,1,BI)   -                               
  HEADER('SMF')          ON(6,1,BI)   -                               
  HEADER('TIME')         ON(7,4,TM1,E'99:99:99') - C'HH:MM:SS'         
  HEADER('DATE')         ON(11,4,DT1,E'9999/99/99') - C'YYYY-DDD'     
  HEADER('SYSTEM')       ON(15,4,CH)  -                               
  HEADER('SYSTEM_ID')    ON(19,4,CH)  -                               
  HEADER('SUBTYPE_REC')  ON(23,2,CH)  -                               
  BLANK                                                               
//SMFICNTL DD *                                                       
 INCLUDE COND=(6,1,BI,EQ,42) - SELECT SMF TYPE-42 RECORDS ONLY         
//*                                                                   
//*--------------------------------------------------------------------



I would like to append these data extracted from SubType 10:

Code:

Subtype 10
Volume Selection Failure Section
Offsets    Name       Length       Format    Description
    0 0    SMF42JBN    8           EBCDIC    Job name.
    8 8    SMF42PGN    8           EBCDIC    Program name.
  16 10    SMF42STN    8           EBCDIC    Step name
  24 18    SMF42DDN    8           EBCDIC    DD name.
  32 20    SMF42DSN    44          EBCDIC    Data set name.
  76 4C    SMF42RSP    4           binary    Requested space quantity.
  80 50    SMF42UNT    2           EBCDIC    Unit of space quantity.
  82 52    SMF42DCL    2           binary    Length of data class.
  86 56    SMF42DCN    30          EBCDIC    Data class name.
 116 74    SMF42MCL    2           binary    Length of management class.
 118 76    SMF42MCN    30          EBCDIC    Management class name.
 148 94    SMF42SLN    2           binary    Length of storage class.
 150 96    SMF42SNM    30          EBCDIC    Storage class name.
 180 B4    SMF42SGL    2           binary    Length of storage group.
 182 B6    SMF42SGN    30          EBCDIC    Storage group name.




Any help will be highly appreciated.

Thanks,

Ghellar
Back to top
View user's profile Send private message

vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1504
Location: Chennai

PostPosted: Mon Apr 22, 2013 4:10 pm    Post subject:
Reply with quote

Hello,
You could try changing this
Code:
INCLUDE COND=(6,1,BI,EQ,42)

to
Code:
INCLUDE COND=(6,1,BI,EQ,42,AND,23,2,BI,EQ,10)


Untested, But it is as per SMF reference manual.
For full layout of SMF records you can refer
"z/OSMVS System Management Facilities" Chapter 13
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1504
Location: Chennai

PostPosted: Mon Apr 22, 2013 5:16 pm    Post subject:
Reply with quote

Also I think
Code:
  HEADER('SUBTYPE_REC')  ON(23,2,CH)  -

has to be
Code:
  HEADER('SUBTYPE_REC')  ON(23,2,BI)  -
Back to top
View user's profile Send private message
Ghellar

New User


Joined: 01 Sep 2005
Posts: 12

PostPosted: Mon Apr 22, 2013 7:36 pm    Post subject:
Reply with quote

Thanks vasanthz,

to your specifications, I missed the Format SUBTYPE_REC, you're right, thank you.
But my problem is another, forgive my inexperience, how do I jump and calculate the correct offset from header ('SUBTYPE_REC') ON (23,2, CH) - 42 last record to the first record of SMF42JBN SubType 10?

Code:
 

COPY FROM(RAWSMF) TO(SMF) USING(SMFI)                                 
 DISPLAY FROM(SMF) LIST(SMFREP) -                                     
  TITLE('SMF TYPE-42 RECORDS') DATE TIME PAGE -                       
  BREAK(15,4,CH,L'System: ') -   
 * Record Type 42                                     
  HEADER('REC_LENGHT')   ON(1,2,BI)   -                               
  HEADER('SEGMENT_DE')   ON(3,2,BI)   -                               
  HEADER('SYS_IDICATOR') ON(5,1,BI)   -                               
  HEADER('SMF')          ON(6,1,BI)   -                               
  HEADER('TIME')         ON(7,4,TM1,E'99:99:99') - C'HH:MM:SS'         
  HEADER('DATE')         ON(11,4,DT1,E'9999/99/99') - C'YYYY-DDD'     
  HEADER('SYSTEM')       ON(15,4,CH)  -                               
  HEADER('SYSTEM_ID')    ON(19,4,CH)  -                               
  HEADER('SUBTYPE_REC')  ON(23,2,BI)  - 
 *
 *                       ?||?
 * Record SubType 10      vv   
  HEADER ('SMF42JBN') ON (??,8,CH) -
  HEADER ('SMF42PGN') ON (??,8,CH) -
  HEADER ('SMF42STN') ON (??,8,CH) -
  HEADER ('SMF42DDN') ON (??,8,CH) -
  ..........
  HEADER ('SMF42SGN') ON (??,30,CH) - 
  BLANK                                                               
//SMFICNTL DD *                                                       
INCLUDE COND=(6,1,BI,EQ,42,AND,23,2,BI,EQ,10)
ONLY         
//*                                                                   
//*--------------------------------------------------------------------




Probably I'm wrong in understanding.

Many thanks,

Ghellar
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Mon Apr 22, 2013 10:22 pm    Post subject:
Reply with quote

Ghellar,

What subtypes are you looking at ? Subtype 22 and 10? or something else?

You can use IFTHEN on SMFICNTL to build the records based on the Subtype.

Shows us ALL the fields you want for each subtype and I will show you a way to get them.
Back to top
View user's profile Send private message
Ghellar

New User


Joined: 01 Sep 2005
Posts: 12

PostPosted: Fri Apr 26, 2013 1:43 pm    Post subject:
Reply with quote

Hi,

sorry for the delayed response, I have to create a series of reports with Records SMF 42 SUBTYPE 09 - 10 - ..... - 21
Thank you, I solved the problem of extracting the SUBTYPE.
Now I try to solve the conversion in one step as in the binary records 09 SUBTYPE 09 S42FLAGS:

Code:


BI '1.......'  OVERLAY  'B37 '   *  ABEND B37   *
BI '.1......'  OVERLAY  'D37'    *  ABEND D37   *
BI '..1.....'  OVERLAY  'E37 '   *  ABEND E37   *




I think I need to use IFTHEN recommended by Skolusu (thanks Skolusu), I think something like this, I still have to do some testing:

Code:


//SMFICNTL DD *                             
 INCLUDE COND=(6,1,BI,EQ,42,AND,23,2,BI,EQ,9)
 INREC IFTHEN=(WHEN=(118,1,BI,EQ,X'10000000'),OVERLAY=(118:X'B37'))



Of course, just solve this small problem will put all available to the forum for all users.


Many thanks,

Ghellar
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Using ICETOOL, how we can seperate th... bshkris SYNCSORT 5 Tue May 09, 2017 8:33 pm
No new posts Group elements using ICETOOL Learncoholic DFSORT/ICETOOL 2 Fri Apr 14, 2017 11:01 am
No new posts Converting decimal to numeric using I... Balaryan DFSORT/ICETOOL 4 Thu Feb 02, 2017 11:27 pm
No new posts How to delete second instance from Fl... Gunapala CN DFSORT/ICETOOL 6 Tue Oct 18, 2016 11:42 pm
No new posts Detailed Transaction History report f... Kyle Carroll CICS 5 Tue Oct 18, 2016 12:42 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us