Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Compare 2 PDS member & store to same name mem of new PDS

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Tue Jul 26, 2011 11:34 pm    Post subject: Compare 2 PDS member & store to same name mem of new PDS
Reply with quote

hi, Please help on this. As far as searched, when 2 PDS members are compared, the output results are stored into one PS file. But I want it to store into new PDS with same member whichever compared. Example is given below.

MY.COMPARE.PDS1
MEM1
MEM2
MEM3
MEM4

MY.COMPARE.PDS2
MEM1
MEM2
MEM3
MEM5

The mismatch results to be stored into new PDS and with same name of members whichever compared and there is a mismatch.

MY.COMPARE.PDS.NEW (assuming MEM3 don't have any mismatch)
MEM1
MEM2

Note: Compare input should be PDS1 & PDS2 names only. Not with specific member names.
Back to top
View user's profile Send private message

Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7223

PostPosted: Tue Jul 26, 2011 11:41 pm    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

I think you'll have to explain some more.

What software are you using for your compare?

Are you comparing member names only, or contents of members as well?

I do not understand your output data. Why 1 & 2 but not 3?
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Tue Jul 26, 2011 11:58 pm    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

Bill Woodger wrote:
I do not understand your output data. Why 1 & 2 but not 3?


I know, it's about as clear as mud.

I presume that, if the contents of two identically named members are compared to each other, and MEM1 is not the same, then the compare results get copied to that same member name in the new PDS. The same goes for MEM2. Apparently, the content of MEM3 is the same in both PDS's, so its compare results don't get copied. And since MEM5 doesn't exist in both PDS's, it doesn't get compared.
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Tue Jul 26, 2011 11:58 pm    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

Bill Woodger wrote:
I think you'll have to explain some more.

What software are you using for your compare?

Are you comparing member names only, or contents of members as well?

I do not understand your output data. Why 1 & 2 but not 3?


a) I tried to do in batch mode of 3.13 program. ie., thru executing the program ISRSUPC.

b) Comparison is for member contents.

c) The 3.13 utility will put the results into output only if there is a mismatch in comparing members. In given example, I just considered MEM3 don't have mismatch. If there is a mismatch in contents, then corresponding results to be stored in the name mismatched member into new PDS.

Kindly let me know if need more detail to explain.

Also let me know thru any other utility, this expected result can be achieved.
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Wed Jul 27, 2011 12:02 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

That seems like the right process. What's the problem?
Back to top
View user's profile Send private message
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10201
Location: italy

PostPosted: Wed Jul 27, 2011 12:08 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

that most probably the TS wants to split the isrsupc result dataset to make the overall analysis <simpler>
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Wed Jul 27, 2011 12:13 am    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

superk wrote:
That seems like the right process. What's the problem?


In NEWDD, I have given the one of the input PDS
(Ex: MY.COMPARE.PDS1).
In OLDDD, I have given the another input PDS
(Ex: MY.COMPARE.PDS2).

a) In OUTDD, if I give the new PDS name, it is now allowing. It is showing the JCL error that member name is missing. That is, it is expecting the output results to be stored in one PDS member which is like flat file.

b) If I give PS file in OUTDD, all comparison results are stored into one file. The flat file will have the contents as given below.

NEW: MY.COMPARE.PDS1(MEM1) OLD: MY.COMPARE.PDS2(MEM1)
-----
-----
MISMATCHED CONTENTS OF MEM1
-----
-----
NEW: MY.COMPARE.PDS1(MEM2) OLD: MY.COMPARE.PDS2(MEM2)
-----
-----
MISMATCHED CONTENTS OF MEM2
-----
-----

Where I need to store these mismatched results into corresponding new PDS like:

MY.COMPARE.PDS.NEW(MEM1) - should have the mismatched contents of MEM1
MY.COMPARE.PDS.NEW(MEM2) - should have the mismatched contents of MEM2
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Wed Jul 27, 2011 12:16 am    Post subject:
Reply with quote

I need the solution thru JCL or thru some sort utility. But this topic is moved to "SMS & VSAM" from "JCL". Is this right forum to discuss about this?
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Wed Jul 27, 2011 12:31 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

Yes, it is. This topic is dealing with datasets, in particular with the nuances of partitioned datasets, which almost always require specific programming functions to deal with them properly. If you just state that you need a batch-based solution here, that's fine.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


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

PostPosted: Wed Jul 27, 2011 12:32 am    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

Nanda kumaar wrote:
Bill Woodger wrote:
I think you'll have to explain some more.

What software are you using for your compare?

Are you comparing member names only, or contents of members as well?

I do not understand your output data. Why 1 & 2 but not 3?


a) I tried to do in batch mode of 3.13 program. ie., thru executing the program ISRSUPC.

b) Comparison is for member contents.

c) The 3.13 utility will put the results into output only if there is a mismatch in comparing members. In given example, I just considered MEM3 don't have mismatch. If there is a mismatch in contents, then corresponding results to be stored in the name mismatched member into new PDS.

Instead of using SuperCE (ISPF option 3.12), use SuperC (ISPF option 3.12) and write a little bit of Rexx to eliminate non-duplicated member name and to fabricate the JCL.
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Wed Jul 27, 2011 12:35 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

What is the target RECFM and LRECL for the new PDS? I'm wondering if you can possibly use IEBUPDTE for what you want to do?
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Wed Jul 27, 2011 12:43 am    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

superk wrote:
What is the target RECFM and LRECL for the new PDS? I'm wondering if you can possibly use IEBUPDTE for what you want to do?


Target RECFM should be PO (ie., PDS to store with members which should have the mismatched contents of that member). LRECL of input PDS & output PDS are same.
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Wed Jul 27, 2011 12:46 am    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

