Joined: 26 Nov 2002 Posts: 12358 Topics: 75 Location: San Jose
Posted: Thu Feb 23, 2006 6:22 am Post subject:
amit,
Try this . I assumed that '*' is pos 63 ( vb file 4 bytes rdw and 1 byte carriage control). However I am not sure if horizontal math functions are supported with DFSORT r14 version.
This is a great thread, it has given me some ideas to apply this to a multi-line message, like those in any joblog, like DB2MSTR, in which related massages are something like this
I already have a Rexx solution to do so, but it would be interesting to do it with ICETOOL, I will give it a try and keep you all posted. Two basic problems I dealt with this information while doing my initial solution:
a) Messages can be "mixed up", that is, before the ending of any message, a new one may be encountered. Simple solution to put them together, is by using the Message ID
b) The Message ID has 3 characters in it, it means that eventually they will be repeated messages, The way I dealt with it, was throuw the Timestamp of the 'Header' message _________________ Best wishes,
Right, The messages are exactly like those. First of all, a little background, A coupple of months ago I made a generic tool to process the logs, which have those kind of messages, I wanted to make it so general that I made a file of all the messages, no particular distinction so far, since I wanted to apply the solution not only to DB2, but also to other regions like CICS and so on, at this point I just wanted to put all the relevant information in one line, which I succeded by using a rexx macro. Then using ICETOOL, I could use symbolics to process the generated dataset, all I had to do was to set the symbolics to the specific messages and our excellent toy, ICETOOL filtered, reformated, and reported out everything. I am trying to go one step further, now that I have seen your post, by getting rid of the Rexx and let ICETOOL do all the work. _________________ Best wishes,
For the sake of the discussion, in the case of DB2 they were indeed deadlook and timeout (375/376) and the corresponding 500/501. But for CICS messages I could look for other messages even the ones in an abend message. _________________ Best wishes,
Joined: 26 Nov 2002 Posts: 12358 Topics: 75 Location: San Jose
Posted: Thu Feb 23, 2006 9:21 am Post subject:
German Castillo,
I think it is possible , but unfortunately my shop has syncsort which does not support the OVERLAY feature. So my control cards may be off. I assumed that you Log dataset has the following properties.
Basically we are writting the message id at the end of every record and sort on that message id to club all the message group records as one record.
I sure helps, It is different but the maintenance is a lot better. With that idea I can use symnames as well. You ar eright My previos overlay went all the way towards the end of the record. Then 'fishing' all the records is easy.
Great idea, thanks! _________________ Best wishes,
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Thu Feb 23, 2006 12:32 pm Post subject:
Quote:
So Frank can you kindly suggest is there any other alternative solution then the one you have send using OVERLAY, as I am not able to use either yours or Kolusu's solution for the first part of my initial query, where I am supposed to find out average time of jobs and list out only distinct jobs.
Amit,
Here's a revised version of my first job that does not use any of the Dec, 2004 DFSORT PTF functions:
_________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Thu Feb 23, 2006 12:34 pm Post subject:
Quote:
However I am not sure if horizontal math functions are supported with DFSORT r14 version.
Horizontal math has been supported with DFSORT R14 since Feb, 2003. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
I can't figure out what you're trying to do here since I don't know what the input records look like or what the output records are supposed to look like, but the 1,1,CH, in the tests certainly don't look right to me. This would test for 'd' in position 1. I'm pretty sure you want 8 for the length to correspond to the length of 'dsnt37xi', but I don't know if the starting position of 1 is also wrong or not.
If the idea is to do some kind of group INCLUDE, then the "Include or omit groups of records" Smart DFSORT Trick may be relevant for those who have DFSORT and the Dec, 2004 PTF. See:
Joined: 26 Nov 2002 Posts: 12358 Topics: 75 Location: San Jose
Posted: Thu Feb 23, 2006 12:56 pm Post subject:
Quote:
I can't figure out what you're trying to do here since I don't know what the input records look like or what the output records are supposed to look like, but the 1,1,CH, in the tests certainly don't look right to me.
Frank,
I just copied the control cards from one of your example. I changed the string but forgot to change the positions and length. It should be at pos 21 for a length of 8 bytes. I just showed castilo an example control cards and I guess he was able to build on that.
Kolusu _________________ Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Thu Feb 23, 2006 2:04 pm Post subject:
Kolusu,
Ok. I editted your post to have the correct starting position and length. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Joined: 24 Oct 2005 Posts: 109 Topics: 36 Location: India
Posted: Fri Feb 24, 2006 2:17 am Post subject:
Hi Frank/Kolusu, Guys you are just genius.
Frank your solution worked perfectly for me. just wanted to ask a simple query, if suppose there is a record which might have a blank in place of Job name or there might be a record which might not have time under the time taken column, i would like to omit such records from processing, so how can I use OMIT condition to only select records which are 'non-blank' for column 1,4 and 13,8. The idea is to remove unnecessary records, and process only required records.
Kolusu, for your solution of the VBA 137 SYSLOG data set, I am sorting and trying to write it to an output VBA 137 data set, but the SYSLOG has some records which are less than 63 in length and so I get the below error;
ICE218A 3 61 BYTE VARIABLE RECORD IS SHORTER THAN 63 BYTE MINIMUM
I searched SORT Manual and found I can use VLFILL, so I put the below SORT card but even then it gives the same error:
Joined: 26 Nov 2002 Posts: 12358 Topics: 75 Location: San Jose
Posted: Fri Feb 24, 2006 6:17 am Post subject:
Quote:
so how can I use OMIT condition to only select records which are 'non-blank' for column 1,4 and 13,8. The idea is to remove unnecessary records, and process only required records.
Kolusu, for your solution of the VBA 137 SYSLOG data set, I am sorting and trying to write it to an output VBA 137 data set, but the SYSLOG has some records which are less than 63 in length and so I get the below error;
ICE218A 3 61 BYTE VARIABLE RECORD IS SHORTER THAN 63 BYTE MINIMUM
All times are GMT - 5 Hours Goto page Previous1, 2, 3Next
Page 2 of 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum