IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

ICETOOL- syslog extract and transpose


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 4:28 pm
Reply with quote

I would like to extract information between iec359i and iec352i and reformat it.
Input file is vb lrecl 200, output file is fb lrecl 350. Input fields: Date at 24,length 8, Time at 33,length 11, IEC359I at 64, Entries to catalog at 67,
count at 92, average at 103
Code:
------------------------------------------------------------------------------------------------------------------------
002749 MR0000000 SYSM     2012.119 00:04:17.36 TMQ01788 00000080  IEC359I CATALOG PERFORMANCE REPORT 846                   
002750 LR        SYSM     2012.119 00:04:17.36      846 00000080  *CAS*************************************************** 
002751 DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Statistics since 23:04:22.07 on  07/30/2012        * 
002752 DR        SYSM     2012.119 00:04:17.36      846 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  * 
002753 DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Entries to Catalog         10,737      3.659 MSEC  * 
002754 DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Shr Sys            15,205      0.053 MSEC  * 
002755 DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Excl Sys              264      1.059 MSEC  * 
..
02790  ER        SYSM     2012.119 00:04:17.36      846 00000080  *CAS***************************************************         
02791  NR4000000 SYSM     2012.119 00:04:17.38 TMQ01788 00000080  IEC352I CATALOG ADDRESS SPACE MODIFY COMMAND COMPLETED         
-------------------------------------------------------------------------------------------------------------------------

Output:
Code:
date;Time;Entries to Catalog-Count;Entries to Catalog-average;BCS ENQ Shr Sys-count;BCS ENQ Shr Sys-average;
2012.119;00:04:17.36;10737;3.659;15205;0.053


Is this possible with icetool? We are at z/OS 1.13 with all ptfs till march 2012 installed.
Thanks a lot.

Code'd
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Wed Aug 01, 2012 6:13 pm
Reply with quote

TRY something like below


