Matching with three output record



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

Re: Matching with three output record

Postby Frank Yaeger » Wed Feb 02, 2011 3:59 am

Answer question3 --> It must not be possible but in any case I think that is an incongruence and must be verified more quickly. If you can write all records (that this question3) at OUT3 with message ERROR DUPLICATE (for example) is the best solution for me. (If it's not possible I write only the first case at OUT1)


I chose to write only the first case in OUT1. Here's the DFSORT/ICETOOL job:

//S2    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IN1 DD DSN=...  input file1 (FB/130)
//IN2 DD DSN=...  input file2 (FB/332)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT1 DD DSN=...  output file1 (FB/136)
//OUT2 DD DSN=...  output file2 (FB/139)
//OUT3 DD DSN=...  output file3 (FB/144)
//TOOLIN DD *
 SORT FROM(IN2) TO(T1) USING(CTL1)
 COPY JKFROM USING(CTL2)
/*
//CTL1CNTL DD *
  INREC IFTHEN=(WHEN=(327,4,CH,EQ,C'0049'),OVERLAY=(333:C'0')),
        IFTHEN=(WHEN=NONE,OVERLAY=(333:C'1'))
  OPTION EQUALS
  SORT FIELDS=(8,9,CH,A,333,1,CH,A)
  OUTREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(8,9),PUSH=(333:327,4,337:SEQ=8))
  OUTFIL OMIT=(333,4,CH,EQ,C'0049',AND,337,8,ZD,GT,1),
    BUILD=(1,332)
/*
//CTL2CNTL DD *
  JOINKEYS F1=IN1,FIELDS=(1,9,A),SORTED
  JOINKEYS F2=T1,FIELDS=(8,9,A),SORTED
  JOIN UNPAIRED,F1
  REFORMAT FIELDS=(F1:1,130,?,F2:1,6,327,4)
  OPTION COPY
  OUTFIL FNAMES=OUT1,
    INCLUDE=(131,1,CH,EQ,C'B',AND,138,4,CH,EQ,C'0049'),
    BUILD=(1,130,132,6)
  OUTFIL FNAMES=OUT2,
    INCLUDE=(131,1,CH,EQ,C'B',AND,138,4,CH,NE,C'0049'),
    BUILD=(1,130,C'ERROR',138,4)
  OUTFIL FNAMES=OUT3,
    INCLUDE=(131,1,CH,EQ,C'1'),
    BUILD=(1,130,C'ERROR',C'NOT FOUND')
/*
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
User avatar
Frank Yaeger
Global moderator
 
Posts: 1079
Joined: Sat Jun 09, 2007 8:44 pm
Has thanked: 0 time
Been thanked: 15 times

Re: Matching with three output record

Postby pulcinella » Wed Feb 02, 2011 8:48 pm

Excuse me Frank...

When I executed then have the next request:

1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001                             
 ICE805I 0 JOBNAME: xxxxxxxx , STEPNAME: S2                                   
 ICE802I 0 BLOCKSET     TECHNIQUE IN CONTROL                                   
 ICE006A 0 OPERAND DEFINER ERROR                                               
 ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E7-K51707                   
 ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED                               
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES A
 ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 15:27 ON WED F
0            INREC IFTHEN=(WHEN=(327,4,CH,EQ,C'0049'),OVERLAY=(333:C'0')),     
                   IFTHEN=(WHEN=NONE,OVERLAY=(333:C'1'))                       
             OPTION EQUALS                                                     
             SORT FIELDS=(8,9,CH,A,333,1,CH,A)                                 
             OUTREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(8,9),PUSH=(333:327,4,337:SEQ=8)
                                       $                                       
 ICE006A 0 OPERAND DEFINER ERROR                                               
             OUTFIL OMIT=(333,4,CH,EQ,C'0049',AND,337,8,ZD,GT,1),             
               BUILD=(1,332)                                                   
 ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW 
           DEBUG NOABEND,ESTAE                                                 
          OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=IN2,
                         RTOUT=T1,DYNALLOC                                   
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E7-K51707                   
ICE052I 3 END OF DFSORT                                                     


It seems that i have ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1. And the command KEYBEGIN is not implemented (I think that at my firt post said that my level sort is G or F) until Oct 2010...

Thank you
pulcinella
 
Posts: 114
Joined: Mon Dec 10, 2007 10:18 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Matching with three output record

Postby Frank Yaeger » Wed Feb 02, 2011 11:51 pm

Ask your System Programmer to install z/OS DFSORT V1R10 PTF UK90025 so you can use KEYBEGIN.

Alternatively, you can replace the OUTREC statement with:

  OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(337:SEQNUM,8,ZD,RESTART=(8,9))), 
   IFTHEN=(WHEN=GROUP,BEGIN=(337,8,ZD,EQ,1),PUSH=(333:327,4))         
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
User avatar
Frank Yaeger
Global moderator
 
Posts: 1079
Joined: Sat Jun 09, 2007 8:44 pm
Has thanked: 0 time
Been thanked: 15 times

Re: Matching with three output record

Postby pulcinella » Tue Feb 08, 2011 9:49 pm

Thank you for you help. It's ok

Unfortunally I can not use z/OS DFSORT V1R10 PTF UK90025. They are not install now. I must be use ICE201I G
pulcinella
 
Posts: 114
Joined: Mon Dec 10, 2007 10:18 pm
Has thanked: 0 time
Been thanked: 0 time

Previous

Return to DFSORT/ICETOOL/ICEGENER

 


  • Related topics
    Replies
    Views
    Last post