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

Building Sort Card dynamically using Syncsort


IBM Mainframe Forums -> SYNCSORT
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rikdeb

New User


Joined: 19 Jan 2009
Posts: 63
Location: hyderabad

PostPosted: Sat Nov 15, 2014 6:08 pm
Reply with quote

Hi all,
I want to build control card like below dynamically depending on the input values
Code:

SORT FIELDS=COPY                                         
OUTFIL FILES=01,                                         
INCLUDE=(102,4,CH,EQ,C'WWWW',OR,102,4,CH,EQ,C'NNNN',OR,102,4,CH,EQ,C'RRRR')
         102,4,CH,EQ,C'SSSS'.....)


The values WWWW, NNNN,RRRR will be coming from input file.
Point here is the number of input records may vary. It can be 1 or 2 or 3...10..
I am using SYNCSORT FOR Z/OS 1.4.2.0R
Thanks in advance!
Back to top
View user's profile Send private message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Sat Nov 15, 2014 10:58 pm
Reply with quote

Look at how to use JOINKEYS, It should give what you are trying to achieve...
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Sun Nov 16, 2014 4:53 am
Reply with quote

Unless the data is already in that order, a JOINKEYS solution would require a SORT of the data, and possibly a second SORT if the original order is required for the output. JOINKEYS would also require more memory, as there are three tasks.

rikdeb,

Why do you need the INCLUDE= on OUTFIL, why not INCLUDE COND=? Is it part of something else?

A simple solution would be to have the 10 values, but for any which are not required, set those to a value which is impossible: X'FFFFFFFFFF' for instance.

To make generation (and human reading) easier, regularize your cards:

Code:
 SORT FIELDS=COPY                                         
 OUTFIL FILES=01,                                         
 INCLUDE=(102,4,CH,EQ,C'WWW0',
       OR,102,4,CH,EQ,C'WWW1',
       OR,102,4,CH,EQ,C'WWW2',
       OR,102,4,CH,EQ,C'WWW3',
       OR,102,4,CH,EQ,C'WWW4',
       OR,102,4,CH,EQ,C'WWW5',
       OR,102,4,CH,EQ,C'WWW6',
       OR,102,4,CH,EQ,C'WWW7',
       OR,102,4,CH,EQ,C'WWW8',
       OR,102,4,CH,EQ,C'WWW9')


So that is what it could look like with 10 values.

The problem for generation is that you need three different types, first, middle and last. The first requires the INCLUDE=(, the middle ones are simple, and the last has a trailing bracket instead of the comma.

If your 10-record file can be like this:

Code:
FWWW0
MWWW1
MWWW2
LWWW3


Then generating the INCLUDE= is easy.

So, how much data, is it in the selection order, can the selection file be made like that, or do you have to work it out. Why INCLUDE= not INCLUDE COND=, and anything else you feel may be helpful.
Back to top
View user's profile Send private message
rikdeb

New User


Joined: 19 Jan 2009
Posts: 63
Location: hyderabad

PostPosted: Sun Nov 23, 2014 3:57 pm
Reply with quote

Hi Bill.. sorry for the late reply.. I could find a way out using sas to build the contol card. Thanks for all ur 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 -> SYNCSORT

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
Search our Forums:

Back to Top