如何在Easytrieve内部SORT中加入记录?

问题描述 投票:0回答:1

我有一个要求,我需要从单个输入文件中提取两种类型的记录并将它们连接起来进行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内部SORT,但它是用于简单的提取。我们可以在Easytrieve中执行连接操作吗?

注意 - 想法是有一个EZT步骤。

mainframe zos dfsort easytrieve
1个回答
0
投票

您可以在Easytrieve中使用同步文件处理工具(SFP)来完成任务。了解更多关于它的信息qazxsw poi。

here

请注意,

  • 上面的代码没有经过测试,它只是一个草案,显示了使用Easytrieve实现任务的文件匹配的想法。
  • 假定数据项的数据类型。您可能需要适当地更改它们。
  • 您可能必须在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条件中添加更多语句来创建报告。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.