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
 

 

Field concatenation on a record using SYNCSORT!!!

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

New User


Joined: 20 Jul 2007
Posts: 24
Location: Bangalore

PostPosted: Tue Sep 11, 2007 3:34 pm    Post subject: Field concatenation on a record using SYNCSORT!!!
Reply with quote

Hi All,

There is a problem that I am facing which I know that it can be resolved using DFSORT(SQZ function) but unfortunately we have SYNCSORT at our place.

The scenario is as follows:

There are three fields of the following length:44,06 & 02. The problem now is that I need to remove the spaces-1 between these three fields (if any; but retaining just one space).

Example:

Code:
INPUT:
----|----|----|----|----|----|----|----|----|----|----|----|----|----|
SYNCSORT                                    SORT  OK   

OUTPUT:
----|----|----|----|----|----|----|----|----|----|----|----|----|----|
SYNCSORT SORT OK


Here the SYNCSORT field is of 44 length, SORT field is of 6 length and OK field is of 2 length.

All this in SYNCSORT icon_cry.gif

Thank you all for your time on this
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: Tue Sep 11, 2007 8:23 pm    Post subject:
Reply with quote

Hello,

If you need this quickly, i'd suggest you put together the bit of COBOL code needed to accomplish this.

It would be a read, a move (to clear the output area), a STRING delimited by space to populate the output area, and a write.
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 500
Location: USA

PostPosted: Wed Sep 12, 2007 2:09 am    Post subject:
Reply with quote

ajayjindal21,

If you are interested in using the SQZ function in SyncSort for z/OS, please feel free to contact me offline at alissa.margulies@syncsort.com.

Regards,
Back to top
View user's profile Send private message
lcmontanez

New User


Joined: 19 Jun 2007
Posts: 50
Location: Chicago

PostPosted: Wed Sep 12, 2007 2:39 am    Post subject: Reply to: Field concatenation on a record using SYNCSORT!!!
Reply with quote

if the sqz function is going to be used why not post the solution here.

Just in case other may want to use this in the future.
Back to top
View user's profile Send private message
shankar.v

Active User


Joined: 25 Jun 2007
Posts: 196
Location: Bangalore

PostPosted: Wed Sep 12, 2007 4:48 pm    Post subject:
Reply with quote

ajayjindal21,

