O/P file fields to be '~~' seperated instead of ',' (Sort)

In this Mainframe Forum - You can post your queries on DFSORT, ICETOOL , SyncSort & JCL Utilities

Moderators: Frank Yaeger, Moderator Group

Post Reply
Suchi12
Member
Posts: 2
Joined: Wed Apr 14, 2010 4:31 pm

O/P file fields to be '~~' seperated instead of ',' (Sort)

Post by Suchi12 » Wed Apr 14, 2010 4:47 pm

Hi,

I have a file which looks like one below:

Input file:
3448290001,824 ,106
3448290001,824 ,126
3448290001,824 ,182

I want my output file fields to be '~~' seperated instead of ','.


Expected Output file:
3448290001~~824~~106
3448290001~~824~~126
3448290001~~824~~182

How can I do this using SORT?

Please help me out!

Anuj Dhawan
Moderator
Posts: 1625
Joined: Sat Aug 09, 2008 9:02 am
Location: Mumbai, India

Post by Anuj Dhawan » Wed Apr 14, 2010 7:11 pm

If you're using SyncSort - what release of it you are using? You might try this:

Code: Select all

//SYSIN    DD    *                  
  OPTION COPY                        
  INREC FINDREP=(IN=C',',OUT=C'~~')    
/*       

Support for FINDREP was included in SyncSort for z/OS 1.3.2. If you are using DFsort, you might need the correct ptf to use FINDREP.
Regards,
Anuj

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Wed Apr 14, 2010 9:53 pm

DFSORT's FINDREP function has been available since July, 2008. For more information on the associated PTF, see:

http://www.ibm.com/support/docview.wss? ... g3T7000085
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

Suchi12
Member
Posts: 2
Joined: Wed Apr 14, 2010 4:31 pm

Post by Suchi12 » Thu Apr 15, 2010 6:23 pm

Thanks Anuj,

I used the following DFSORT for the same and its working fine:

Code: Select all

//SYSIN    DD *                
  SORT FIELDS=COPY             
         OUTREC FIELDS=(1:1,10,
                   11:C'~~',   
                   13:12,3,    
                   16:C'~~',   
                   18:17,3)
/*

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Thu Apr 15, 2010 7:57 pm

That solution will only work if your fields are in fixed positions which you didn't mention.

FINDREP will work even if the fields are in variable positions. Here's an example of fields in variable positions delimited by commas.

Code: Select all

3448290001,824,106 
0001,8,1 
3448290001,82,18 
In this case, only FINDREP will work.
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

Anuj Dhawan
Moderator
Posts: 1625
Joined: Sat Aug 09, 2008 9:02 am
Location: Mumbai, India

Post by Anuj Dhawan » Sun Apr 18, 2010 9:19 am

You're welcome Suchi12.

If what you've posted works for you... good, however, that's a "rigid solution" and may not work in other cases Frank has described.
Regards,
Anuj

Post Reply

FREE TUTORIALS

Tutorials
Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions



Other References
Mainframe Tools and others