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

SYNCSORT add the values for Decimal using SUM fields


IBM Mainframe Forums -> JCL & VSAM
Post new topic   This topic is locked: you cannot edit posts or make replies.
View previous topic :: View next topic  
Author Message
callkris_cit

New User


Joined: 22 Apr 2006
Posts: 44

PostPosted: Sun Oct 21, 2007 12:01 am
Reply with quote

Hi Guys,=

I have a input file
Name Points
Krishnan -20.22
Krishnan -20.24
kanthan +20.44

I want to add the points if names are same, so i tried with below option

SORT FIELDS=(1,8,CH,A)
SUM FIELDS=(9,6,ZD)

But i am getting the abend. Please let me know what i need to specified instead of ZD
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sun Oct 21, 2007 1:30 am
Reply with quote

Hello,

The abend is because the "numbers" are not ZonedDecimal.

Instead of ZD, try SFF.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sun Oct 21, 2007 7:58 am
Reply with quote

callkris_cit
You have shown how the i/p looks like, if need any help also show how the o/p should look like?
Back to top
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1287
Location: Chennai, India

PostPosted: Mon Oct 22, 2007 11:42 am
Reply with quote

callkris_cit,

Use this JCL for your requirement

Code:
// EXEC PGM=ICEMAN                                                   
//SORTIN DD *                                                       
KRISHNAN -20.22                                                     
KRISHNAN -20.24                                                     
KANTHAN  +20.44                                                     
/*                                                                   
//SORTOUT DD SYSOUT=*                                               
//SYSOUT DD SYSOUT=*                                                 
//SYSIN DD *                                                         
 INREC OVERLAY=(10:10,6,SFF,TO=ZD,LENGTH=6)                         
 SORT FIELDS=(1,8,CH,A)                                             
 SUM FIELDS=(10,6,ZD)                                               
 OUTREC OVERLAY=(10:10,6,ZD,EDIT=(STTT.TT),SIGNS=(,-))               
/*                                                                   


output:

Code:
KANTHAN   020.44
KRISHNAN -040.46
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Mon Oct 22, 2007 12:20 pm
Reply with quote

callkris_cit
Also you could do the same using sections, like this:
Code:
//******************************************************************** 
//S1       EXEC  PGM=ICEMAN                                             
//SYSOUT   DD  SYSOUT=*                                                 
//SORTIN   DD *                                                         
KRISHNAN  -20.22                                                       
KRISHNAN  -20.24                                                       
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
KANTHAN   +20.44                                                       
/*                                                                     
//SORTOUT  DD SYSOUT=*                                                 
//SYSIN    DD    *                                                     
  SORT FIELDS=(1,10,CH,A)                                               
  OUTFIL REMOVECC,NODETAIL,                                             
    SECTIONS=(1,10,                                                     
      TRAILER3=(1,10,11:TOT=(11,6,SFF,EDIT=(STTT.TT),SIGNS=(+,-))))     
/*                                                                     
Back to top
View user's profile Send private message
callkris_cit

New User


Joined: 22 Apr 2006
Posts: 44

PostPosted: Sun Oct 28, 2007 10:15 am
Reply with quote

I will try and let you know
Back to top
View user's profile Send private message
krunal7757

New User


Joined: 01 Sep 2021
Posts: 6
Location: INdia

PostPosted: Wed Sep 01, 2021 7:48 am
Reply with quote

can you help how to use SUM fiedls for a file having Datatype as S9(8)V99 - also the output file shld maintain the signed bits

my file has below in amount fields

Amount from position 17 Length 10


20210823D0000000000210566HKRUNAL7757
20210823D0000000000177967EKRUNAL7758
20210823D0000000000126824BKRUNAL7757
20210823D0000000000462786IKRUNAL7758
20210823D0000000000642776CKRUNAL7757

Please help this is little urgent
i tried SFF TO ZD but out file does not shows the values same as input file.

Kindly guide if this is possible or i have to use cobol program
Back to top
View user's profile Send private message
Joerg.Findeisen

Senior Member


Joined: 15 Aug 2015
Posts: 1246
Location: Bamberg, Germany

PostPosted: Wed Sep 01, 2021 11:17 am
Reply with quote

@krunal7757: Do NOT hijack year old posts, start a new topic if needed.

This topic here should be locked. icon_exclaim.gif
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Wed Sep 01, 2021 7:38 pm
Reply with quote

locked.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   This topic is locked: you cannot edit posts or make replies. View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
Search our Forums:

Back to Top