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: 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
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Fri Aug 03, 2012 1:09 am
Reply with quote

kushkush wrote:
Hi Skolusu,
Sorry, I usually get these 37 Strings. But the command output is dynamic.

When you say "the command output is dynamic" do you mean "the output will contain some, but not necessarily all, of these strings" or "these are only a sample of the strings that the command might produce"?
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 1:28 am
Reply with quote

No, Usually the command produces 37 Strings but in some cases some strings are missing from output.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Fri Aug 03, 2012 2:03 am
Reply with quote

Come on Akatsukami,
ask him again.

but don't forget - insanity is doing the same thing over and over and expecting a different result.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Aug 03, 2012 2:03 am
Reply with quote

Hello,

Which string can be guaranteed to be there?
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Fri Aug 03, 2012 2:08 am
Reply with quote

kushkush,

I specifically asked you which string is always present among the 3 strings that you are validating. You never answered my question. However I made an assumption that the string '-----CATALOG EVENT----' is always present in your report and you are only looking at 4 records from that. Based on that assumption you can use the following control cards.

Code:

//SYSIN    DD *                                                       
  OPTION COPY                                                         
  INREC IFTHEN=(WHEN=INIT,BUILD=(1,120,2C'       0',241:X)),         
  IFTHEN=(WHEN=GROUP,PUSH=(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,RECORDS=4,                                       
  BEGIN=(67,22,CH,EQ,C'-----CATALOG EVENT----'),                     
  PUSH=(180:121,16,200:121,16,220:121,16,240:ID=1,SEQ=1)),           
  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))                                           
                                                                     
  OUTFIL VTOF,INCLUDE=(241,1,ZD,EQ,4),                               
  BUILD=(160,80,SQZ=(SHIFT=LEFT,MID=C';'))                           
//*


The output produced from the above 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;0;0           
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: Fri Aug 03, 2012 4:34 am
Reply with quote

kushkush wrote:
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!


Are you certain that Excel can't understand your figures with commas?

You haven't shown how you failed with FINDREP, so difficult to guess what was wrong.

You could also look at defining each of the counts as SFF and converting them TO=ZD with an appropriate length.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Fri Aug 03, 2012 7:56 am
Reply with quote

Quote:
If these strings are not there then can we put zeroes in the result?


Seems to me (dada dada dada da - catchy tune, always liked that song)
you have to assume that within the iec359 group
there can be the following combinations of the three literals:
  • only 1 present
  • only 2 present
  • or all 3 present

which means there can be
  • 1 missing
  • or 2 missing

That means we need multiple passes of JOINKEYS in order to create the missing.
So, ICETOOL

First Process:
isolate what is there by looking for the literals
and outfil each to a different temp file.
Second Process:
JOINKEYS file1 and file2 on date/time
UNPAIRED,F1,F2
FORMAT to include date,time and count for both
OUTREC with IFTHEN WHEN one side or the other is missing, supply from the other
that way we always have a date/time and count for both
Third Process:
JOINKEYS output of massaged first JOINKEYS and file3 on date/time
UNPAIRED,F1,F2
FORMAT to include date,time and counts for both
OUTREC is tricky because we could end up with a unpaired F2
which means there are two date/time/counts to plug.

anyway, now we have created an output with date/time/count three times,
which we can build the final output in OUTFIL with BUILD.

anyway, that is how it
seems to me
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 6:40 pm
Reply with quote

Hi Bill, Hello Skolusu,
Sorry because of time difference, i could not answer you quickly.
Code:

//STEP0100     EXEC PGM=ICETOOL                             
//TOOLMSG      DD   SYSOUT=*                                 
//DFSMSG       DD   SYSOUT=*                                 
//TOOLIN       DD   *                                       
 COPY FROM(IN) TO(TMP) USING(PRM0)                           
 COPY FROM(TMP) TO(TMP1) USING(PRM1)                         
 COPY FROM(TMP1) TO(OUT) USING(PRM2)                         
 COPY FROM(TMP1) TO(MYOUT) USING(PRM2)                       
