我有一个要求,其中我需要从单个输入文件中提取2种记录&加入他们进行EZT报告处理。目前,我已经写了一个冰et步骤,以执行提取,然后加入。Icetool步骤的输出被馈送到EasyTrive报告步骤。提取卡如下 -
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中执行上述排序/冰鞋操作。我已经使用了EasyTrieve内部排序,但这是用于简单提取的。我们可以在easytrive中执行加入操作吗?
注意 - 这个想法是要有一个EZT步骤。
您可以在EasyTrieve中使用同步文件处理设施(SFP)来实现任务。在此处阅读有关它的更多信息。
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
请注意,
- 上面的代码未测试,它只是一份草稿使用EasyTrive实现任务的文件匹配。
- 假定数据项的数据类型。您可能必须适当地更改它们。
- 您可能必须定义
FILE
中的变量输入数据集语句。 - 您可以在
IF MATCHED
条件中添加更多语句创建报告。
希望这会有所帮助!