JOINKEYS kombinieren Sie zwei Dateien

Möchte ich erklären, mein Szenario mit Beispielcode unten,

Beiden Dateien verbunden werden muss durch
acct - # mit JOINKEYS aber in Datei1
acct -#, existiert zur position:33 aber in
Datei2 acct# existiert entweder an
position:1 oder 2 hängt von char 'C' bei
position:1. In anderen Worten, wenn die char 'C'
besteht bei der position:1 ist, dann müssen wir
betrachten acct# Rang:2
ansonsten betrachten acct# aus
position:1. Ich möchte all diese Dinge tun
in einem EINZIGEN Schritt.

Hoffe, ich habe meine Anforderung klar. Schätzen Ihre Lösung.

//STEP010  EXEC PGM=SORT,                      
//            REGION=4096K                    
//SYSPRINT DD  SYSOUT=*                        
//SYSLIST  DD  SYSOUT=*                        
//SYSTOTAL DD  SYSOUT=*                        
//SYSOUT   DD  SYSOUT=*                        
//*                                            
//SORTIN   DD  DUMMY                           
//*                                            
//SORTJNF1 DD  *                               
1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|3785253347100
2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|3785253368600
8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|3725826154600
9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|3725817782600
1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|3785253347122  
/*                                            
//*                                            
//SORTJNF2 DD  *                               
C3785253347100                                 
C3785253368600                                 
3725826154600  
3725817782600  

//SORTOUT  DD  SYSOUT=*                        
//JNF2CNTL DD  *                               
  INCLUDE COND=(1,1,CH,EQ,C'C'),               
  INREC BUILD=(1,13)                           
/*                                             
//*                                            
//SYSIN    DD  *                               
  JOINKEYS FILES=F1,FIELDS=(33,13,A)           
  JOINKEYS FILES=F2,FIELDS=(01,13,A)           
  JOIN UNPAIRED,F1                             
  REFORMAT FIELDS=(F1:01,45,F2:01,13),FILL=C'$'
  SORT FIELDS=COPY                             
/*                                             
InformationsquelleAutor Raja Reddy | 2010-12-30
Schreibe einen Kommentar