我有一个需求,我需要从一个输入文件中提取两种类型的记录,并将它们加入到EZT报告处理中。目前,我已经编写了一个ICETOOL步骤来执行提取,然后执行连接。ICETOOL步骤的输出被馈送到Easytrieve报告步骤。提取卡如下:
SORT FIELDS=(14,07,PD,A)
OUTFILE FNAMES=FILE010,INCLUDE=(25,03,CH,EQ,C'010')
OUTFILE FNAMES=FILE011,INCLUDE=(25,04,CH,EQ,C'011')
OPTION DYNALLOC=(SYSDA,05)
这是会员卡-
SORT FIELDS=(14,07,PD,A)
JOINKEYS F1=FILE010,FIELDS=(14,07,A),SORTED,NOSEQCHK
JOINKEYS F2=FILE011,FIELDS=(14,07,A),SORTED,NOSEQCHK
REFORMAT FIELDS=(F1:14,07,
F2,25,10)
OUTREC BUILD=(1,17,80:X),VTOF
OPTION DYNALLOC=(SYSDA,05)
我想知道是否可以在EasyTrive中执行上述SORT/ICETOOL操作。我使用了Easytrieve内部排序,但它只用于简单的提取。我们可以在Easytrieve中执行连接操作吗?
注意--这个想法是有一个单一的EZT步骤。
发布于 2019-03-14 18:25:56
您可以使用Easytrieve中的同步文件处理工具(SFP)来完成此任务。有关它的更多信息,请阅读here。
FILE FILE010
KEY1 14 7 N
*
FILE FILE011
KEY2 14 7 N
FIELD1 25 10 A
*
FILE OUTFILE FB(80 0)
OKEY 1 7 N
OFIELD 8 10 A
*
WS-COUNT W 5 N VALUE 0
*
JOB INPUT FILE010 KEY KEY1 FILE011 KEY KEY2 FINISH(DIS)
*
IF EOF FILE010
STOP
END-IF
*
IF MATCHED
OKEY = KEY1
OFIELD = FIELD1
WS-COUNT = WS-COUNT + 1
PUT OUTFILE
END-IF
*
DIS. PROC
DISPLAY 'RECORDS WRITTEN: ' WS-COUNT
END-PROC
请注意,
FILE
可能会在IF MATCHED
条件中添加更多语句以创建报告。希望这能有所帮助!
https://stackoverflow.com/questions/55140043
复制相似问题