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

Comparison within a file


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sriramd

New User


Joined: 02 Nov 2006
Posts: 10

PostPosted: Thu Nov 02, 2006 3:57 pm
Reply with quote

Hi,

I have a sorted file (say it is sorted on Address). For this key, there can be multiple records in the file.

Say we have a date field in the file and this date can be either same or unique for the multiple records with the same key.

I want to pick a particular record for each key, in which the record with the greater date needs to written to the output file. In case the date is same, i can pick any record.

eg.

Code:

Address Name    Date
C-123    abc    2006-11-02
C-123    xyz    2006-10-01
A-123    abc    2006-10-31
A-123    xyz    2006-10-31


If the above is the input file, i need the Output as:

Code:

Address  Name     Date
C-123    abc      2006-11-02
A-123    abc/xyz  2006-10-31 ( it can be either of abc or xyz)


Is there any way that this can be done using JCL?
Urgent!
Back to top
View user's profile Send private message
ofer71

Global Moderator


Joined: 27 Dec 2005
Posts: 2358
Location: Israel

PostPosted: Thu Nov 02, 2006 5:25 pm
Reply with quote

You can't do any programming from JCL.

I think REXX would be a great solution. Of course, you can invoke REXX as a batch job (written in JCL).

O.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Thu Nov 02, 2006 9:26 pm
Reply with quote

sriramd,

Here's a DFSORT/ICETOOL job that will do what you asked for. Note that the output records will be sorted by the Address as you mentioned in your post but didn't show in your output example.

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN DD *
C-123    abc    2006-11-02
C-123    xyz    2006-10-01
A-123    abc    2006-10-31
A-123    xyz    2006-10-31
/*
//OUT DD SYSOUT=*
//TOOLIN   DD    *
SELECT FROM(IN) TO(OUT) ON(1,5,CH) FIRST USING(CTL1)
/*
//CTL1CNTL DD *
  SORT FIELDS=(1,5,CH,A,17,10,CH,D)
/*


OUT would have:

Code:

A-123    abc    2006-10-31
C-123    abc    2006-11-02
Back to top
View user's profile Send private message
sriramd

New User


Joined: 02 Nov 2006
Posts: 10

PostPosted: Fri Nov 03, 2006 12:00 pm
Reply with quote

Thank You very much for the help...
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 6
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top