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

Remove additional information in SUPERC output... Just lines


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Mahsa Rouzkhatouni

New User


Joined: 27 Feb 2021
Posts: 28
Location: Germany

PostPosted: Sat Feb 27, 2021 3:07 pm
Reply with quote

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
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 707
Location: Whitby, ON, Canada

PostPosted: Sun Feb 28, 2021 4:18 am
Reply with quote

Check out the series of process options named UPD*. There may be a variant that works for you.
Back to top
View user's profile Send private message
sergeyken
Warnings : 2

Senior Member


Joined: 29 Apr 2008
Posts: 1130

PostPosted: Sun Feb 28, 2021 7:06 am
Reply with quote

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
View user's profile Send private message
Mahsa Rouzkhatouni

New User


Joined: 27 Feb 2021
Posts: 28
Location: Germany

PostPosted: Mon Mar 01, 2021 12:21 pm
Reply with quote

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
View user's profile Send private message
Joerg.Findeisen

Active Member


Joined: 15 Aug 2015
Posts: 561
Location: Bamberg, Germany

PostPosted: Mon Mar 01, 2021 1:25 pm
Reply with quote

You can do magic using some SORT products. In case you need some help, please let us know.
Back to top
View user's profile Send private message
Mahsa Rouzkhatouni

New User


Joined: 27 Feb 2021
Posts: 28
Location: Germany

PostPosted: Mon Mar 01, 2021 4:26 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10791
Location: italy

PostPosted: Mon Mar 01, 2021 7:28 pm
Reply with quote

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
View user's profile Send private message
sergeyken
Warnings : 2

Senior Member


Joined: 29 Apr 2008
Posts: 1130

PostPosted: Mon Mar 01, 2021 7:30 pm
Reply with quote

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
View user's profile Send private message
Mahsa Rouzkhatouni

New User


Joined: 27 Feb 2021
Posts: 28
Location: Germany

PostPosted: Mon Mar 01, 2021 7:43 pm
Reply with quote

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
View user's profile Send private message
sergeyken
Warnings : 2

Senior Member


Joined: 29 Apr 2008
Posts: 1130

PostPosted: Mon Mar 01, 2021 10:56 pm
Reply with quote

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
View user's profile Send private message
sergeyken
Warnings : 2

Senior Member


Joined: 29 Apr 2008
Posts: 1130

PostPosted: Tue Mar 02, 2021 1:12 am
Reply with quote

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
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 -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Is the Output of Sort/Join dependent ... DFSORT/ICETOOL 2
No new posts Sort to extract lines DFSORT/ICETOOL 8
This topic is locked: you cannot edit posts or make replies. REXX to find /* Define and write the ... CLIST & REXX 5
No new posts "Output" internal table (OD... COBOL Programming 0
No new posts Remove commas from specific positions... DFSORT/ICETOOL 10
Search our Forums:

Back to Top