//IN          DD  DISP=SHR,DSN=...   
//TMP       DD  DSN=&&T0,                                 
//             UNIT=SYSDA,                                   
//             SPACE=(CYL,(50,50),RLSE),
//             DISP=(,PASS)                       
//TMP1      DD  DSN=&&TA,                     
//             UNIT=SYSDA,                       
//             SPACE=(TRK,(10,10),RLSE),         
//             DISP=(,PASS)                       
//MYOUT    DD SYSOUT=*                       
//OUT        DD DISP=(NEW,CATLG),               
//             SPACE=(TRK,(5,5),RLSE),           
//             DSN=...x         
//PRM0CNTL     DD  *                             
  INCLUDE COND=(15,4,CH,EQ,C'SYSM')               
//PRM1CNTL     DD  *                             
  INREC IFTHEN=(WHEN=INIT,BUILD=(1,150,940: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=37, 
       BEGIN=(67,18,CH,EQ,C'Entries to Catalog')),   
  IFTHEN=(WHEN=GROUP,PUSH=(200:92,8,103,8),RECORDS=36, 
       BEGIN=(67,18,CH,EQ,C'BCS ENQ Shr Sys')),       
  IFTHEN=(WHEN=GROUP,PUSH=(220:92,8,103,8),RECORDS=35, 
       BEGIN=(67,18,CH,EQ,C'BCS ENQ Excl Sys')),     
  IFTHEN=(WHEN=GROUP,PUSH=(240:92,8,103,8),RECORDS=34, 
       BEGIN=(67,18,CH,EQ,C'BCS DEQ')),               
  IFTHEN=(WHEN=GROUP,PUSH=(260:92,8,103,8),RECORDS=33, 
       BEGIN=(67,18,CH,EQ,C'VVDS RESERVE CI')),       
  IFTHEN=(WHEN=GROUP,PUSH=(280:92,8,103,8),RECORDS=32, 
       BEGIN=(67,18,CH,EQ,C'VVDS DEQ CI')),           
  IFTHEN=(WHEN=GROUP,PUSH=(300:92,8,103,8),RECORDS=31, 
       BEGIN=(67,18,CH,EQ,C'VVDS RESERVE Shr')),     
  IFTHEN=(WHEN=GROUP,PUSH=(320:92,8,103,8),RECORDS=30, 
       BEGIN=(67,18,CH,EQ,C'VVDS RESERVE Excl')),     
  IFTHEN=(WHEN=GROUP,PUSH=(340:92,8,103,8),RECORDS=29, 
        BEGIN=(67,18,CH,EQ,C'VVDS DEQ')),               
  IFTHEN=(WHEN=GROUP,PUSH=(360:92,8,103,8),RECORDS=28,   
        BEGIN=(67,18,CH,EQ,C'SPHERE ENQ Excl Sys')),     
  IFTHEN=(WHEN=GROUP,PUSH=(380:92,8,103,8),RECORDS=27,   
        BEGIN=(67,18,CH,EQ,C'SPHERE DEQ')),             
  IFTHEN=(WHEN=GROUP,PUSH=(400:92,8,103,8),RECORDS=26,   
        BEGIN=(67,18,CH,EQ,C'CAXWA ENQ Shr')),           
  IFTHEN=(WHEN=GROUP,PUSH=(420:92,8,103,8),RECORDS=25,   
        BEGIN=(67,18,CH,EQ,C'CAXWA DEQ')),               
  IFTHEN=(WHEN=GROUP,PUSH=(440:92,8,103,8),RECORDS=24,   
        BEGIN=(67,18,CH,EQ,C'VDSPM ENQ')),               
  IFTHEN=(WHEN=GROUP,PUSH=(460:92,8,103,8),RECORDS=23,   
        BEGIN=(67,18,CH,EQ,C'VDSPM DEQ')),               
  IFTHEN=(WHEN=GROUP,PUSH=(480:92,8,103,8),RECORDS=22,   
        BEGIN=(67,18,CH,EQ,C'BCS Get')),                 
  IFTHEN=(WHEN=GROUP,PUSH=(500:92,8,103,8),RECORDS=21,   
        BEGIN=(67,18,CH,EQ,C'BCS Put')),                 
  IFTHEN=(WHEN=GROUP,PUSH=(520:92,8,103,8),RECORDS=20,   
        BEGIN=(67,18,CH,EQ,C'BCS Erase')),               
  IFTHEN=(WHEN=GROUP,PUSH=(540:92,8,103,8),RECORDS=19,   
        BEGIN=(67,18,CH,EQ,C'VVDS I/O')),               
  IFTHEN=(WHEN=GROUP,PUSH=(560:92,8,103,8),RECORDS=18,     
       BEGIN=(67,18,CH,EQ,C'VLF Retrieve Minor')),       
  IFTHEN=(WHEN=GROUP,PUSH=(580:92,8,103,8),RECORDS=17,     
       BEGIN=(67,18,CH,EQ,C'RMM Tape Exit')),             
  IFTHEN=(WHEN=GROUP,PUSH=(600:92,8,103,8),RECORDS=16,     
       BEGIN=(67,18,CH,EQ,C'OEM Tape Exit')),             
  IFTHEN=(WHEN=GROUP,PUSH=(620:92,8,103,8),RECORDS=15,     
       BEGIN=(67,18,CH,EQ,C'SMF Write')),                 
  IFTHEN=(WHEN=GROUP,PUSH=(640:92,8,103,8),RECORDS=14,     
       BEGIN=(67,18,CH,EQ,C'IXLCACHE Read')),             
  IFTHEN=(WHEN=GROUP,PUSH=(660:92,8,103,8),RECORDS=13,     
       BEGIN=(67,18,CH,EQ,C'IXLCACHE Write')),           
  IFTHEN=(WHEN=GROUP,PUSH=(680:92,8,103,8),RECORDS=12,     
       BEGIN=(67,18,CH,EQ,C'Resolve Symbolic')),         
  IFTHEN=(WHEN=GROUP,PUSH=(700:92,8,103,8),RECORDS=11,     
       BEGIN=(67,18,CH,EQ,C'Capture UCB')),               
  IFTHEN=(WHEN=GROUP,PUSH=(720:92,8,103,8),RECORDS=10,     
       BEGIN=(67,18,CH,EQ,C'SMS Mgmt Class ACS')),       
  IFTHEN=(WHEN=GROUP,PUSH=(740:92,8,103,8),RECORDS=9,       
       BEGIN=(67,18,CH,EQ,C'RACROUTE Auth')),             
  IFTHEN=(WHEN=GROUP,PUSH=(760:92,8,103,8),RECORDS=8,
       BEGIN=(67,18,CH,EQ,C'Release Latch')),   
  IFTHEN=(WHEN=GROUP,PUSH=(780:92,8,103,8),RECORDS=7,   
         BEGIN=(67,18,CH,EQ,C'DADSM Rename')),           
  IFTHEN=(WHEN=GROUP,PUSH=(800:92,8,103,8),RECORDS=6,   
         BEGIN=(67,18,CH,EQ,C'Obtain Latch')),           
  IFTHEN=(WHEN=GROUP,PUSH=(820:92,8,103,8),RECORDS=5,   
         BEGIN=(67,18,CH,EQ,C'ENQ SYSZPCCB')),           
  IFTHEN=(WHEN=GROUP,PUSH=(840:92,8,103,8),RECORDS=4,   
         BEGIN=(67,18,CH,EQ,C'DEQ SYSZPCCB')),           
  IFTHEN=(WHEN=GROUP,PUSH=(860:92,8,103,8),RECORDS=3,   
         BEGIN=(67,18,CH,EQ,C'Release Latch')),         
  IFTHEN=(WHEN=GROUP,PUSH=(880:92,8,103,8),RECORDS=2,   
         BEGIN=(67,18,CH,EQ,C'Capture to Actual')),     
  IFTHEN=(WHEN=(67,18,CH,EQ,C'ENDREQ'),                 
         OVERLAY=(900:92,8,103,8,940:X))                 
                                                         
  OUTFIL VTOF,INCLUDE=(900,8,CH,GT,C' '),               
  BUILD=(160,780,SQZ=(SHIFT=LEFT,MID=C';'))             
//PRM2CNTL DD *                                         
  INREC FINDREP=(IN=C',',OUT=C'')                       
               

I removed every junk from input data and put just two command outputs in the input file. Here is my input file:
Code:

MR0000000 SYSM     2012.215 00:04:17.47 X0001937 00000080  IEC359I CATALOG PERFORMANCE REPORT 239                     
LR        SYSM     2012.215 00:04:17.47      239 00000080  *CAS***************************************************     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Statistics since 23:04:21.97 on  08/01/2012        *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Entries to Catalog         10,369      3.620 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS ENQ Shr Sys            14,755      0.042 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS ENQ Excl Sys              265      0.469 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS DEQ                     5,530      0.012 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS RESERVE CI             2,097      0.018 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS DEQ CI                 2,097      0.034 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS RESERVE Shr           20,173      0.024 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS RESERVE Excl             202      0.078 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS DEQ                   20,375      0.033 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  SPHERE ENQ Excl Sys           218      0.036 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  SPHERE DEQ                    218      0.031 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  CAXWA ENQ Shr                 124      0.030 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  CAXWA DEQ                     124      0.007 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VDSPM ENQ                  15,478      0.003 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VDSPM DEQ                  15,478      0.003 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS Get                   219,666      0.009 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS Put                        78      1.072 MSEC  *     
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  BCS Erase                     151      1.663 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VVDS I/O                   22,812      0.635 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  VLF Retrieve Minor            149      0.004 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  RMM Tape Exit                 145      0.000 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  OEM Tape Exit                 145      0.000 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  SMF Write                   1,740      0.066 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  IXLCACHE Read               2,083      0.770 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  IXLCACHE Write                198      0.597 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Resolve Symbolic               97      0.149 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Capture UCB                   128      0.005 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  SMS Mgmt Class ACS              3      1.128 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  RACROUTE Auth               1,431      0.159 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  DADSM Scratch                 145     14.816 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  DADSM Rename                    3      8.063 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Obtain Latch               27,076      0.000 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  ENQ SYSZPCCB                7,984      0.002 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  DEQ SYSZPCCB                7,984      0.001 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Release Latch              27,076      0.000 MSEC  *   
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  ENDREQ                        149      0.002 MSEC  *   
ER        SYSM     2012.215 00:04:17.47      239 00000080  *CAS***************************************************   
MR0000000 SYSM     2012.215 01:04:18.76 X0002256 00000080  IEC359I CATALOG PERFORMANCE REPORT 487                   
LR        SYSM     2012.215 01:04:18.76      487 00000080  *CAS***************************************************   
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Statistics since  0:04:22.56 on  08/02/2012        *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  -----CATALOG EVENT----   --COUNT--  ---AVERAGE---  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Entries to Catalog         19,655      7.305 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS ENQ Shr Sys            33,527      0.287 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS ENQ Excl Sys            1,862      0.349 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS DEQ                    10,198      0.020 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS RESERVE CI             3,437      0.045 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS DEQ CI                 3,437      0.059 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS RESERVE Shr           31,235      0.040 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS RESERVE Excl             972      0.064 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS DEQ                   32,207      0.058 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  SPHERE ENQ Excl Sys         1,640      0.085 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  SPHERE DEQ                  1,640      0.065 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  CAXWA ENQ Shr                 124      0.034 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  CAXWA DEQ                     124      0.007 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VDSPM ENQ                  38,687      0.134 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VDSPM DEQ                  38,687      0.005 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS Get                   530,286      0.023 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS Put                       989      1.374 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  BCS Erase                     660      1.254 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VVDS I/O                   37,223      1.575 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VLF Create Minor                1      0.022 MSEC  *
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VLF Retrieve Minor            263      0.005 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  VLF Delete Minor                2      0.018 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  RMM Tape Exit                 472      0.028 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  OEM Tape Exit                 472      0.000 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  SMF Write                   4,911      0.076 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  IXLCACHE Read              18,652      0.537 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  IXLCACHE Write              2,996      0.478 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Resolve Symbolic              118      0.161 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Lookup/Pin UCB                  2      0.007 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Unpin UCB                       2      0.003 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Capture UCB                   316      0.007 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Uncapture UCB                   1      0.006 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  SMS Active Config               1      0.061 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  SMS Mgmt Class ACS              4      1.292 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  RACROUTE Auth               3,759      0.198 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  RACROUTE Define                94      0.106 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  DADSM Scratch                 414     20.318 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  DADSM Rename                    4     21.320 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  DADSM Allocate SMS             99     13.672 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Obtain Latch               59,522      0.001 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  ENQ SYSZPCCB               22,259      0.003 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  DEQ SYSZPCCB               22,259      0.002 MSEC  * 
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Release Latch              59,522      0.000 MSEC  *   
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  Capture to Actual             213      0.003 MSEC  *   
DR        SYSM     2012.215 01:04:18.76      487 00000080  *  ENDREQ                        503      0.002 MSEC  *   
ER        SYSM     2012.215 01:04:18.76      487 00000080  *CAS***************************************************   

Attachment inlined, ( Not everybody can see/download attachments ) and deleted
Code:
12012.215;00:04:17.47;10369;3.620;14755;0.042;265;0.469;5530;0.012;2097;0.018;2097;0.034;20173;0.024;202;0.078;20375;0.033;218;0.036;218;0.031;124;0.030;124;0.007;15478;0.003;15478;0.003;219666;0.009;78;1.072;151;1.663;22812;0.635;149;0.004;145;0.000;145;0.000;1740;0.066;2083;0.770;198;0.597;97;0.149;128;0.005;3;1.128;1431;0.159;145;14.816;3;8.063;27076;0.000;7984;0.002;7984;0.001;27076;0.000;149;0.002
 2012.215;01:04:18.76;59522;0.001;22259;0.003;22259;0.002;59522;0.000;213;0.003;503;0.002


This shows that both fields that are not in jcl but are in input file and fields which are in jcl but not in input file create problems.
Solution is to make a jcl of all possible fields and if they are not in input file, to insert zeroes as values. But how?
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Fri Aug 03, 2012 7:06 pm
Reply with quote

Just a thought though...not sure but may work ..not tested also...

it seems with each field you JCL is growing bigger,so may be you create a sample file...with values zero...like...below

Code:

Entries to Catalog         00000     
BCS ENQ Shr Sys            00000     
BCS ENQ Excl Sys           00000     
BCS DEQ                    00000


then use joinkeys, if match found you may put the values in sample file
not match will already result in zero..then you can transpose the values.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Fri Aug 03, 2012 7:27 pm
Reply with quote

after 33 posts to this thread,
it is now becoming very interesting
(i will use that word instead of stupid/not thought-out/continually changing)
though I am at a loss to understand the requirements.

I thought that the counts,
identified by position and not by any other identifying 'name',
where 3?

knickraj,
you often come up with good ideas,
I know that you wish to help and contribute,
but the counts are (were) oriented (JOINED/MATCHED) by time,
how would you 'JOIN' your "default" file with the extracts?

but maybe my own bias is clouding my understanding of the requirement.
Back to top
View user's profile Send private message
knickraj
Warnings : 1

New User


Joined: 11 Jun 2007
Posts: 50
Location: Euro

PostPosted: Fri Aug 03, 2012 8:04 pm
Reply with quote

Dick,

After seeing the TS's job with these many IFTHEN's it may be difficult to even debugg, if some data is missing or wrong,better to write a Cobol.

About my logic...

TS's i/p file one..line..

Code:
DR        SYSM     2012.215 00:04:17.47      239 00000080  *  Entries to Catalog         10,369      3.620 MSEC


using inrec build make it like this

Code:
 Entries to Catalog         10,369      3.620 MSEC   2012.215 00:04:17.47


join with sample file

Code:
 Entries to Catalog         00000   0000MSEC      000000000
 BCS ENQ Shr Sys            00000      0000MSEC   000000000


o/p
Code:
Entries to Catalog         10,369     3.620 MSEC     2012.215 00:04:17.47
BCS ENQ Shr Sys            00000      0000MSEC       000000000

while build in o/p
we may be interested in only values as below.

Code:
10,369     3.620 MSEC     2012.215 00:04:17.47
00000      0000MSEC       000000000


Then use a resize put the data in one line with comma sepearated format,
with a fixed header of Entries to Catalog..BCS ENQ Shr Sys..etc...etc...

the sample file should be with MAX number of entries expected/fields the TS input may contain 38 I guess...

P.S experts let me now if some flaw is there icon_sad.gif , it would enhance my learning...
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Fri Aug 03, 2012 11:58 pm
Reply with quote

kushkush,

*Sigh* You really need to work on your skills of explaining the complete requirement. Initially you started with just validating 3 fields and now you want all the 37~40 fields validated and consolidated into a single record?

The solutions vary based on the requirement. It is easy to provide an optimal solution when we know the complete requirement. When you provide only bits and pieces of the requirement, you actually are forcing other people who are trying to help also follow your idea of the solution which may or may not be the ideal solution.

There is no real need here for using WHEN=GROUP when the date is available on every record in the log. I have no idea as to why I did not notice this earlier.

Either way here is a solution which will consolidate all the data delimiting them with semi-colon and also padding zeros with leading spaces when the record is not available. The output file is also VB, You can convert it to FB, add headers and sqz the data as you like. This will be my last post in this topic. If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:

www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000080

Code:

//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG  DD SYSOUT=*
//DFSMSG   DD SYSOUT=*
//IN       DD DISP=SHR,DSN=ZRA.SYSLOG1
//OUT      DD SYSOUT=*
//TOOLIN   DD *
  SPLICE FROM(IN) TO(OUT) ON(51,8,CH) WITHANY KEEPNODUPS  -
  WITH(081,20) WITH(101,20) WITH(121,20) WITH(141,20)     -
  WITH(161,20) WITH(181,20) WITH(201,20) WITH(221,20)     -
  WITH(241,20) WITH(261,20) WITH(281,20) WITH(301,20)     -
  WITH(321,20) WITH(341,20) WITH(361,20) WITH(381,20)     -
  WITH(401,20) WITH(421,20) WITH(441,20) WITH(461,20)     -
  WITH(481,20) WITH(501,20) WITH(521,20) WITH(541,20)     -
  WITH(561,20) WITH(581,20) WITH(601,20) WITH(621,20)     -
  WITH(641,20) WITH(661,20) WITH(681,20) WITH(701,20)     -
  WITH(721,20) WITH(741,20) WITH(761,20) WITH(781,20)     -
  WITH(801,20) USING(CTL1)
//*
//CTL1CNTL DD *
  OPTION COPY
  INCLUDE COND=(15,4,CH,EQ,C'SYSM')

  INREC IFTHEN=(WHEN=INIT,
  BUILD=(1,4,67,26,90,10,UFF,M10,LENGTH=10,103,8,
         60:24,20,C';',740X)),
   IFTHEN=(WHEN=GROUP,PUSH=(50:ID=8),
    BEGIN=(5,22,CH,EQ,C'-----CATALOG EVENT----'),
      END=(5,06,CH,EQ,C'ENDREQ')),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Entries to Catalog'),
  OVERLAY=(081:31,10,092:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS ENQ Shr Sys'),
  OVERLAY=(101:31,10,112:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS ENQ Excl Sys'),
  OVERLAY=(121:31,10,132:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS DEQ'),
  OVERLAY=(141:31,10,152:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS RESERVE CI'),
  OVERLAY=(161:31,10,172:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS DEQ CI'),
  OVERLAY=(181:31,10,192:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS RESERVE Shr'),
  OVERLAY=(201:31,10,212:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS RESERVE Excl'),
  OVERLAY=(221:31,10,232:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS DEQ'),
  OVERLAY=(241:31,10,252:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'SPHERE ENQ Excl Sys'),
  OVERLAY=(261:31,10,272:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'SPHERE DEQ'),
  OVERLAY=(281:31,10,292:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'CAXWA ENQ Shr'),
  OVERLAY=(301:31,10,312:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'CAXWA DEQ'),
  OVERLAY=(321:31,10,332:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VDSPM ENQ'),
  OVERLAY=(341:31,10,352:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VDSPM DEQ'),
  OVERLAY=(361:31,10,372:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS Get'),
  OVERLAY=(381:31,10,392:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS Put'),
  OVERLAY=(401:31,10,412:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'BCS Erase'),
  OVERLAY=(421:31,10,432:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VVDS I/O'),
  OVERLAY=(441:31,10,452:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'VLF Retrieve Minor'),
  OVERLAY=(461:31,10,472:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'RMM Tape Exit'),
  OVERLAY=(481:31,10,492:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'OEM Tape Exit'),
  OVERLAY=(501:31,10,512:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'SMF Write'),
  OVERLAY=(521:31,10,532:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'IXLCACHE Read'),
  OVERLAY=(541:31,10,552:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'IXLCACHE Write'),
  OVERLAY=(561:31,10,572:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Resolve Symbolic'),
  OVERLAY=(581:31,10,592:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Capture UCB'),
  OVERLAY=(601:31,10,612:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'SMS Mgmt Class ACS'),
  OVERLAY=(621:31,10,632:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'RACROUTE Auth'),
  OVERLAY=(641:31,10,652:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Release Latch'),
  OVERLAY=(661:31,10,672:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'DADSM Rename'),
  OVERLAY=(681:31,10,692:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Obtain Latch'),
  OVERLAY=(701:31,10,712:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'ENQ SYSZPCCB'),
  OVERLAY=(721:31,10,732:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'DEQ SYSZPCCB'),
  OVERLAY=(741:31,10,752:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Release Latch'),
  OVERLAY=(761:31,10,772:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'Capture to Actual'),
  OVERLAY=(781:31,10,792:41,8)),
   IFTHEN=(WHEN=(5,18,CH,EQ,C'ENDREQ'),
  OVERLAY=(801:31,10,812:41,8))

  OUTFIL INCLUDE=(50,1,CH,GT,C' '),
  IFTHEN=(WHEN=INIT,
  BUILD=(001,04,
         060,08,C';',69,11,C';',
         081,10,C';',092,08,C';',
         101,10,C';',112,08,C';',
         121,10,C';',132,08,C';',
         141,10,C';',152,08,C';',
         161,10,C';',172,08,C';',
         181,10,C';',192,08,C';',
         201,10,C';',212,08,C';',
         221,10,C';',232,08,C';',
         241,10,C';',252,08,C';',
         261,10,C';',272,08,C';',
         281,10,C';',292,08,C';',
         301,10,C';',312,08,C';',
         321,10,C';',332,08,C';',
         341,10,C';',352,08,C';',
         361,10,C';',372,08,C';',
         381,10,C';',392,08,C';',
         401,10,C';',412,08,C';',
         421,10,C';',432,08,C';',
         441,10,C';',452,08,C';',
         461,10,C';',472,08,C';',
         481,10,C';',492,08,C';',
         501,10,C';',512,08,C';',
         521,10,C';',532,08,C';',
         541,10,C';',552,08,C';',
         561,10,C';',572,08,C';',
         581,10,C';',592,08,C';',
         601,10,C';',612,08,C';',
         621,10,C';',632,08,C';',
         641,10,C';',652,08,C';',
         661,10,C';',672,08,C';',
         681,10,C';',692,08,C';',
         701,10,C';',712,08,C';',
         721,10,C';',732,08,C';',
         741,10,C';',752,08,C';',
         761,10,C';',772,08,C';',
         781,10,C';',792,08,C';',
         801,10,C';',812,08,C';')),

  IFTHEN=(WHEN=INIT,
  FINDREP=(INOUT=(C';          ;',C';         0;',
                  C'        ;',C'   0.000;')))
//*
Back to top
View user's profile Send private message
kushkush

New User


Joined: 30 Jun 2005
Posts: 37
Location: Germany

PostPosted: Sat Aug 04, 2012 1:04 am
Reply with quote

Thanks a lot for your help. Really appreciate your patience with fuzzy specifications!
Wish you a nice weekend.
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