MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

select only desire recs

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
cyberuser
Beginner


Joined: 15 Oct 2005
Posts: 29
Topics: 12

PostPosted: Tue Feb 13, 2007 1:13 pm    Post subject: select only desire recs Reply with quote

Hello Everyone,
Would be possible to retrieve only the lines with "_______" and the first line above ?


Code:

FB/80 IN :
XYXYXYX  ABC NNNN     
XYXYXYX  ABC NNNN     
XYXYXYX  ABC NNNN        <- desired
       _______ XYXYXYX   <- desired
       _______ XYXYXYX   <- desired
XYXYXYX  ABC NNNN     
XYXYXYX  ABC NNNN     
XYXYXYX  ABC NNNN        <- desired
       _______ XYXYXYX   <- desired
XYXYXYX  ABC NNNN        <- desired
       _______ XYXYXYX   <- desired
       _______ XYXYXYX   <- desired
       _______ XYXYXYX   <- desired

FB/80 OUT :

XYXYXYX  ABC NNNN     
       _______ XYXYXYX
       _______ XYXYXYX
XYXYXYX  ABC NNNN     
       _______ XYXYXYX
XYXYXYX  ABC NNNN     
       _______ XYXYXYX
       _______ XYXYXYX
       _______ XYXYXYX




Any suggestions are welcome
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Feb 13, 2007 3:11 pm    Post subject: Reply with quote

cyberuser,

Try this DFSORT/ICETOOL JCL.

Code:

//STEP0100 EXEC PGM=ICETOOL         
//TOOLMSG   DD SYSOUT=*             
//DFSMSG    DD SYSOUT=*             
//IN        DD *                     
XYXYXYX  ABC NNNN                   
XYXYXYX  ABC NNNN                   
XYXYXYX  ABC NNNN        <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
XYXYXYX  ABC NNNN                   
XYXYXYX  ABC NNNN                   
XYXYXYX  ABC NNNN        <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
XYXYXYX  ABC NNNN        <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
       _______ XYXYXYX   <- DESIRED 
//OUT       DD SYSOUT=*             
//TOOLIN    DD *                                             
  SPLICE FROM(IN) TO(OUT) WITHEACH -                         
      ON(161,8,CH)                 -                         
    WITH(081,80)                   -                         
  KEEPNODUPS USING(CTL1)                                     
//CTL1CNTL  DD *                                             
  INREC IFTHEN=(WHEN=INIT,                                   
       OVERLAY=(001:01,80,                                   
                081:01,80,                                   
                161:SEQNUM,8,ZD,START=2,INCR=1,               
                169:161,8,ZD,MOD,+2,TO=ZD,LENGTH=1),HIT=NEXT),
                                                             
        IFTHEN=(WHEN=(169,1,ZD,EQ,0),                         
       OVERLAY=(081:80X,                                     
                161:161,8,ZD,SUB,169,1,ZD,M11,LENGTH=8)),     
                                                             
        IFTHEN=(WHEN=(169,1,ZD,EQ,1),                         
       OVERLAY=(001:80X,                                     
                161:161,8,ZD,SUB,169,1,ZD,M11,LENGTH=8))     
                                                             
   OUTFIL FNAMES=OUT,IFOUTLEN=80,                             
   INCLUDE=(08,7,CH,EQ,C'_______',OR,                         
            88,7,CH,EQ,C'_______'),                           
                                                             
          IFTHEN=(WHEN=(08,07,CH,EQ,C'_______',AND,           
                        81,80,CH,EQ,C' '),                   
           BUILD=(01,80)),                                   
                                                             
          IFTHEN=(WHEN=NONE,                                 
           BUILD=(01,80,/,                                   
                  81,80))                                     
/*


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Frank Yaeger
Sort Forum Moderator
Sort Forum Moderator


Joined: 02 Dec 2002
Posts: 1618
Topics: 31
Location: San Jose

PostPosted: Tue Feb 13, 2007 3:35 pm    Post subject: Reply with quote

Note that you'll need z/OS DFSORT V1R5 PTF UK90007 or DFSORT R14 PTF UK90006 (April, 2006) in order to use INREC with SPLICE. If you don't have the April, 2006 PTF, you won't get the correct results with Kolusu's job. Ask your System Programmer to install the PTF (it's free). For complete details on all of the new DFSORT and ICETOOL functions available with the April, 2006 PTF, see:

www.ibm.com/servers/storage/support/software/sort/mvs/peug/
_________________
Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Feb 14, 2007 2:23 pm    Post subject: Reply with quote

Cyberuser,

Just found a bug in the job.

Code:

LINE01   ABC NNNN                 
LINE02   ABC NNNN                 
LINE03   ABC NNNN        <- DESIRED
LINE04 _______ XYXYXYX   <- DESIRED
LINE05 _______ XYXYXYX   <- DESIRED
LINE06   ABC NNNN                 
LINE07   ABC NNNN                 
LINE08   ABC NNNN        <- DESIRED   <=== did not pick
LINE09 _______ XYXYXYX   <- DESIRED
LINE10   ABC NNNN        <- DESIRED
LINE11 _______ XYXYXYX   <- DESIRED
LINE12 _______ XYXYXYX   <- DESIRED
LINE13 _______ XYXYXYX   <- DESIRED 


I did not pick line 08 record as the logic was to pair every 2 records as 1 long record and then check for the desired records. So when I paired it was paired with Line 07 which does not have the indicator.

So to redeem myself I coded another version. Hope fully this does not have the bug.

Code:

//STEP0100 EXEC PGM=ICETOOL                             
//TOOLMSG   DD SYSOUT=*                                 
//DFSMSG    DD SYSOUT=*                                 
//IN        DD *                                         
LINE01   ABC NNNN                                       
LINE02   ABC NNNN                                       
LINE03   ABC NNNN        <- DESIRED                     
LINE04 _______ XYXYXYX   <- DESIRED                     
LINE05 _______ XYXYXYX   <- DESIRED                     
LINE06   ABC NNNN                                       
LINE07   ABC NNNN                                       
LINE08   ABC NNNN        <- DESIRED                     
LINE09 _______ XYXYXYX   <- DESIRED                     
LINE10   ABC NNNN        <- DESIRED                     
LINE11 _______ XYXYXYX   <- DESIRED                     
LINE12 _______ XYXYXYX   <- DESIRED                     
LINE13 _______ XYXYXYX   <- DESIRED                     
//OUT       DD SYSOUT=*                                 
//TOOLIN    DD *                                         
  SELECT FROM(IN) TO(OUT) ON(81,8,CH) ALLDUPS USING(CTL1)
//CTL1CNTL  DD *                                         
  INREC IFTHEN=(WHEN=INIT,                               
       OVERLAY=(81:SEQNUM,8,ZD)),                       
        IFTHEN=(WHEN=(8,7,CH,EQ,C'_______'),             
       OVERLAY=(89:SEQNUM,8,ZD,                         
                81:81,8,ZD,SUB,89,8,ZD,M11,LENGTH=8)),   
        IFTHEN=(WHEN=NONE,                               
       OVERLAY=(81:SEQNUM,8,ZD))                         
                                                         
  OUTFIL FNAMES=OUT,                                     
  BUILD=(01,80)                                         


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group