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

Need Help with : IFTHEN(WHEN=GROUP)


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Sumanta_89

New User


Joined: 14 Apr 2017
Posts: 1
Location: India

PostPosted: Wed Apr 19, 2017 5:23 pm
Reply with quote

Hi Super Coders,
I need a little help with this. My Input is the output from running the LISTCAT ALL for a GDG.

I want the record to be formatted.

This is the input

lrecl=80
Code:
    LISTCAT ENT('B5293.MEDCO.UNETFILE.G5293214.SKIPD') ALL               
 GDG BASE ------ B5293.MEDCO.UNETFILE.G5293214.SKIPD                     
      IN-CAT --- CATALOG.ICF.MCEBTOPS                                   
      HISTORY                                                           
        DATASET-OWNER----TSUEMF6     CREATION--------2013.338           
        RELEASE----------------2     LAST ALTER------2017.108           
      ATTRIBUTES                                                         
        LIMIT-----------------255     SCRATCH    NOEMPTY    LIFO       NO
  NOEXTENDED                                                             
      ASSOCIATIONS                                                       
        NONVSAM--B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0776V00           
        NONVSAM--B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0777V00           
        NONVSAM--B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0778V00           
        NONVSAM--B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0779V00           
        NONVSAM--B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0780V00
Right now I am using the sort card:
Code:
INCLUDE COND=(01,8,CH,EQ,C'GDG BASE',OR,                           
              04,7,CH,EQ,C'NONVSAM',OR,                           
              37,8,CH,EQ,C'CREATION')                             
INREC IFTHEN=(WHEN=GROUP,RECORDS=2,PUSH=(81:17,44),               
 BEGIN=(1,8,CH,EQ,C'GDG BASE',OR,4,7,CH,EQ,C'NONVSAM'))           
 SORT FIELDS=COPY                                                 
OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(125:X'01',55,6,UFF,PD,LENGTH=3)),
 IFTHEN=(WHEN=(53,2,ZD,LT,20),OVERLAY=(125:X'00'))                 
 OUTFIL INCLUDE=(37,8,CH,EQ,C'CREATION',OR,                       
                 16,5,CH,EQ,C'OWNER',OR,                           
                 08,5,CH,EQ,C'LIMIT'),                             
 BUILD=(81,44,C' CREATED: ',125,4,DT1,EDIT=(TTTT-TT-TT)

And getting the output as:
Code:
B5293.MEDCO.UNETFILE.G5293214.SKIPD          CREATED: 2013-12-04
B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0776V00 CREATED: 2016-06-14
B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0777V00 CREATED: 2016-06-15
B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0778V00 CREATED: 2016-06-16
B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0779V00 CREATED: 2016-06-17
B5293.MEDCO.UNETFILE.G5293214.SKIPD.G0780V00 CREATED: 2016-06-18

Now I want OWNER, and LIMIT in the GDG Base Row. [/Search]

Code'd
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Wed Apr 19, 2017 9:11 pm
Reply with quote

Sumanta_89,

Welcome to the forums, code tags can be used here to preserve alignment of code/data. Just select the data/code and click the 'code' button and do a 'Preview' before submitting.

You are not INCLUDEing the 'LIMIT' record from the LISTCAT output, so I think you will have to start with that.

EDIT : A quick modified version would be something like this.
Code:
 INCLUDE COND=(01,8,CH,EQ,C'GDG BASE',OR,           
               04,7,CH,EQ,C'NONVSAM',OR,             
               08,5,CH,EQ,C'LIMIT',OR,               
               37,8,CH,EQ,C'CREATION')               
 SORT FIELDS=COPY                                   
 OUTREC IFTHEN=(WHEN=GROUP,                         
               BEGIN=(01,8,CH,EQ,C'GDG BASE',OR,     
                      04,7,CH,EQ,C'NONVSAM'),       
                PUSH=(081:ID=4,17,44)),             
        IFTHEN=(WHEN=GROUP,                         
               BEGIN=(16,5,CH,EQ,C'OWNER'),         
                PUSH=(129:26,08,53,4,58,3))         
 OUTFIL INCLUDE=(08,5,CH,EQ,C'LIMIT',OR,                   
                 37,8,CH,EQ,C'CREATION',AND,81,4,ZD,GT,1), 
        IFTHEN=(WHEN=(81,4,ZD,EQ,1),                       
         BUILD=(C'GDG BASE:',85,44,3X,                     
                C'LIMIT:',31,3,X,                         
                C'CREATED:',137,7,Y4T,TOGREG=Y4T(-),X,     
                C'OWNER:',129,8)),                         
        IFTHEN=(WHEN=NONE,                                 
         BUILD=(C'GENERATION:',85,44,X,                     
                C'CREATED:',137,7,Y4T,TOGREG=Y4T(-))) 
Gives this:
Code:
GDG BASE:XXXX.ABCDEFG.XPQRSTU.AAA                       LIMIT:3   CREATED:2008-04-04 OWNER:A11111
GENERATION:XXXX.ABCDEFG.XPQRSTU.AAA.G0014V00            CREATED:2017-04-10
GENERATION:XXXX.ABCDEFG.XPQRSTU.AAA.G0015V00            CREATED:2017-04-18
GENERATION:XXXX.ABCDEFG.XPQRSTU.AAA.G0016V00            CREATED:2017-04-18     
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Compare latest 2 rows of a table usin... DB2 1
No new posts Problem with IFTHEN=(WHEN=GROUP,BEGIN... DFSORT/ICETOOL 5
No new posts Splitting group records based on deta... DFSORT/ICETOOL 8
No new posts SORT HELP - SORT A COLUMN and GROUP B... DFSORT/ICETOOL 9
No new posts INCLUDE COND with WHEN=GROUP SYNCSORT 12
Search our Forums:

Back to Top