与 iftrail 叠加

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

与 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为记录数

jcl
1个回答
0
投票

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   
© www.soinside.com 2019 - 2024. All rights reserved.