Code:
INREC IFTHEN=(WHEN=(?,7,CH,EQ,C'IEC359I'), 
  overlay=(1:c'1')
  IFTHEN=(WHEN=(?,7,CH,EQ,C'iec352i'), 
  overlay=(1:c'2') 
OUTREC IFTHEN=(WHEN=GROUP,BEGIN=(1,1,CH,EQ,C'1')
PUSH=(2:SEQ=4)


once marked select records.

Code:
OUTFIL INCLUDE=(1,5,GT (10001 AND LESS THAN 20001) and NE SPACES)

the output you can reformat as u need once you select the record.

your input is VB, use the first 5 byte as the marking field, by shifting the data in the inrec.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 6:24 pm
Reply with quote

Is this tested? How do the intervening records get within the range 10001 and 20001. Aren't they going to be x0001 where x is whatever they were at the time of being read?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Aug 01, 2012 6:34 pm
Reply with quote

knickraj,

I enjoy your posts, always very entertaining.
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Wed Aug 01, 2012 6:35 pm
Reply with quote

bill,
not tested icon_sad.gif

the idea is to first overlay 1 byte as 1 and 2

data would look like

Code:
1         IEC359I
.
.
2         IEC352I

then with SEQ number it would become like
Code:
10001  IEC359I
. 0002
. 0003
20001  IEC352I
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 6:40 pm
Reply with quote

Yes, I got that, but how is it going to pick up the records in between the IEC messages?

I think a GROUP with a BEGIN and END can identify all required data, then select the records to source the data.
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Wed Aug 01, 2012 6:50 pm
Reply with quote

icon_sad.gif yes ,got your point

GROUP with a BEGIN and END should do it... icon_rolleyes.gif
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 7:09 pm
Reply with quote

I could get the first part, i.e, extracting the data with following jcl:
---------------------------------------------------------------------------
Code:

//S1  EXEC  PGM=ICETOOL                                 
//TOOLMSG DD SYSOUT=*                                   
//DFSMSG  DD SYSOUT=*                                   
//SYSUDUMP DD SYSOUT=*                                   
//IN       DD DISP=SHR,DSN=ZRA.SYSLOG1   
//OUT DD SYSOUT=*                                       
//TOOLIN DD *                                           
  COPY  FROM(IN) TO(OUT) USING(CTL1)                     
//CTL1CNTL DD *                                         
  OPTION VLSHRT                                         
  INREC IFTHEN=(WHEN=GROUP,                             
  BEGIN=(64,27,CH,EQ,C'IEC359I CATALOG PERFORMANCE'),   
  END=(64,23,CH,EQ,C'IEC352I CATALOG ADDRESS',OR,       
  67,6,CH,EQ,C'ENDREQ'),                                 
  PUSH=(154:ID=1))                                       
  OUTFIL INCLUDE=(154,1,CH,NE,C' '),BUILD=(1,150)       


This results as wanted:

Code:

MR0000000 SYSM     2012.119 00:04:17.36 TMQ01788 00000080  IEC359I CATALOG PERFORMANCE REPORT 846                   
LR        SYSM     2012.119 00:04:17.36      846 00000080  *CAS*************************************************** 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Statistics since 23:04:22.07       * 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  * 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Entries to Catalog         10,737      3.659 MSEC  * 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Shr Sys            15,205      0.053 MSEC  * 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Excl Sys              264      1.059 MSEC  * 
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS DEQ                     5,798      0.011 MSEC  * 


But how can i transpose this to the format i want?
Thanks for help!
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 7:58 pm
Reply with quote

Good so far, now you need to be clearer about what you actually want to extract for that data. You first example seems to show two sets of figures out of three, so what is it you actually want?
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Wed Aug 01, 2012 8:11 pm
Reply with quote

if your number of records are less, as it seems to be
you may try RESIZE


Code:
RESIZE FROM(SORTIN) TO(SORTOUT) TOLEN(lrecl*no.of records)


all will come in one line then you can choose the data you want using build.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 8:31 pm
Reply with quote

Shall we wait to see what TS wants with the data before throwing possibilities into the pot?

Can there be a variable number of lines of data? Are there a fixed number of lines you are interested in? Sample of your possible combinations and required output would be useful.

The better you can filly describe what you want, the better solution you will get.
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 9:05 pm
Reply with quote

Bob,
Perhaps i could not precisely specify requirement. Here is what i am getting after running the job shown with jcl.
Code:

MR0000000 SYSM     2012.119 00:04:17.36 TMQ01788 00000080  IEC359I CATALOG PERFORMANCE REPORT 846                     
LR        SYSM     2012.119 00:04:17.36      846 00000080  *CAS***************************************************   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Statistics since 23:04:22.07 on  04/28/2012        *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Entries to Catalog         10,737      3.659 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Shr Sys            15,205      0.053 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Excl Sys              264      1.059 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS DEQ                     5,798      0.011 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS RESERVE CI             2,198      0.018 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS DEQ CI                 2,198      0.035 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS RESERVE Shr           20,968      0.024 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS RESERVE Excl             203      0.129 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS DEQ                   21,171      0.035 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  SPHERE ENQ Excl Sys           215      0.036 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  SPHERE DEQ                    215      0.031 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  CAXWA ENQ Shr                 124      0.033 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  CAXWA DEQ                     124      0.007 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VDSPM ENQ                  15,925      0.003 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VDSPM DEQ                  15,925      0.004 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS Get                   225,211      0.012 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS Put                        84      1.063 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS Erase                     144      1.669 MSEC  *   

DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VVDS I/O                   23,724      0.642 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  VLF Retrieve Minor            149      0.005 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  RMM Tape Exit                 138      0.000 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  OEM Tape Exit                 138      0.000 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  SMF Write                   1,801      0.064 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  IXLCACHE Read               2,106      0.757 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  IXLCACHE Write                190      1.148 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Resolve Symbolic               96      0.160 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Capture UCB                   121      0.006 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  SMS Mgmt Class ACS              3      1.631 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  RACROUTE Auth               1,462      0.129 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  DADSM Scratch                 138     14.058 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  DADSM Rename                    3      8.769 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Obtain Latch               27,917      0.000 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  ENQ SYSZPCCB                8,148      0.002 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  DEQ SYSZPCCB                8,148      0.001 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Release Latch              27,917      0.000 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Capture to Actual              11      0.004 MSEC  *
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  ENDREQ                        151      0.002 MSEC  *
MR0000000 SYSM     2012.120 01:04:17.94 X0002049 00000080  IEC359I CATALOG PERFORMANCE REPORT 243                 
LR        SYSM     2012.120 01:04:17.94      243 00000080  *CAS***************************************************
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Statistics since  0:04:22.45 on  04/29/2012        *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Entries to Catalog         18,715      6.130 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS ENQ Shr Sys            31,353      0.115 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS ENQ Excl Sys            1,371      0.330 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS DEQ                    10,474      0.019 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS RESERVE CI             3,548      0.050 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS DEQ CI                 3,548      0.052 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS RESERVE Shr           30,732      0.038 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS RESERVE Excl             909      0.096 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS DEQ                   31,641      0.047 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  SPHERE ENQ Excl Sys         1,087      0.066 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  SPHERE DEQ                  1,087      0.044 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  CAXWA ENQ Shr                 124      0.031 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  CAXWA DEQ                     124      0.007 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VDSPM ENQ                  35,294      0.164 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VDSPM DEQ                  35,294      0.005 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS Get                   542,749      0.020 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS Put                       828      1.286 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  BCS Erase                     457      1.219 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VVDS I/O                   36,708      1.151 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VLF Create Minor                2      0.024 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VLF Retrieve Minor            265      0.012 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  VLF Delete Minor                1      0.014 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  RMM Tape Exit                 265      0.005 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  OEM Tape Exit                 265      0.000 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  SMF Write                   4,500      0.070 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  IXLCACHE Read              16,172      0.507 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  IXLCACHE Write              2,252      0.480 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Resolve Symbolic              147      0.161 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Lookup/Pin UCB                  2      0.006 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Unpin UCB                       2      0.003 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Capture UCB                   311      0.007 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  SMS Mgmt Class ACS              4      0.799 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  RACROUTE Auth               3,768      0.175 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  RACROUTE Define                97      0.160 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  DADSM Scratch                 338     19.446 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  DADSM Rename                    4     11.550 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  DADSM Allocate SMS            102     14.414 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Obtain Latch               55,856      0.000 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  ENQ SYSZPCCB               20,382      0.002 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  DEQ SYSZPCCB               20,382      0.002 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Release Latch              55,856      0.000 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  Capture to Actual             208      0.003 MSEC  *
DR        SYSM     2012.120 01:04:17.94      243 00000080  *  ENDREQ                        331      0.002 MSEC  *



There is output for two ccommands one at 00:04:17.36 and another at
01:04:17.94. I would like the output in the form of:

These are column labels.
Date; Time; Entries to Catalog-Count;Entries to Catalog-Average;BCS ENQ Shr Sys-Count;BCS ENQ Shr Sys-Average;BCS ENQ Excl Sys-Count;BCS ENQ Excl Sys-Average;
The rows will be the count and average numbers
2012.119;00:04:17.36;10737; 3.659; 15205; 0.053; 264; 1.059
2012.120;01:04:17.94;19715; 6.130; 31353; 0.115; 1371; 0.330
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 9:08 pm
Reply with quote

Correction:
The rows will be Date,time, count and average numbers of columns
2012.119;00:04:17.36;10737; 3.659; 15205; 0.053; 264; 1.059
2012.120;01:04:17.94;19715; 6.130; 31353; 0.115; 1371; 0.330
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 9:12 pm
Reply with quote

Bob?

So, for two specific times you want three specific associated pieces of information? Output in a "delimited" format. With the column headings. Is that it?
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 9:30 pm
Reply with quote

Sorry, Bill,
No the original syslog files have entries for the whole 24 hrs period and i want to report on every "-----Catalog Event----". That means, my columns will be Date; Time; "Entries to Catlog-Count...to..ENDREQ-Average". Row values will the values of Date and Time and numbers under "--Count--" and "---Average---"
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 10:04 pm
Reply with quote

Code:
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Entries to Catalog         10,737      3.659 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Shr Sys            15,205      0.053 MSEC  *   
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  BCS ENQ Excl Sys              264      1.059 MSEC  *


So you want the count and average from these three lines within the IEC messages you specified, with any commas dropped from count. Output to appear as one delimited record, including date, time, count, avg, count, avg, count, avg. Delimited by a semi-colon.
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Wed Aug 01, 2012 10:11 pm
Reply with quote

kushkush,

Use the following DFSORT JCL which will give you the desired results
Code:

//STEP0100 EXEC PGM=SORT                                 
//SYSOUT   DD SYSOUT=*                                   
//SORTIN   DD DISP=SHR,DSN=ZRA.SYSLOG1         
//SORTOUT  DD SYSOUT=*                                   
//SYSIN    DD *                                         
  OPTION COPY                                           
  INREC IFTHEN=(WHEN=INIT,BUILD=(1,150,240:X)),         
  IFTHEN=(WHEN=GROUP,PUSH=(151:ID=8,160:24,20),         
  BEGIN=(64,27,CH,EQ,C'IEC359I CATALOG PERFORMANCE'),   
    END=(64,23,CH,EQ,C'IEC352I CATALOG ADDRESS',OR,     
         67,06,CH,EQ,C'ENDREQ')),                       
  IFTHEN=(WHEN=GROUP,PUSH=(180:92,8,103,8),RECORDS=3,   
  BEGIN=(67,18,CH,EQ,C'Entries to Catalog')),           
  IFTHEN=(WHEN=GROUP,PUSH=(200:92,8,103,8),RECORDS=2,   
  BEGIN=(67,18,CH,EQ,C'BCS ENQ Shr Sys')),               
  IFTHEN=(WHEN=(67,18,CH,EQ,C'BCS ENQ Excl Sys'),       
  OVERLAY=(220:92,8,103,8,240:X))                       
                                                         
  OUTFIL VTOF,INCLUDE=(220,8,CH,GT,C' '),               
  BUILD=(160,80,SQZ=(SHIFT=LEFT,MID=C';'))               
//*


The output from this is
Code:

2012.119;00:04:17.36;10,737;3.659;15,205;0.053;264;1.059     
2012.120;01:04:17.94;18,715;6.130;31,353;0.115;1,371;0.330   


knickraj,

Resize cannot be used in this case as the input is VB and RESIZE only works on F/FB datasets
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Aug 01, 2012 10:27 pm
Reply with quote

kushkush,

If it is vital to remove the comma from the "thousands" (or bigger, who knows) there are several ways. A FINDREP after the data is extracted would do it, as a comma will not be valid elsewhere in the data, plus could be restricted to starting after the delimiter for the first count.
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Wed Aug 01, 2012 11:45 pm
Reply with quote

I don't get any data records back. I checked offsets.
JCL:
Code:

//STEP0100 EXEC PGM=SORT                                   
//SYSOUT   DD SYSOUT=*                                     
//SORTIN   DD DISP=SHR,DSN=ZRA.SYSLOG1                     
//SORTOUT  DD SYSOUT=*                                     
//SYSIN    DD *                                             
  OPTION COPY                                               
  INREC IFTHEN=(WHEN=INIT,BUILD=(1,150,240:X)),             
  IFTHEN=(WHEN=GROUP,PUSH=(151:ID=8,160:24,20),             
  BEGIN=(64,27,CH,EQ,C'IEC359I CATALOG PERFORMANCE'),       
    END=(64,23,CH,EQ,C'IEC352I CATALOG ADDRESS',OR,         
         67,06,CH,EQ,C'ENDREQ')),                           
  IFTHEN=(WHEN=GROUP,PUSH=(180:92,8,103,8),RECORDS=3,       
  BEGIN=(67,18,CH,EQ,C'ENTRIES TO CATALOG')),               
  IFTHEN=(WHEN=GROUP,PUSH=(200:92,8,103,8),RECORDS=2,       
  BEGIN=(67,18,CH,EQ,C'BCS ENQ SHR SYS')),                 
  IFTHEN=(WHEN=(67,18,CH,EQ,C'BCS ENQ EXCL SYS'),           
  OVERLAY=(220:92,8,103,8,240:X))                           
                                                           
  OUTFIL VTOF,INCLUDE=(220,8,CH,GT,C' '),                   
  BUILD=(160,80,SQZ=(SHIFT=LEFT,MID=C';'))                 
//*                                                         


Code:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2--
DR        SYSM     2012.119 00:04:17.36      846 00000080  *  Entries to Catalog         10,737      3.659 MSEC  *       
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2--


And also the job output:
Code:

1ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5                                         
 ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE   E5-K72040 E7-K70685     
 ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                               
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE         
 ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 19:43 ON WED AUG 01, 2012 -   
0            OPTION COPY                                                           00100001     
             INREC IFTHEN=(WHEN=INIT,BUILD=(1,150,240:X)),                         00110001     
             IFTHEN=(WHEN=GROUP,PUSH=(151:ID=8,160:24,20),                         00120001     
             BEGIN=(64,27,CH,EQ,C'IEC359I CATALOG PERFORMANCE'),                   00130001     
               END=(64,23,CH,EQ,C'IEC352I CATALOG ADDRESS',OR,                     00140001     
                    67,06,CH,EQ,C'ENDREQ')),                                       00150001     
             IFTHEN=(WHEN=GROUP,PUSH=(180:92,8,103,8),RECORDS=3,                   00160001     
             BEGIN=(67,18,CH,EQ,C'ENTRIES TO CATALOG')),                           00170001     
             IFTHEN=(WHEN=GROUP,PUSH=(200:92,8,103,8),RECORDS=2,                   00180001     
             BEGIN=(67,18,CH,EQ,C'BCS ENQ SHR SYS')),                              00190001     
             IFTHEN=(WHEN=(67,18,CH,EQ,C'BCS ENQ EXCL SYS'),                       00200001     
             OVERLAY=(220:92,8,103,8,240:X))                                       00210001     
                                                                                   00220001     
             OUTFIL VTOF,INCLUDE=(220,8,CH,GT,C' '),                               00230001     
             BUILD=(160,80,SQZ=(SHIFT=LEFT,MID=C';'))                              00240001     
 ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5                                         
 ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE   E5-K72040 E7-K70685     
 ICE193I 0 ICEAM1 INVOCATION ENVIRONMENT IN EFFECT - ICEAM1 ENVIRONMENT SELECTED               
ICE193I 0 ICEAM1 INVOCATION ENVIRONMENT IN EFFECT - ICEAM1 ENVIRONMENT SELECTED                                     
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS                                             
ICE088I 0 ZRA     .STEP0100.        , INPUT LRECL = 200, BLKSIZE = 32760, TYPE = VB                                 
ICE093I 0 MAIN STORAGE = (MAX,6291456,6270976)                                                                     
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6306967,6208663)                                                               
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256       
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=SYSOUT               
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N             ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2                     
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=98304,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=N,DSA=0                         
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=Y       
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX               
ICE235I 0 OPTIONS: NULLOUT=RC0                                                                                     
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y                                                                             
ICE084I 0 BSAM ACCESS METHOD USED FOR SORTIN                                                                       
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 47104, ABOVE 16M = 107520                                           
ICE210I 0 SORTOUT  : BSAM USED, LRECL = 80, BLKSIZE = 80, TYPE = FB                                                 
ICE751I 1 EF-BASE   CB-K64632 F0-K66717 E8-K70685                                                                   
ICE055I 0 INSERT 0, DELETE 0                                                                                       
ICE054I 0 RECORDS - IN: 520618, OUT: 520618                                                                         
ICE227I 0 SORTOUT  : DELETED = 520618, REPORT = 0, DATA = 0                                                         
ICE228I 0 SORTOUT  : TOTAL IN = 520618, TOTAL OUT = 0                                                               
ICE174I 0 NO DATA RECORDS FOR AN OUTFIL DATA SET - RC=0                                                             
ICE052I 0 END OF DFSORT                                                                                             

Thanks for your kind help!
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Wed Aug 01, 2012 11:53 pm
Reply with quote

kushkush wrote:
I don't get any data records back. I checked offsets.


kushkush,

You need to pay close attention to the control cards and notice the difference between the Mixed case (lower and upper case ) strings vs complete upper case strings matching.

ex: Entries to Catalog <> ENTRIES TO CATALOG

So the GROUP check strings all will fail when you have the uppercase strings.

So before you copy the control cards, issue CAPS OFF command at TSO command and press Enter and then copy the control cards which would retain the mixed case.
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Thu Aug 02, 2012 12:01 am
Reply with quote

Skolusu,
Now I get the wanted results.
Thanks a lot, indeed.
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Thu Aug 02, 2012 9:59 pm
Reply with quote

I get results but now a new problem has surfaced.
What happens if one of the fields is not there? e.g., "BCS ENQ Excl Sys" is not reported- as the command catalog performance gives dynamic results.
Sometimes, i get 37 fields, sometimes 38 and sometimes 34. As we have grouped input can we put zeroes in the result if the field is not there?
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Thu Aug 02, 2012 10:22 pm
Reply with quote

kushkush,

You have 3 strings

1. Entries to Catalog
2. BCS ENQ Shr Sys
3. BCS ENQ Excl Sys

Which one of this strings will always exist?
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Fri Aug 03, 2012 12:27 am
Reply with quote

Hi Skolusu,
Sorry, I usually get these 37 Strings. But the command output is dynamic.
Entries to Catalog
BCS ENQ Shr Sys
BCS ENQ Excl Sys
BCS DEQ
VVDS RESERVE CI
VVDS DEQ CI
VVDS RESERVE Shr
VVDS RESERVE Excl
VVDS DEQ
SPHERE ENQ Excl Sys
SPHERE DEQ
CAXWA ENQ Shr
CAXWA DEQ
VDSPM ENQ
VDSPM DEQ
BCS Get
BCS Put
BCS Erase
VVDS I/O
VLF Retrieve Minor
RMM Tape Exit
OEM Tape Exit
SMF Write
IXLCACHE Read
IXLCACHE Write
Resolve Symbolic
Capture UCB
SMS Mgmt Class ACS
RACROUTE Auth
DADSM Scratch
DADSM Rename
Obtain Latch
ENQ SYSZPCCB
DEQ SYSZPCCB
Release Latch
Capture to Actual
ENDREQ
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Fri Aug 03, 2012 12:30 am
Reply with quote

If these strings are not there then can we put zeroes in the result? so that when we squeeze in the last line, we don't have uneven length results.
And also we need to replace comma from the numerical values e.g., 7,888 should be 7888 so that excel understands it as a number. I tried with findrep but could not get the results. I made a new step copying the file once again and using findrep!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Need help for File Aid JCL to extract... Compuware & Other Tools 23
No new posts Shift left VB record without x00 endi... DFSORT/ICETOOL 11
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
No new posts how to calculate SUM for VB file usin... JCL & VSAM 1
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
Search our Forums:

Back to Top