If you don't specify a JOIN statement for a JOINKEYS
application, only paired records from F1 and F2 are kept and processed by the
main task as the joined records. This is known as an inner join.
You can change which records are kept and processed by the
main task as the joined records by specifying a JOIN statement. You must
specify the UNPAIRED operand. The F1, F2 and ONLY operands are optional. The
JOIN operands you specify indicate the joined records to be kept and processed
by the main task as follows:
JOIN UNPAIRED,F1,F2 or JOIN UNPAIRED
Unpaired records from F1 and F2 as well as paired records. This is known as a full outer join.
JOIN UNPAIRED,F1
Unpaired records from F1 as well as paired records. This is known as a left outer join.
JOIN UNPAIRED,F2
Unpaired records from F2 as well as paired records. This is known as a right outer join.
JOIN UNPAIRED,F1,F2,ONLY or JOIN UNPAIRED,ONLY
Unpaired records from F1 and F2.
JOIN UNPAIRED,F1,ONLY
Unpaired records from F1.
JOIN UNPAIRED,F2,ONLY
Unpaired records from F2.
Examples are given below for each of the above JOIN cases.
//STEP01 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,F2:1,10,?)
JOIN UNPAIRED,F1,F2
/*
Output of the above step
001 FILE 1001 FILE 2B
002 FILE 1 1
003 FILE 22
Unpaired records from F1 and F2 as well as paired records. This is known as a full outer join.
JOIN UNPAIRED,F1
Unpaired records from F1 as well as paired records. This is known as a left outer join.
JOIN UNPAIRED,F2
Unpaired records from F2 as well as paired records. This is known as a right outer join.
JOIN UNPAIRED,F1,F2,ONLY or JOIN UNPAIRED,ONLY
Unpaired records from F1 and F2.
JOIN UNPAIRED,F1,ONLY
Unpaired records from F1.
JOIN UNPAIRED,F2,ONLY
Unpaired records from F2.
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,F2:1,10,?)
JOIN UNPAIRED,F1,F2
/*
Output of the above step
001 FILE 1001 FILE 2B
002 FILE 1 1
003 FILE 22
//STEP02 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,F2:1,10,?)
JOIN UNPAIRED,F1
/*
Output of the above step
001 FILE 1001 FILE 2B
002 FILE 1 1
//STEP03 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,F2:1,10,?)
JOIN UNPAIRED,F2
/*
Output of the above step
001 FILE 1001 FILE 2B
003 FILE 22
//STEP04 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,F2:1,10,?)
JOIN UNPAIRED,F1,F2,ONLY
/*
Output of the above step
002 FILE 1 1
003 FILE 22
//STEP05 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F1:1,10,?)
JOIN UNPAIRED,F1,ONLY
/*
Output of the above step
002 FILE 11
//STEP06 EXEC PGM=SORT
//SORTJNF1 DD *
001 FILE 1
002 FILE 1
//SORTJNF2 DD *
001 FILE 2
003 FILE 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(1,3,CH,A)
JOINKEYS FILES=F2,FIELDS=(1,3,CH,A)
REFORMAT FIELDS=(F2:1,10,?)
JOIN UNPAIRED,F2,ONLY
/*
//*
Output of the above step
003 FILE 22
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.