与 iftrail 叠加
我想在特定位置传递一个硬编码值,其中包含预告片记录中第 10-15 列的总和;我们可以用 iftril 进行叠加吗?我尝试添加带有 ifthen 条件的覆盖,但它没有考虑我在 iftrail 之后给出的条件。 输入数据:
H 000 A 010 浦那 B 020 孟买 C 030 钦奈 D 040 德里 T 000
输出数据:
H 000 A 010 浦那 B 020 孟买 C 030 钦奈 D 040 德里 T 100 4
注:4为记录数
SD 浦那,
您的要求是矛盾的。您说您想要对值求和,但后来您说您想要记录数。你想要哪一个 ?总和值还是记录计数器?
由于您展示了记录计数的示例,我假设您的尾部记录在位置 1 处用字符“H”标识。这是一个 DFSORT JCL,它将给出位置 63 处长度为 8 个字节的记录计数。
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
ABC
DEF
EFG
H 000 A 010 PUNE B 020 MUMBAI C 030 CHENNAI D 040 DELHI T 000
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTFIL IFTRAIL=(TRLID=(1,1,CH,EQ,C'H'),
TRLUPD=(63:COUNT+1=(M10,LENGTH=8)))
/*
上面的输出如下(注意位置 63 处的计数已抑制前导零)
ABC
DEF
EFG
H 000 A 010 PUNE B 020 MUMBAI C 030 CHENNAI D 040 DELHI T 000 4