View previous topic :: View next topic
|
Author |
Message |
Mahsa Rouzkhatouni
New User
Joined: 27 Feb 2021 Posts: 32 Location: Germany
|
|
|
|
Hi everyone,
I have compared 2 PDS members using SUPERC in JCL and I get the desired results. However, since I need to use the OUTDD records as the input of my next step, I need the SUPERC output to be just the delta records.. not any additional headers or etc.
What I get now is the below output:
1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY-ISPF FOR z/OS 2021/02/27 11.59 PAGE 1
NEW: new dataset OLD: olddataset
ID SOURCE LINES
---------------------------
I - line1
I - line 2
and at the end "LINE COMPARE SUMMARY AND STATISTICS" which is several lines.
Do you have any suggestions for me to get just the different lines. for example like this:
OLDDD :
line 1
line 4
NEWDD:
line 1
line 2
line 4
line 5
I want the output just like this:
OUTDD:
line 2
line 5
Thank you in advance!
Mahsa Rouzkhatouni |
|
Back to top |
|
|
don.leahy
Active Member
Joined: 06 Jul 2010 Posts: 765 Location: Whitby, ON, Canada
|
|
|
|
Check out the series of process options named UPD*. There may be a variant that works for you. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2141 Location: USA
|
|
|
|
SUPERC is not supposed to produce a list of data differences without extra headers, and other “cosmetic” lines in its listing; it has been designed to produce exclusively a printed report.
In case you do not need those “headers”, you should just delete unneeded lines on input to your next step. In my practice, very often I performed those next steps via call of a SORT utility, or a specific REXX code. |
|
Back to top |
|
|
Mahsa Rouzkhatouni
New User
Joined: 27 Feb 2021 Posts: 32 Location: Germany
|
|
|
|
Thanks guys,
I studied the process options and some more documents but eventually, as
Sergeyken told, I have to add a step and remove the lines I don't need with DFSORT, ICETOOL. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1335 Location: Bamberg, Germany
|
|
|
|
You can do magic using some SORT products. In case you need some help, please let us know. |
|
Back to top |
|
|
Mahsa Rouzkhatouni
New User
Joined: 27 Feb 2021 Posts: 32 Location: Germany
|
|
|
|
Hey Joerg,
I managed to get the most of result I wanted. However I am stuck in the simplest thing that I know is very simple but I can't get it.
Since I wanted only the records that have char 'D' in their 2nd position, I used the below job:
//TEST JOB NOTIFY=$SYSUID
//STEP1 EXEC PGM=SORT
//SORTIN DD DSN=my input PDS(member),DISP=SHR
//OUT1 DD DSN=my output PDS(member),DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=OUT1,INCLUDE=(2,1,CH,EQ,C'D'),
HEADER1=(1:C'TABLE',14:C'TCOLUMNS',37:C'DATATYPE',49:C'LENGTH'),
OUTREC=(6,79)
It works fine. I get only the records and characters that I want. However in my output I get 1 extra characters that I don't know why is there.
This is part of my input:
1 ISRSUPC - ......
ID SOURCE
----+----1--
D - ABCD ||
D - EFGH ||
----------------------------------------
1 is in the 1st position but since it doesn't have a 'D', logically it shouldn't be in my output at all.
But I have it in my output !!!
1TABLE
1ABCD ||
EFGH ||
----------------------------------------
I DON'T KNOW WHY !!
the 1st position in all records is blank except for these 2 records and another one in 60 lines later (which has the same record in input as I wrote above).
Can you give me a hint why I get this 1s??
Thanks
Mahsa |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
the character in the first positionn is the ASA control char
"1" means skip to channel 1, which by IBM standards is a skip to next page |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2141 Location: USA
|
|
|
|
PLEASE!!! Use code tags to present your examples.
In order to eliminate unneeded lines by using SORT, the simplest way should be entering either INCLUDE or OMIT statement:
Code: |
OMIT COND=(1,25,SS,EQ,C’ISRSUPC’,
OR,other unnedded lines) |
In order to eliminate the 1st character use
Code: |
INREC BUILD=(2,120) use positions from 2 to 121 (length 120) |
|
|
Back to top |
|
|
Mahsa Rouzkhatouni
New User
Joined: 27 Feb 2021 Posts: 32 Location: Germany
|
|
|
|
sergeyken wrote: |
PLEASE!!! Use code tags to present your examples.
|
Yeah sure, sorry I'll consider it for the next questions.
Quote: |
the character in the first positionn is the ASA control char |
Thanks, it was very new to me. I read that it can be because of RECFM=FBA. right?
I should use OUTFIL's REMOVECC parameter to remove them. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2141 Location: USA
|
|
|
|
Mahsa Rouzkhatouni wrote: |
Quote: |
the character in the first positionn is the ASA control char |
Thanks, it was very new to me. I read that it can be because of RECFM=FBA. right?
I should use OUTFIL's REMOVECC parameter to remove them. |
Absolutely not!!!
Read again my message above. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2141 Location: USA
|
|
|
|
SORT utilities do not recognize the CC in the input data as any specific entity; it is used as normal byte of data in position 1 (for RECFM=FB), or in position 5 (for RECFM=VB).
The parameters REMOVECC refers to those CC bytes which SORT utility can create by itself, when generating a printable report. REMOVECC says: “Do not create extra CC bytes in your newly created output report”, but has nothing to do with those (optional) CC bytes coming on input to SORT.
To eliminate unneeded input column 1 from input records, you may need to use reformatting parameters, like INREC BUILD=(...), as shown in previous message. |
|
Back to top |
|
|
|