Ich mag mein Szenario erklären, unter Verwendung von Beispielcode,JOINKEYS kombinieren zwei Dateien
Zwei Dateien mittels von acct # mit JOINKEYS verbunden werden müssen, aber in file1 acct # an der Position vorhanden ist: 33 aber in datei2 acct # existiert entweder bei position: 1 oder 2 hängt ab von char 'C' bei position: 1. Mit anderen Worten, wenn char 'C' existiert an der Position: 1 dann müssen wir betrachten acct # von Position: 2 andernfalls betrachten acct # von Position: 1. Ich möchte all diese Dinge in einem einzigen Schritt tun.
Hoffe ich machte meine Anforderung klar. Schätzen Sie 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
/*
Vielen Dank für Ihre Antwort! Lemme versuchen und zurück ... –
@Raja geben Sie bitte Feedback – user823959
FIELDS = ist nicht gültig für IFTHEN. Komma fehlt in der ersten Zeile von INREC. Es ist viel besser, ein neues Feld für den Schlüssel anzuhängen, als die Originaldaten zu zerstören (es sei denn, dass Sie dazu aufgefordert werden). –