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
 

 

Help Required in DFSORT

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
GaganGarg

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Mon Jul 12, 2010 5:20 pm    Post subject: Help Required in DFSORT
Reply with quote

Hi,

I have two file say file1 and file2 whick look like as below:

File1:
Code:

XXXXXAAAAAAAABBXXXXXXXXXCCCYYYYYY    KKKK
XXXXXAAAAAAAABBXXXXXXXXXDDDYYYYYY    KKKK
XXXXXEEEEEEEERRXXXXXXXXXFFFYYYYYY    KKKK


File2:
Code:

     AAAAAAAABB                  STR1
     AAAAAAAABB                  STR2
     EEEEEEEERR                  STR3


I want my output in the following format:

Code:

XXXXXAAAAAAAABBXXXXXXXXXCCCYYYYYYSTR1KKKK
XXXXXAAAAAAAABBXXXXXXXXXCCCYYYYYYSTR2KKKK
XXXXXAAAAAAAABBXXXXXXXXXDDDYYYYYYSTR1KKKK
XXXXXAAAAAAAABBXXXXXXXXXDDDYYYYYYSTR2KKKK
XXXXXEEEEEEEERRXXXXXXXXXFFFYYYYYYSTR3KKKK


I went through IBM doc - Smart DFSORT Tricks and found that this can be a cartesian Join. I tried with that also like below:

Code:

//CJ EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//IN1 DD DSN=... input fileA (FB/322)
//IN2 DD DSN=... input fileB (FB/322)
//SORTOUT DD DSN=... output file (FB/322)
//SYSIN DD *
 JOINKEYS F1=IN1,FIELDS=(6,10,A)
 JOINKEYS F2=IN2,FIELDS=(6,10,A)
 OPTION COPY
/*


but when i am submitting the jcl, it is showing "SORTIN not defined", Maxcc=16. I think Joinkeys keyword is not supported in our client mainframe. Please help me out to get the above o/p. I will be very thankful.

Thanks
Back to top
View user's profile Send private message

smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Mon Jul 12, 2010 5:37 pm    Post subject:
Reply with quote

Try this:

Code:
//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTJNF1 DD DSN=INPUT1,DISP=SHR
//SORTJNF2 DD DSN=INPUT2,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSIN DD *
* Control statements for JOINKEYS application
JOINKEYS FILE=F1,FIELDS=(15,2,A,7,4,A)
JOINKEYS FILE=F2,FIELDS=(21,2,A,23,4,A)
REFORMAT FIELDS=(F2:1,70,F1:1,60)
* Control statements for main task (joined records)
SORT FIELDS=COPY
/*



another option would be to use splice.
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Mon Jul 12, 2010 5:41 pm    Post subject:
Reply with quote

btw i just gave syntax ... u need to apply logic.

and regarding whether JOINKEYS is supported or not you need to check the spool. the error message will tell you that
Back to top
View user's profile Send private message
GaganGarg

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Mon Jul 12, 2010 5:47 pm    Post subject:
Reply with quote

I got the messages as below:

Code:

 COMMAND INPUT ===>                                            SCROLL ===> CSR 
********************************* TOP OF DATA **********************************
ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                 
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 08:12 ON MON JU
            JOINKEYS FILE=F1,FIELDS=(15,2,A,7,4,A)                             
            $                                                                   
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY           
            JOINKEYS FILE=F2,FIELDS=(21,2,A,23,4,A)                             
            $                                                                   
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY           
            REFORMAT FIELDS=(F2:1,70,F1:1,60)                                   
            $                                                                   
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY           
            SORT FIELDS=COPY                                                   
ICE056A 0 SORTIN   NOT DEFINED                                                 
ICE751I 0 C5-K90014 C6-K90014 C7-K45047 C8-K42136 E7-K44564                     
ICE052I 3 END OF DFSORT                                                         
******************************** BOTTOM OF DATA ********************************


I used the JCL as given below:

Code:

//S1 EXEC PGM=SORT                                             
//SYSOUT DD SYSOUT=*                                           
//SORTJNF1 DD DSN=OPERA12.TEST.INPUT.FILE.TEMP1,DISP=SHR       
//SORTJNF2 DD DSN=OPERA12.TEST.INPUT.FILE.TEMP2,DISP=SHR       
//SORTOUT DD SYSOUT=*                                           
//SYSIN DD *                                                   
  JOINKEYS FILE=F1,FIELDS=(15,2,A,7,4,A)                       
  JOINKEYS FILE=F2,FIELDS=(21,2,A,23,4,A)                       
  REFORMAT FIELDS=(F2:1,70,F1:1,60)                             
  SORT FIELDS=COPY                                             
/*                                                             


I have given the blank in SYSIN befor Using JOINKEYS. I think JOINKEYS is not supported as i already mentioned icon_sad.gif
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Mon Jul 12, 2010 6:01 pm    Post subject:
Reply with quote

hey i guess then you can use the splice operator toaccomplish this ... just search for SPLICE in the Sort Mannual
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Mon Jul 12, 2010 6:22 pm    Post subject:
Reply with quote

since in your case the positions match perfectly i think u could skip the copy.

//EXTRACT EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
* Splice records in T1 with matching ON fields
SPLICE FROM(input) WITHALL -
ON(6,10,CH) WITH(33,4) TO(REGNOUT)
/*
//input DD DSN=file1,DISP=SHR
// DD DSN=file2,DISP=SHR
//REGNOUT DD DSN=outfile1,DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
Back to top
View user's profile Send private message
GaganGarg

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Mon Jul 12, 2010 6:31 pm    Post subject:
Reply with quote

By using the above JCL:
O/P is

Code:

 Command ===>                                                  Scroll ===> CSR 
********************************* Top of Data **********************************
XXXXXAAAAAAAABBXXXXXXXXXCCCYYYYYYSTR2KKKK                                       
XXXXXEEEEEEEEBBXXXXXXXXXFFFYYYYYYSTR3KKKK                                       
******************************** Bottom of Data ********************************


It is not the desired o/p icon_sad.gif
Back to top
View user's profile Send private message
GaganGarg

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Mon Jul 12, 2010 7:37 pm    Post subject:
Reply with quote

I tried using the SPLICE operator as followS, but could not get the desired o/p, can anybody please suggest any modification?

Code:

//TOOLIN DD *                                               
 SPLICE FROM(CON) TO(OUT) ON(6,10,CH) WITHALL WITH(34,4) - 
 KEEPBASE                                                   
/*                                                         
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


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

PostPosted: Mon Jul 12, 2010 8:47 pm    Post subject:
Reply with quote

GaganGarg,

JOINKEYS supports Cartesian Join. SPLICE does not.

The messages indicate you do not have the DFSORT PTF required to use JOINKEYS. Ask your System Programmer to install z/OS DFSORT V1R10 PTF UK51707 (Nov, 2009) so you can use JOINKEYS.
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 -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts DFSORT MUL FIELDS tspr52 DFSORT/ICETOOL 16 Fri Mar 03, 2017 11:53 pm
No new posts How to get the remainder and quotient... vnktrrd DFSORT/ICETOOL 2 Mon Oct 31, 2016 10:59 am
No new posts Change date (DD/MM/YY) in 2nd record ... uday kiran DFSORT/ICETOOL 12 Wed Sep 07, 2016 10:57 pm
No new posts DFSORT sorting only specific records akodakka DFSORT/ICETOOL 4 Thu Aug 04, 2016 11:24 am
No new posts Symbolic Parameters in SYSIN DD state... madishpa DFSORT/ICETOOL 3 Mon Jun 27, 2016 6:23 pm


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