On Mon, 8 Jun 2015 17:14:33 +0900, Minoru Massaki wrote:

>Hello Kolusu-san,
>
>Thank you very much for giving the answer by using DFSORT.
>That is what the customer wants to.
>
>I have additional questions.
>If the 8 bytes key is binary data and some records include x'40'  of the
>last byte of the key,
> (ex. if the key is binary number 64 --> x'0000000000000040')
>Does the shifting to right (JFY=(SHIFT=RIGHT)) work as I expected?
>
>In case of the last and the first byte of the records contain x'40',
>what should I modify the DFSORT control statements you gave me.
>

On z/OS 2.1 (VLTRAIL is new in 2.1) try:

//*                                                               
//STEP1   EXEC PGM=ICETOOL                                        
//*                                                               
//TOOLMSG   DD SYSOUT=*                                           
//DFSMSG    DD SYSOUT=*                                           
//IN        DD DISP=OLD,DSN=VB-INPUT-DS                           
//TEMP1     DD SPACE=(TRK,(75,75),RLSE)                           
//TEMP2     DD SPACE=(TRK,(150,150),RLSE)                         
//OUT       DD DISP=(NEW,CATLG,DELETE),                           
//             SPACE=(TRK,(75,75),RLSE),                          
//             DSN=VB-OUTPUT-DS                                   
//CTL1CNTL  DD *                                                  
  OUTFIL FNAMES=TEMP1,BUILD=(1,4,SEQNUM,4,BI,C' ',5)              
  OUTFIL FNAMES=TEMP2,BUILD=(1,4,SEQNUM,4,BI,5,HEX),VLTRAIL=C'<|' 
/*                                                                
//CTL2CNTL  DD *                                                  
  JOINKEYS F1=TEMP1,FIELDS=(5,4,A),TASKID=T1,SORTED               
  JOINKEYS F2=TEMP2,FIELDS=(5,4,A),TASKID=T1,SORTED               
  REFORMAT FIELDS=(F1:1,4,F2:9,8,F1:9,1,F1:10)                    
/*                                                                
//T1F1CNTL  DD *                                                  
/*                                                                
//T1F2CNTL  DD *                                                  
  INREC PARSE=(%00=(STARTAFT=C'<',FIXLEN=1),                      
               %01=(SUBPOS=18,FIXLEN=16)),                        
        BUILD=(1,4,5,4,%01,TRAN=UNHEX)                            
/*                                                                
//TOOLIN    DD *                                                  
  COPY FROM(IN)          USING(CTL1)                              
  COPY JKFROM   TO(OUT)  USING(CTL2)                              
/*                                                                

Norbert Friemel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to