我想使用下面的示例代码解释我的方案,
需要通过方式连接两个文件 acct#使用JOINKEYS但在file1中 acct#存在于位置:33但在 file2 acct#存在于 位置:1或2取决于char'C'at 位置:1。换句话说,如果char'C' 存在于位置:1然后我们需要 从位置考虑#ct#:2 另外考虑来自的#ct 位置:1。我想做所有这些事情 在一个单一的步骤。
希望我明确要求。感谢您的解决方案。
//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
/*
答案 0 :(得分:1)
我认为这就是你想要的(注意插播中的JNF2CNTL):
//STEP010 EXEC PGM=SORT,
// REGION=0M
//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 *
INREC IFTHEN=(WHEN=(1,1,CH,EQ,C'C'),FIELDS=(2,13))
IFTHEN=(WHEN=NONE,FIELDS=(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
/*