Re: Copy SMF Records With Syncsort
You could also have corrected those records with just SAS, i.e., MXG not required: DATA _NULL_; INFILE SMF; INPUT @11 SYSTEM $EBCDIC4. @; IF SYSTEM='1234' THEN SYSTEM='5678'; ELSE ... change system to desired; FILE SMFOUT DCB=SMF; PUT _INFILE_ @11 SYSTEM $EBCDIC4. ; FILE LOG; -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Yes you can, and I have done so when I knew the length of the records I was looking at weren't going to be an issue. But it isn't a viable option for making a copy of all your SMF data - even if you weren't modifying anything in it. Though the subject here was SCRT, which are SMF 89 records. Those should be okay. Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:mark.zel...@zurichna.com z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html On Thu, 5 Feb 2009 13:46:03 -0800, Natarajan Mohan wrote: >You could use IDCAMS to repro from a VBS to VB. Then REXX would be able to handle. > >Natarajan > Mark Zelden 2/5/2009 1:35 PM >>> >On Thu, 5 Feb 2009 12:59:07 -0600, John McKown wrote: > >>FileAid could do this sort of fix as well, if you have it. If you're really >>masochistic, you could even use REXX! >> > >Not really. REXX doesn't handle spanned records. > >Mark >-- >Mark Zelden >Sr. Software and Systems Architect - z/OS Team Lead >Zurich North America / Farmers Insurance Group - ZFUS G-ITO >mailto:mark.zel...@zurichna.com >z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ >Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
You could use IDCAMS to repro from a VBS to VB. Then REXX would be able to handle. Natarajan >>> Mark Zelden 2/5/2009 1:35 PM >>> On Thu, 5 Feb 2009 12:59:07 -0600, John McKown wrote: >FileAid could do this sort of fix as well, if you have it. If you're really >masochistic, you could even use REXX! > Not really. REXX doesn't handle spanned records. Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:mark.zel...@zurichna.com z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html NOTICE OF CONFIDENTIALITY The information contained in this communication, including but not limited to any accompanying document(s) and/or attachment(s), is privileged and confidential and is intended solely for the above-named individual(s). If you are not the intended recipient, please be advised that any distribution, copying, disclosure, and/or use of the information contained herein is strictly prohibited. If you received this communication in error, please destroy all copies of the communication, whether in electronic or hard copy format, and immediately contact the Security Office at EDFUND at (916) 526-7539 or securityoff...@edfund.org. Thank you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
On Thu, 5 Feb 2009 12:59:07 -0600, John McKown wrote: >FileAid could do this sort of fix as well, if you have it. If you're really >masochistic, you could even use REXX! > Not really. REXX doesn't handle spanned records. Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:mark.zel...@zurichna.com z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Hi John, I just ran John Reda's sort and checked it out when I read your post. I hope you didn't spend a lot of time writing it. I don't think I'll try it right now, but I will keep a copy of it in case I have any more problems working with SMF records. SMF records ALWAYS give trouble sometimes. Thanks for your help. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 John McKown wrote: > the following COBOL program will do what you want. Well, in my minor test it > did. Compiled with Enterprise COBOL 3.4. > > 000100 PROCESS MAP,TRUNC(OPT),OPTIMIZE,VBREF,XREF,APOST,LIST > 000200 ID DIVISION. > 000300 PROGRAM-ID. SMFALTER. > 000400 AUTHOR. JOHN MCKOWN. > 000500 INSTALLATION. HEALTHMARKETS, INC. > 000600 DATE-WRITTEN. FEBRUARY 04, 2009. > 000700 DATE-COMPILED. > 000800 SECURITY. NONE. > 000900* > 001000 ENVIRONMENT DIVISION. > 001100 CONFIGURATION SECTION. > 001200 SOURCE-COMPUTER. IBM-370. > 001300 OBJECT-COMPUTER. IBM-370. > 001400 INPUT-OUTPUT SECTION. > 001500 FILE-CONTROL. > 001600 SELECT SMF-INPUT ASSIGN TO UT-S-SMFIN > 001700ORGANIZATION IS SEQUENTIAL > 001800ACCESS MODE IS SEQUENTIAL > 001900FILE STATUS IS SMFIN-FILE-STATUS. > 002000 SELECT SMF-OUTPUT ASSIGN TO UT-S-SMFOUT > 002100ORGANIZATION IS SEQUENTIAL > 002200ACCESS MODE IS SEQUENTIAL > 002300FILE STATUS IS SMFOUT-FILE-STATUS. > 002400 I-O-CONTROL. > 002500*APPLY WRITE-ONLY ON SMF-OUTPUT. > 002600* > 002700 DATA DIVISION. > 002800 FILE SECTION. > 002900 FD SMF-INPUT > 003000 BLOCK CONTAINS 0 RECORDS > 003100 LABEL RECORDS ARE STANDARD > 003200 RECORDING MODE IS S > 003300 RECORD IS VARYING IN SIZE FROM 1 TO 32763 CHARACTERS > 003400 DEPENDING ON WS-INPUT-RECORD-SIZE > 003500 . > 003600 01 SMF-INPUT-RECORD. > 003700 05 SMF-INPUT-DATA PIC X > 003800OCCURS 1 TO 32763 TIMES > 003900DEPENDING ON WS-INPUT-RECORD-SIZE > 004000. > 004100*01 LARGEST-INPUT-RECORD. > 004200*05 FILLER PIC X(32763). > 004300 01 SMF-COMMON-RECORD. > 004400 05 FILLERPIC X. > 004500 05 SMF-RECORD-TYPE PIC X. > 004600 88 SMF-RECORD-TYPE-30VALUE IS X'1E'. > 004700 05 SMF-TIME PIC S9(9) BINARY. > 004800 05 SMF-DATE PIC S9(7) PACKED-DECIMAL. > 004900 05 SMF-SYSTEM-ID PIC X(4). > 005000 05 SMF-SUBSYSTEM-ID PIC X(4). > 005100 05 SMF-RECORD-SUBTYPEPIC S9(4) BINARY. > 005200 88 SMF-RECORD-SUBTYPE-2 VALUE IS 2. > 005300 88 SMF-RECORD-SUBTYPE-3 VALUE IS 3. > 005400* > 005500 FD SMF-OUTPUT > 005600 BLOCK CONTAINS 0 RECORDS > 005700 LABEL RECORDS ARE STANDARD > 005800 RECORDING MODE IS S > 005900 RECORD IS VARYING IN SIZE FROM 1 TO 32763 CHARACTERS > 006000 DEPENDING ON WS-INPUT-RECORD-SIZE > 006100 . > 006200 01 SMF-OUTPUT-RECORD. > 006300 05 SMF-OUTPUT-BYTES PIC X > 006400 OCCURS 1 TO 32763 TIMES > 006500 DEPENDING ON WS-INPUT-RECORD-SIZE > 006600 . > 006700* > 006800 WORKING-STORAGE SECTION. > 006900 77 SMFIN-FILE-STATUS PIC XX. > 007000 77 SMFOUT-FILE-STATUSPIC XX. > 007100 77 EOF-ON-SMFIN-VALUEPIC X VALUE 'N'. > 007200 88 EOF-ON-SMFIN VALUE IS 'Y'. > 007300 77 TOTAL-RECORDS-READPIC S9(15) PACKED-DECIMAL > 007400 VALUE IS ZERO. > 007500 77 WS-INPUT-RECORD-SIZE PIC 9(9) BINARY. > 007600 77 TOTAL-RECORDS-WRITTEN PIC S9(15) PACKED-DECIMAL > 007700 VALUE IS ZERO. > 007800* > 007900*LINKAGE SECTION. > 008000* > 008100 PROCEDURE DIVISION. > 008200 START-UP. > 008300 OPEN INPUT SMF-INPUT > 008400 OUTPUT SMF-OUTPUT. > 008500 IF SMFIN-FILE-STATUS IS NOT EQUAL TO ZEROS THEN > 008600DISPLAY 'ERROR. INPUT FILE FAILED TO OPEN. STATUS=' > 008700SMFIN-FILE-STATUS UPON SYSOUT > 008800MOVE +8 TO RETURN-CODE > 008900END-IF. > 009000 IF SMFOUT-FILE-STATUS IS NOT EQUAL TO ZEROS THEN > 009100DISPLAY 'ERROR. OUTPUT FILE FAILED TO OPEN. STATUS=' > 009200SMFOUT-FILE-STATUS UPON SYSOUT > 009300MOVE +8 TO RETURN-CODE > 009400END-IF. > 009500 IF RETURN-CODE IS NOT EQUAL TO ZERO THEN > 009600GOBACK > 009700END-IF. > 009800 READ SMF-INPUT AT END SET EOF-ON-SMFIN TO TRUE. > 009900 PERFORM ALTER-INPUT > 01 UNTIL EOF-ON-SMFIN > 010100 ORSMFIN-FILE-STATUS IS NOT EQUAL TO ZERO > 010200 ORSMFOUT-FILE-STATUS IS NOT EQUAL TO ZERO. > 010300 CLOSE SMF-INPUT > 010400 SMF-OUTPUT. > 010500 DISPLAY 'TOTAL RECORDS READ =' TOTAL-RECORDS-READ > 010600 UPON SYSOUT. > 010700 DISPLAY 'TOTAL RECORDS WRITTEN =' TOT
Re: Copy SMF Records With Syncsort
John, Thanks. That worked very well, except I took the STOPAFT=50 off of the SORT statement. Thanks for taking time out of a busy day to help. But, then thats one of the reasons if anyone asks about Syncsort, I will recommend your product. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 "Reda wrote: > Eric, > > Sorry, it has been a real busy day. Try these control cards: > > ALTSEQ CODE=(C3C5,C4C6) > SORT FIELDS=COPY,STOPAFT=50 > OUTREC FIELDS=(1,4,5,10,15,1,TRAN=ALTSEQ,16) > > I believe they will produce the desired output with the release you are > running but please check the columns to make sure. Send me a private email > with the status. I will be able to get that even though I will be out of the > office. > > John Reda > Syncsort, Inc. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
the following COBOL program will do what you want. Well, in my minor test it did. Compiled with Enterprise COBOL 3.4. 000100 PROCESS MAP,TRUNC(OPT),OPTIMIZE,VBREF,XREF,APOST,LIST 000200 ID DIVISION. 000300 PROGRAM-ID. SMFALTER. 000400 AUTHOR. JOHN MCKOWN. 000500 INSTALLATION. HEALTHMARKETS, INC. 000600 DATE-WRITTEN. FEBRUARY 04, 2009. 000700 DATE-COMPILED. 000800 SECURITY. NONE. 000900* 001000 ENVIRONMENT DIVISION. 001100 CONFIGURATION SECTION. 001200 SOURCE-COMPUTER. IBM-370. 001300 OBJECT-COMPUTER. IBM-370. 001400 INPUT-OUTPUT SECTION. 001500 FILE-CONTROL. 001600 SELECT SMF-INPUT ASSIGN TO UT-S-SMFIN 001700ORGANIZATION IS SEQUENTIAL 001800ACCESS MODE IS SEQUENTIAL 001900FILE STATUS IS SMFIN-FILE-STATUS. 002000 SELECT SMF-OUTPUT ASSIGN TO UT-S-SMFOUT 002100ORGANIZATION IS SEQUENTIAL 002200ACCESS MODE IS SEQUENTIAL 002300FILE STATUS IS SMFOUT-FILE-STATUS. 002400 I-O-CONTROL. 002500*APPLY WRITE-ONLY ON SMF-OUTPUT. 002600* 002700 DATA DIVISION. 002800 FILE SECTION. 002900 FD SMF-INPUT 003000 BLOCK CONTAINS 0 RECORDS 003100 LABEL RECORDS ARE STANDARD 003200 RECORDING MODE IS S 003300 RECORD IS VARYING IN SIZE FROM 1 TO 32763 CHARACTERS 003400 DEPENDING ON WS-INPUT-RECORD-SIZE 003500 . 003600 01 SMF-INPUT-RECORD. 003700 05 SMF-INPUT-DATA PIC X 003800OCCURS 1 TO 32763 TIMES 003900DEPENDING ON WS-INPUT-RECORD-SIZE 004000. 004100*01 LARGEST-INPUT-RECORD. 004200*05 FILLER PIC X(32763). 004300 01 SMF-COMMON-RECORD. 004400 05 FILLERPIC X. 004500 05 SMF-RECORD-TYPE PIC X. 004600 88 SMF-RECORD-TYPE-30VALUE IS X'1E'. 004700 05 SMF-TIME PIC S9(9) BINARY. 004800 05 SMF-DATE PIC S9(7) PACKED-DECIMAL. 004900 05 SMF-SYSTEM-ID PIC X(4). 005000 05 SMF-SUBSYSTEM-ID PIC X(4). 005100 05 SMF-RECORD-SUBTYPEPIC S9(4) BINARY. 005200 88 SMF-RECORD-SUBTYPE-2 VALUE IS 2. 005300 88 SMF-RECORD-SUBTYPE-3 VALUE IS 3. 005400* 005500 FD SMF-OUTPUT 005600 BLOCK CONTAINS 0 RECORDS 005700 LABEL RECORDS ARE STANDARD 005800 RECORDING MODE IS S 005900 RECORD IS VARYING IN SIZE FROM 1 TO 32763 CHARACTERS 006000 DEPENDING ON WS-INPUT-RECORD-SIZE 006100 . 006200 01 SMF-OUTPUT-RECORD. 006300 05 SMF-OUTPUT-BYTES PIC X 006400 OCCURS 1 TO 32763 TIMES 006500 DEPENDING ON WS-INPUT-RECORD-SIZE 006600 . 006700* 006800 WORKING-STORAGE SECTION. 006900 77 SMFIN-FILE-STATUS PIC XX. 007000 77 SMFOUT-FILE-STATUSPIC XX. 007100 77 EOF-ON-SMFIN-VALUEPIC X VALUE 'N'. 007200 88 EOF-ON-SMFIN VALUE IS 'Y'. 007300 77 TOTAL-RECORDS-READPIC S9(15) PACKED-DECIMAL 007400 VALUE IS ZERO. 007500 77 WS-INPUT-RECORD-SIZE PIC 9(9) BINARY. 007600 77 TOTAL-RECORDS-WRITTEN PIC S9(15) PACKED-DECIMAL 007700 VALUE IS ZERO. 007800* 007900*LINKAGE SECTION. 008000* 008100 PROCEDURE DIVISION. 008200 START-UP. 008300 OPEN INPUT SMF-INPUT 008400 OUTPUT SMF-OUTPUT. 008500 IF SMFIN-FILE-STATUS IS NOT EQUAL TO ZEROS THEN 008600DISPLAY 'ERROR. INPUT FILE FAILED TO OPEN. STATUS=' 008700SMFIN-FILE-STATUS UPON SYSOUT 008800MOVE +8 TO RETURN-CODE 008900END-IF. 009000 IF SMFOUT-FILE-STATUS IS NOT EQUAL TO ZEROS THEN 009100DISPLAY 'ERROR. OUTPUT FILE FAILED TO OPEN. STATUS=' 009200SMFOUT-FILE-STATUS UPON SYSOUT 009300MOVE +8 TO RETURN-CODE 009400END-IF. 009500 IF RETURN-CODE IS NOT EQUAL TO ZERO THEN 009600GOBACK 009700END-IF. 009800 READ SMF-INPUT AT END SET EOF-ON-SMFIN TO TRUE. 009900 PERFORM ALTER-INPUT 01 UNTIL EOF-ON-SMFIN 010100 ORSMFIN-FILE-STATUS IS NOT EQUAL TO ZERO 010200 ORSMFOUT-FILE-STATUS IS NOT EQUAL TO ZERO. 010300 CLOSE SMF-INPUT 010400 SMF-OUTPUT. 010500 DISPLAY 'TOTAL RECORDS READ =' TOTAL-RECORDS-READ 010600 UPON SYSOUT. 010700 DISPLAY 'TOTAL RECORDS WRITTEN =' TOTAL-RECORDS-WRITTEN 010800 UPON SYSOUT. 010900 IF SMFIN-FILE-STATUS IS NOT EQUAL TO ZERO THEN 011000DISPLAY 'READ ERROR. STATUS=' SMFIN-FILE-STATUS 011100UPON SYSOUT 011200MOVE +8 TO RETURN-CODE 011300 END-IF. 011400 IF SMFOUT-FILE-STATUS IS NOT EQUAL TO ZERO THEN 011500DISPLAY 'WRITE ERROR. STATUS=' SMFOUT-FILE-STATUS 011600UPON SYSOUT 011700MOVE +8 TO RETURN-CODE 011800 END-IF. 011900 GOBACK. 012000* 012100 ALTER-INPUT. 012200 ADD +1 TO TOTAL-RECORDS-READ. 012300 EVALUATE SMF-SYSTEM-ID 012400 WHEN 'CSYS' MOVE 'ESYS' TO SMF-SYSTEM-ID 012500 WHEN 'DSYS' MOVE
Re: Copy SMF Records With Syncsort
Unfortuneately, we don't have FileAid. I've used it in the past, and its a great product. I don't think I would even attempt to do this in Rexx. Maybe assembler! I used to do a lot of assembler 25 years ago. But, as my boss says, if it takes longer than 10 minutes, don't do it. Eric Bielefeld On Thu, 5 Feb 2009 12:59:07 -0600, John McKown wrote: >FileAid could do this sort of fix as well, if you have it. If you're really >masochistic, you could even use REXX! > >-- >John -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Eric, Sorry, it has been a real busy day. Try these control cards: ALTSEQ CODE=(C3C5,C4C6) SORT FIELDS=COPY,STOPAFT=50 OUTREC FIELDS=(1,4,5,10,15,1,TRAN=ALTSEQ,16) I believe they will produce the desired output with the release you are running but please check the columns to make sure. Send me a private email with the status. I will be able to get that even though I will be out of the office. John Reda Syncsort, Inc. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Eric Bielefeld Sent: Thursday, February 05, 2009 1:01 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Copy SMF Records With Syncsort I just thought I'd update this thread. I haven't found an answer yet. John Reda from Syncsort emailed me with a solution, except that our version of Syncsort is so old that the OVERLAY function is not included. He did say that there is a way to do what I need without using OVERLAY. I may get a solution from Syncsort today, although John was quite busy today. I am basically trying to correct the data on our test LPars for the SCRT report. I need to change the SMFID from the production Lpar names to the test lpar names. I manually looked at all of the records, and each record had what I was comparing for - either CSYS, DSYS, or FSYS. I did IPL both Lpars in the test sysplex this morning, so now I have the correct information being generated in my SMF records. If I don't get this fixed by tomorrow, we will just send in our report with an explanation. Thanks for all your help. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 Steve Comstock wrote: > Reda, John wrote: > > Steve/Eric, > > > > CHANGE has been around for a while but OVERLAY was introduced in release > > 1.3. Steve's control cards were real close, I think these will work for > > you: > > I kinda' thought you would have that; now it's just > a matter if Eric is current in his release of SyncSort > (despite his documentation which is "about 6 years old"). > > You guys make your docs available for free on the Internet, > like IBM, right? Maybe you can give Eric a pointer. > > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
FileAid could do this sort of fix as well, if you have it. If you're really masochistic, you could even use REXX! -- John -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
I just thought I'd update this thread. I haven't found an answer yet. John Reda from Syncsort emailed me with a solution, except that our version of Syncsort is so old that the OVERLAY function is not included. He did say that there is a way to do what I need without using OVERLAY. I may get a solution from Syncsort today, although John was quite busy today. I am basically trying to correct the data on our test LPars for the SCRT report. I need to change the SMFID from the production Lpar names to the test lpar names. I manually looked at all of the records, and each record had what I was comparing for - either CSYS, DSYS, or FSYS. I did IPL both Lpars in the test sysplex this morning, so now I have the correct information being generated in my SMF records. If I don't get this fixed by tomorrow, we will just send in our report with an explanation. Thanks for all your help. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 Steve Comstock wrote: > Reda, John wrote: > > Steve/Eric, > > > > CHANGE has been around for a while but OVERLAY was introduced in release > > 1.3. Steve's control cards were real close, I think these will work for > > you: > > I kinda' thought you would have that; now it's just > a matter if Eric is current in his release of SyncSort > (despite his documentation which is "about 6 years old"). > > You guys make your docs available for free on the Internet, > like IBM, right? Maybe you can give Eric a pointer. > > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Reda, John wrote: Steve/Eric, CHANGE has been around for a while but OVERLAY was introduced in release 1.3. Steve's control cards were real close, I think these will work for you: I kinda' thought you would have that; now it's just a matter if Eric is current in his release of SyncSort (despite his documentation which is "about 6 years old"). You guys make your docs available for free on the Internet, like IBM, right? Maybe you can give Eric a pointer. SORT FIELDS=COPY OUTREC OVERLAY=(15:15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS'),NOMATCH=(15,4)) The thing that was required was the column designation. Without it, the output of the CHANGE would be placed in the column 1. By putting in the "15:" you are directing the output to be put in column 15. This will leave the RDW alone. Whoa, you're right. I was too quick to just copy over Eric's job and change BUILD to OVERLAY. Good catch. You many also want to consider using the NOMATCH subparameter. This tells OUTREC what to do if column 15 is not either CSYS, DSYS or FSYS. If something other than these 3 values is found, the sort would end with RC=16. NOMATCH will let the execution continue leaving the original value in the field. SMF data is notoriously dirty so it would not surprise me for you to have an unexpected value in at least one of your fields. On the other hand, having NOMATCH would hide the fact there was something in error. Guess it comes down to his real needs here. *** NOTE *** Eric's original cards pointed to column 15 while Steve's used column 19. Please make sure you are using the correct column. I used 15 in my example to match Eric's. I wasn't sure, in the original post, if Eric had allowed for the RDW. In a later post he said he had, so 15 is the value to use. If this doesn't work, let me know and I will work with you. John Reda Syncsort, Inc. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Steve Comstock Sent: Wednesday, February 04, 2009 6:26 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Copy SMF Records With Syncsort Eric Bielefeld wrote: I'm trying to fix some SMF records from our TEST Lpars that have the wrong SMFID in them. I'm pretty sure I can fix them with Syncsort using the OUTREC Change command, but I'm not sure how to do that. I haven't worked with Syncsort that much, and I've spent the last hour or so trying to figure out what I need. I figure there's someone out there that can do this off the top of their head quickly. This is what I have so far: OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY I'm sure there is a few things missing. I get a message: WER108I SORTIN : RECFM=VBS ; LRECL= 32756; BLKSIZE= 27990 WER235A OUTREC RDW NOT INCLUDED I'd appreciate any help. Thanks. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 Eric, I've been spending a lot of time developing a DFSORT/ICETOOL class, which I hope to announce next week. Although DFSORT is not SyncSort, I imagine they are the same for this case. OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY This will copy from your SORTIN data set; the output data set will just be the four bytes ESYS, or FSYS. You want to OVERLAY the field; since the input records are variable, you must also allow for a 4 byte RDW in your positioning. Try this: SORT FIELDS=COPY OUTREC OVERLAY=(19,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-393-8716 http://www.trainersfriend.com z/OS Application development made easier * Our classes include + How things work + Programming examples with realistic applications + Starter / skeleton code + Complete working programs + Useful utilities and subroutines + Tips and techniques ==> Check out the Trainer's Friend Store to purchase z/OS <== ==> application developer toolkits. Sample code in four<== ==> programming languages, JCL to Assemble or compile, <== ==> bind and test. <== ==> http://www.trainersfriend.com/TTFStore/index.html<== -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Steve/Eric, CHANGE has been around for a while but OVERLAY was introduced in release 1.3. Steve's control cards were real close, I think these will work for you: SORT FIELDS=COPY OUTREC OVERLAY=(15:15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS'),NOMATCH=(15,4)) The thing that was required was the column designation. Without it, the output of the CHANGE would be placed in the column 1. By putting in the "15:" you are directing the output to be put in column 15. This will leave the RDW alone. You many also want to consider using the NOMATCH subparameter. This tells OUTREC what to do if column 15 is not either CSYS, DSYS or FSYS. If something other than these 3 values is found, the sort would end with RC=16. NOMATCH will let the execution continue leaving the original value in the field. SMF data is notoriously dirty so it would not surprise me for you to have an unexpected value in at least one of your fields. *** NOTE *** Eric's original cards pointed to column 15 while Steve's used column 19. Please make sure you are using the correct column. I used 15 in my example to match Eric's. If this doesn't work, let me know and I will work with you. John Reda Syncsort, Inc. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Steve Comstock Sent: Wednesday, February 04, 2009 6:26 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Copy SMF Records With Syncsort Eric Bielefeld wrote: > I'm trying to fix some SMF records from our TEST Lpars that have the wrong > SMFID in them. I'm pretty sure I can fix them with Syncsort using the OUTREC > Change command, but I'm not sure how to do that. I haven't worked with > Syncsort that much, and I've spent the last hour or so trying to figure out > what I need. I figure there's someone out there that can do this off the top > of their head quickly. > > This is what I have so far: > > OUTREC FIELDS=(15,4, > CHANGE=(4,C'CSYS',C'ESYS', > C'DSYS',C'FSYS', > C'FSYS',C'FSYS')) > SORT FIELDS=COPY > > I'm sure there is a few things missing. I get a message: > > WER108I SORTIN : RECFM=VBS ; LRECL= 32756; BLKSIZE= 27990 > WER235A OUTREC RDW NOT INCLUDED > > I'd appreciate any help. Thanks. > > Eric > > -- > Eric Bielefeld > Systems Programmer > Washington University > St Louis, Missouri > 314-935-3418 Eric, I've been spending a lot of time developing a DFSORT/ICETOOL class, which I hope to announce next week. Although DFSORT is not SyncSort, I imagine they are the same for this case. OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY This will copy from your SORTIN data set; the output data set will just be the four bytes ESYS, or FSYS. You want to OVERLAY the field; since the input records are variable, you must also allow for a 4 byte RDW in your positioning. Try this: SORT FIELDS=COPY OUTREC OVERLAY=(19,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) Kind regards, -Steve Comstock The Trainer's Friend, Inc. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
On Wed, 4 Feb 2009 23:42:38 +, Eric Bielefeld wrote: >Steve, > >Apparently OVERLAY is not a Syncsort keyword. I did a search of the whole Syncsort reference manual, and it wasn't listed, although my book is about 6 years old. I did allow for the RDW in my displacement, I think. > >Eric > Eric, I just looked up OVERLAY in my SyncSort for z/OS 1.3 manuals: "The OVERLAY parameter has been added. OVERLAY enables reformatting of selected portions of records." Further: "OVERLAY Parameter (Optional) The OVERLAY parameter enables you to change particular columns and add fields to the end of a record without rebuilding the entire record. When using the OVERLAY parameter you only need to specify the columns you want to change. The rest of the input record remains unchanged. See OVERLAY Parameter (Optional) on page 2.162 for a complete description." Not sure what release of SyncSort you're using, but you might be able to get the same results with a more complicated OUTREC statement. The variable length nature of the records will be problematic. I'm not that talented with SyncSort or I'd try to work something up. Good Luck, Dave K. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
I don't use SYSCSORT but I think you do have the displacement correct. My SMF manual shows the RDW at offset 0 and the system ID at 14. Since sort starts at 1, 15 should be correct. DFSORT and SYNCSORT manage to stay in step with each other regarding features. OVERLAY is not that new in DFSORT. Chances are that SYNCSORT uses a different name for it. If you really don't have an overlay capability, one possibility would be to break your output record into three sections: 1-14, 15-18, and 19-end. Just copy the first and third sections from the input and use whatever SYSNCSORT calls the change facility for the middle. -Original Message- From: Eric Bielefeld Sent: Wednesday, February 04, 2009 3:43 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Copy SMF Records With Syncsort Steve, Apparently OVERLAY is not a Syncsort keyword. I did a search of the whole Syncsort reference manual, and it wasn't listed, although my book is about 6 years old. I did allow for the RDW in my displacement, I think. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Steve, Apparently OVERLAY is not a Syncsort keyword. I did a search of the whole Syncsort reference manual, and it wasn't listed, although my book is about 6 years old. I did allow for the RDW in my displacement, I think. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 Steve Comstock wrote: > > Eric, > > I've been spending a lot of time developing a DFSORT/ICETOOL > class, which I hope to announce next week. > > > Although DFSORT is not SyncSort, I imagine they are the same for this case. > > > OUTREC FIELDS=(15,4, >CHANGE=(4,C'CSYS',C'ESYS', > C'DSYS',C'FSYS', > C'FSYS',C'FSYS')) > SORT FIELDS=COPY > > This will copy from your SORTIN data set; the output > data set will just be the four bytes ESYS, or FSYS. > > You want to OVERLAY the field; since the input records > are variable, you must also allow for a 4 byte RDW in > your positioning. > > Try this: > > SORT FIELDS=COPY > OUTREC OVERLAY=(19,4, > CHANGE=(4,C'CSYS',C'ESYS', > C'DSYS',C'FSYS', > C'FSYS',C'FSYS')) > > > Kind regards, > > -Steve Comstock > The Trainer's Friend, Inc. > > 303-393-8716 > http://www.trainersfriend.com > >z/OS Application development made easier > * Our classes include > + How things work > + Programming examples with realistic applications > + Starter / skeleton code > + Complete working programs > + Useful utilities and subroutines > + Tips and techniques > > ==> Check out the Trainer's Friend Store to purchase z/OS <== > ==> application developer toolkits. Sample code in four<== > ==> programming languages, JCL to Assemble or compile, <== > ==> bind and test. <== > ==> http://www.trainersfriend.com/TTFStore/index.html<== > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO > Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Copy SMF Records With Syncsort
Eric Bielefeld wrote: I'm trying to fix some SMF records from our TEST Lpars that have the wrong SMFID in them. I'm pretty sure I can fix them with Syncsort using the OUTREC Change command, but I'm not sure how to do that. I haven't worked with Syncsort that much, and I've spent the last hour or so trying to figure out what I need. I figure there's someone out there that can do this off the top of their head quickly. This is what I have so far: OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY I'm sure there is a few things missing. I get a message: WER108I SORTIN : RECFM=VBS ; LRECL= 32756; BLKSIZE= 27990 WER235A OUTREC RDW NOT INCLUDED I'd appreciate any help. Thanks. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 Eric, I've been spending a lot of time developing a DFSORT/ICETOOL class, which I hope to announce next week. Although DFSORT is not SyncSort, I imagine they are the same for this case. OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY This will copy from your SORTIN data set; the output data set will just be the four bytes ESYS, or FSYS. You want to OVERLAY the field; since the input records are variable, you must also allow for a 4 byte RDW in your positioning. Try this: SORT FIELDS=COPY OUTREC OVERLAY=(19,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-393-8716 http://www.trainersfriend.com z/OS Application development made easier * Our classes include + How things work + Programming examples with realistic applications + Starter / skeleton code + Complete working programs + Useful utilities and subroutines + Tips and techniques ==> Check out the Trainer's Friend Store to purchase z/OS <== ==> application developer toolkits. Sample code in four<== ==> programming languages, JCL to Assemble or compile, <== ==> bind and test. <== ==> http://www.trainersfriend.com/TTFStore/index.html<== -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Copy SMF Records With Syncsort
I'm trying to fix some SMF records from our TEST Lpars that have the wrong SMFID in them. I'm pretty sure I can fix them with Syncsort using the OUTREC Change command, but I'm not sure how to do that. I haven't worked with Syncsort that much, and I've spent the last hour or so trying to figure out what I need. I figure there's someone out there that can do this off the top of their head quickly. This is what I have so far: OUTREC FIELDS=(15,4, CHANGE=(4,C'CSYS',C'ESYS', C'DSYS',C'FSYS', C'FSYS',C'FSYS')) SORT FIELDS=COPY I'm sure there is a few things missing. I get a message: WER108I SORTIN : RECFM=VBS ; LRECL= 32756; BLKSIZE= 27990 WER235A OUTREC RDW NOT INCLUDED I'd appreciate any help. Thanks. Eric -- Eric Bielefeld Systems Programmer Washington University St Louis, Missouri 314-935-3418 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html