Akatsukami wrote:

Instead of using SuperCE (ISPF option 3.12), use SuperC (ISPF option 3.12) and write a little bit of Rexx to eliminate non-duplicated member name and to fabricate the JCL.


I am not aware of REXX. so please help on using JCL utilities. I am sure thru some trick only we can achieve the expected output. But I am not able to find that solution.
Back to top
View user's profile Send private message
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10201
Location: italy

PostPosted: Wed Jul 27, 2011 12:50 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

the layout of the isrsupc output is not so easy to parse,
and doing it trhu <sort> will require at least two passes over it

if I had to do it ( but only with a gun pointed at my head ) I would do it with rexx icon_biggrin.gif

if You google for superc rexx You will find some tools to help You in <smart> browsing the superc output
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Wed Jul 27, 2011 12:53 am    Post subject: Reply to: Compare 2 PDS member & store to same name mem
Reply with quote

Convert your SUPERC utility output:

Code:
NEW: MY.COMPARE.PDS1(MEM1) OLD: MY.COMPARE.PDS2(MEM1)
-----
-----
MISMATCHED CONTENTS OF MEM1
-----
-----
NEW: MY.COMPARE.PDS1(MEM2) OLD: MY.COMPARE.PDS2(MEM2)
-----
-----
MISMATCHED CONTENTS OF MEM2
-----
-----

into a proper input datastream for IEBUPDTE:

Code:
./  ADD  MEMBER=MEM1
NEW: MY.COMPARE.PDS1(MEM1) OLD: MY.COMPARE.PDS2(MEM1)
-----
-----
MISMATCHED CONTENTS OF MEM1
-----
-----
./  ADD  MEMBER=MEM2
NEW: MY.COMPARE.PDS1(MEM2) OLD: MY.COMPARE.PDS2(MEM2)
-----
-----
MISMATCHED CONTENTS OF MEM2
-----
-----

and run IEBUPDTE to create the new PDS.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Wed Jul 27, 2011 1:01 am    Post subject:
Reply with quote

superc will only generate one list per step. that step can contain a complete pds to pds compare, or a member compare.

the only way you are going to get separate files (pds members in your case)
is to run separate SUPERC Steps for each member match.

as Akatsukami indicated,
generate some jcl, then massage it with rexx.

i am lazy and and after the panel displays the generated jcl
i invoke an edit macro to massage/create new jcl either there,
(normally in another dataset and then submit the new dataset,
and throw the panel generated jcl away.

actually, I don't even bother going to 3... for pds to pds matches.
i have a rexx script that I invoke that:
  • accesses some dummy (skelton) jcl
  • accesses a member list of both pds's (actually I build them on the fly with lmm routines)

and generte a step for each matching members,
and populate a separate list 'member' with a list of unmatched members.

gotta be careful of the 255 step limit - more than 255 matching members, means more than one job.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


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

PostPosted: Wed Jul 27, 2011 1:15 am    Post subject: Re: Reply to: Compare 2 PDS member & store to same name
Reply with quote

Nanda kumaar wrote:
Akatsukami wrote:

Instead of using SuperCE (ISPF option 3.12), use SuperC (ISPF option 3.12) and write a little bit of Rexx to eliminate non-duplicated member name and to fabricate the JCL.


I am not aware of REXX. so please help on using JCL utilities. I am sure thru some trick only we can achieve the expected output. But I am not able to find that solution.

I think that the consensus of the senior members is pretty much "use Rexx". Even superk's solution, if I understand what he is driving at, requires that the output have IEBUPDTE commands added to it by some means. Just possibly this could be done with *sort; as I am not myself a *sort maven, however, I will leave to those more knowledgeable than I the question of if and how it can be done.
Back to top
View user's profile Send private message
dick scherrer

Site Director


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

PostPosted: Wed Jul 27, 2011 1:28 am    Post subject:
Reply with quote

Hello,

Quote:
I am sure thru some trick only we can achieve the expected output. But I am not able to find that solution.
Suggest for you to get what you want there will be some actual "work" involved - not simply "some trick". . .

I realize work is a 4-letter word but sometimes, we just must. . .
Back to top
View user's profile Send private message
Nanda kumaar

New User


Joined: 09 Jul 2011
Posts: 8
Location: India

PostPosted: Wed Aug 17, 2011 12:06 am    Post subject:
Reply with quote

dick scherrer wrote:
Hello,

Suggest for you to get what you want there will be some actual "work" involved - not simply "some trick". . .

I realize work is a 4-letter word but sometimes, we just must. . .


Hi, with the word 'trick' i wanted to refer the some utility will yield my expected result. Dont mistake me. Yes, actual work also need to be done.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 1712
Location: UK

PostPosted: Wed Aug 17, 2011 1:31 am    Post subject:
Reply with quote

Quote:
a) In OUTDD, if I give the new PDS name, it is now allowing. It is showing the JCL error that member name is missing. That is, it is expecting the output results to be stored in one PDS member which is like flat file.

Suggest you supply the member name - you will have to have seperate executions for each compare. Otherwise Rexx is the way to go.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts What is the command to check MODE of ... rohanthengal CLIST & REXX 6 Fri Nov 18, 2016 1:48 pm
No new posts Match or compare two files in VB Format anatol DFSORT/ICETOOL 14 Thu Nov 03, 2016 7:41 pm
No new posts COMPARE command sivatechdrive TSO/ISPF 7 Fri Sep 16, 2016 4:31 pm
No new posts Icetool or Joinkeys example to compar... ishant chauhan DFSORT/ICETOOL 21 Sat Aug 20, 2016 2:40 am
No new posts Compare each GDG Generations to other... Ayyappa1 JCL & VSAM 13 Tue Jun 28, 2016 1:48 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us