SORT - Ifthen, when group question

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

Moderators: Frank Yaeger, Moderator Group

Post Reply
kcs5678
Member
Posts: 2
Joined: Fri Jul 22, 2011 8:44 pm

SORT - Ifthen, when group question

Post by kcs5678 » Fri Jul 22, 2011 8:52 pm

Hi,
I have below requirement, I'm kind of lost of how to start a group and end it when trailer record do not exist and group should end based off of next groups start.
XXX 08
DATA1
DATA2
DATA3
XXX 10
DATA 1
DATA2
DATA3
XXX 08
DATA 1
DATA 2
DATA 3
XXX 08
DATA 1
DATA 2
DATA 3
XXX 10
DATA 1
DATA 2
DATA 3

Output should be in two different files based on XXX record's 5-6 pos - either 08 or 10
File 1:
XXX 08
DATA1
DATA2
DATA3
XXX 08
DATA 1
DATA 2
DATA 3
XXX 08
DATA 1
DATA 2
DATA 3
File 2:
XXX 10
DATA 1
DATA2
DATA3
XXX 10
DATA 1
DATA 2
DATA 3

Any suggestions/ ideas greatly appreciated..

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

Post by Frank Yaeger » Fri Jul 22, 2011 10:32 pm

You just need to use BEGIN for the XXX record. You don't need END. You can use a DFSORT job like the following. I assumed your input file has RECFM=FB and LRECL=80, but you can change the job appropriately for other attributes.

Code: Select all

//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
XXX 08
DATA1
DATA2
DATA3
XXX 10
DATA 1
DATA2
DATA3
XXX 08
DATA 1
DATA 2
DATA 3
XXX 08
DATA 1
DATA 2
DATA 3
XXX 10
DATA 1
DATA 2
DATA 3
//OUT08 DD SYSOUT=*
//OUT10 DD SYSOUT=*
//SYSIN DD *
  OPTION COPY
  INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,3,CH,EQ,C'XXX'),PUSH=(81:5,2))
  OUTFIL FNAMES=OUT08,INCLUDE=(81,2,CH,EQ,C'08'),BUILD=(1,80)
  OUTFIL FNAMES=OUT10,INCLUDE=(81,2,CH,EQ,C'10'),BUILD=(1,80)
/*
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

kcs5678
Member
Posts: 2
Joined: Fri Jul 22, 2011 8:44 pm

Post by kcs5678 » Fri Jul 22, 2011 11:02 pm

Thanks a lot Frank... I was trying in BEGIN and END logic... missed the basic filtering criterea (include/ omit)..
thanks a bunch... !!

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