Please check with the following code for your requirement
Code:
// EXEC PGM=SORT                                                       
//SORTIN DD *                                                         
SYNCSORT                                    SORT  OK
/*                                                                     
//SORTOUT DD SYSOUT=*                                                 
//SYSOUT DD SYSOUT=*                                                   
//SYSIN DD *                                                           
 OPTION COPY                                                           
 INREC IFTHEN=(WHEN=INIT,BUILD=(1,52,53:X)),                           
       IFTHEN=(WHEN=(45,6,CH,EQ,C' '),BUILD=(1,44,51,2,53:X)),         
      IFTHEN=(WHEN=(50,1,CH,NE,C' '),BUILD=(1,44,45,6,C' ',51,2)),     
      IFTHEN=(WHEN=(49,1,CH,NE,C' '),BUILD=(1,44,45,5,C' ',51,2,53:X)),
      IFTHEN=(WHEN=(48,1,CH,NE,C' '),BUILD=(1,44,45,4,C' ',51,2,53:X)),
      IFTHEN=(WHEN=(47,1,CH,NE,C' '),BUILD=(1,44,45,3,C' ',51,2,53:X)),
      IFTHEN=(WHEN=(46,1,CH,NE,C' '),BUILD=(1,44,45,2,C' ',51,2,53:X)),
      IFTHEN=(WHEN=(45,1,CH,NE,C' '),BUILD=(1,44,45,1,C' ',51,2,53:X))
 OUTFIL IFOUTLEN=54,                                                   
        IFTHEN=(WHEN=(1,44,CH,EQ,C' '),BUILD=(45,9)),         
        IFTHEN=(WHEN=(44,1,CH,NE,C' '),BUILD=(1,44,C' ',45,9)),
        IFTHEN=(WHEN=(43,1,CH,NE,C' '),BUILD=(1,43,C' ',45,9)),
        IFTHEN=(WHEN=(42,1,CH,NE,C' '),BUILD=(1,42,C' ',45,9)),
        IFTHEN=(WHEN=(41,1,CH,NE,C' '),BUILD=(1,41,C' ',45,9)),
        IFTHEN=(WHEN=(40,1,CH,NE,C' '),BUILD=(1,40,C' ',45,9)),
        IFTHEN=(WHEN=(39,1,CH,NE,C' '),BUILD=(1,39,C' ',45,9)),
        IFTHEN=(WHEN=(38,1,CH,NE,C' '),BUILD=(1,38,C' ',45,9)),
        IFTHEN=(WHEN=(37,1,CH,NE,C' '),BUILD=(1,37,C' ',45,9)),
        IFTHEN=(WHEN=(36,1,CH,NE,C' '),BUILD=(1,36,C' ',45,9)),
        IFTHEN=(WHEN=(35,1,CH,NE,C' '),BUILD=(1,35,C' ',45,9)),
        IFTHEN=(WHEN=(34,1,CH,NE,C' '),BUILD=(1,34,C' ',45,9)),
        IFTHEN=(WHEN=(33,1,CH,NE,C' '),BUILD=(1,33,C' ',45,9)),
        IFTHEN=(WHEN=(32,1,CH,NE,C' '),BUILD=(1,32,C' ',45,9)),
        IFTHEN=(WHEN=(31,1,CH,NE,C' '),BUILD=(1,31,C' ',45,9)),
        IFTHEN=(WHEN=(30,1,CH,NE,C' '),BUILD=(1,30,C' ',45,9)),
        IFTHEN=(WHEN=(29,1,CH,NE,C' '),BUILD=(1,29,C' ',45,9)),
        IFTHEN=(WHEN=(28,1,CH,NE,C' '),BUILD=(1,28,C' ',45,9)),
        IFTHEN=(WHEN=(27,1,CH,NE,C' '),BUILD=(1,27,C' ',45,9)),
        IFTHEN=(WHEN=(26,1,CH,NE,C' '),BUILD=(1,26,C' ',45,9)),
        IFTHEN=(WHEN=(25,1,CH,NE,C' '),BUILD=(1,25,C' ',45,9)),
        IFTHEN=(WHEN=(24,1,CH,NE,C' '),BUILD=(1,24,C' ',45,9)),
        IFTHEN=(WHEN=(23,1,CH,NE,C' '),BUILD=(1,23,C' ',45,9)),
        IFTHEN=(WHEN=(22,1,CH,NE,C' '),BUILD=(1,22,C' ',45,9)),
        IFTHEN=(WHEN=(21,1,CH,NE,C' '),BUILD=(1,21,C' ',45,9)),
        IFTHEN=(WHEN=(20,1,CH,NE,C' '),BUILD=(1,20,C' ',45,9)),
        IFTHEN=(WHEN=(19,1,CH,NE,C' '),BUILD=(1,19,C' ',45,9)),
        IFTHEN=(WHEN=(18,1,CH,NE,C' '),BUILD=(1,18,C' ',45,9)),
        IFTHEN=(WHEN=(17,1,CH,NE,C' '),BUILD=(1,17,C' ',45,9)),
        IFTHEN=(WHEN=(16,1,CH,NE,C' '),BUILD=(1,16,C' ',45,9)),
        IFTHEN=(WHEN=(15,1,CH,NE,C' '),BUILD=(1,15,C' ',45,9)),
        IFTHEN=(WHEN=(14,1,CH,NE,C' '),BUILD=(1,14,C' ',45,9)),
        IFTHEN=(WHEN=(13,1,CH,NE,C' '),BUILD=(1,13,C' ',45,9)),
        IFTHEN=(WHEN=(12,1,CH,NE,C' '),BUILD=(1,12,C' ',45,9)),
        IFTHEN=(WHEN=(11,1,CH,NE,C' '),BUILD=(1,11,C' ',45,9)),
        IFTHEN=(WHEN=(10,1,CH,NE,C' '),BUILD=(1,10,C' ',45,9)),
        IFTHEN=(WHEN=(09,1,CH,NE,C' '),BUILD=(1,09,C' ',45,9)),
        IFTHEN=(WHEN=(08,1,CH,NE,C' '),BUILD=(1,08,C' ',45,9)),
        IFTHEN=(WHEN=(07,1,CH,NE,C' '),BUILD=(1,07,C' ',45,9)),
        IFTHEN=(WHEN=(06,1,CH,NE,C' '),BUILD=(1,06,C' ',45,9)),
        IFTHEN=(WHEN=(05,1,CH,NE,C' '),BUILD=(1,05,C' ',45,9)),
        IFTHEN=(WHEN=(04,1,CH,NE,C' '),BUILD=(1,04,C' ',45,9)),
        IFTHEN=(WHEN=(03,1,CH,NE,C' '),BUILD=(1,03,C' ',45,9)),
        IFTHEN=(WHEN=(02,1,CH,NE,C' '),BUILD=(1,02,C' ',45,9)),
        IFTHEN=(WHEN=(01,1,CH,NE,C' '),BUILD=(1,01,C' ',45,9))
/* 
// 

Output:
Code:
SYNCSORT SORT OK
Back to top
View user's profile Send private message
ajayjindal21
Warnings : 1

New User


Joined: 20 Jul 2007
Posts: 24
Location: Bangalore

PostPosted: Wed Sep 12, 2007 5:55 pm    Post subject:
Reply with quote

Thank You Shankar,

I managed to write a COBOL code for this requirement, but I found that SORT was very much quicker in terms of performance.

Thank You Shankar, Alissa, Dick & lcmontanez, thank you all
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 500
Location: USA

PostPosted: Wed Sep 12, 2007 11:09 pm    Post subject: Re: Reply to: Field concatenation on a record using SYNCSORT
Reply with quote

lcmontanez wrote:
if the sqz function is going to be used why not post the solution here.

The SQZ function is available in SyncSort for z/OS 1.3, which is currently in Early Support. If anyone is interested in participating in our Early Support Program, please feel free to contact me offline.
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 Need to write record of PS File in ex... Chandan1993 JCL & VSAM 1 Wed Jun 07, 2017 1:35 am
No new posts Adding big TEXT lines to each record ... bshkris SYNCSORT 4 Sat May 06, 2017 1:40 am
This topic is locked: you cannot edit posts or make replies. Merge two files and update Trailer re... Yashashri JCL & VSAM 1 Thu May 04, 2017 12:54 pm
No new posts READ A PACKED "NEGATIVE" FI... jdesouza CA Products 3 Tue May 02, 2017 11:43 pm
No new posts Alter &DATENS field in HEADER1 Angad DFSORT/ICETOOL 4 Mon Apr 24, 2017 11:49 am


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