关于JCL中OUTFIL INCLUDE两种写法有效性的技术问询
两种JCL OUTFIL INCLUDE条件功能完全一致
原写法:
OUTFIL FILES=01,INCLUDE=(35,3,CH,EQ,'A01',AND, (1,3,CH,EQ,C'AAA',OR,1,3,CH,EQ,C'BBB',OR,1,3,CH,EQ,C'CCC'))
简化写法:
OUTFIL FILES=01,INCLUDE=(35,3,CH,EQ,'A01',AND,(1,3,CH,EQ,C'AAA,BBB,CCC'))
这两种写法的功能完全一致,原因如下:
- 原写法通过
OR连接多个独立的EQ判断,实现“记录第1-3位等于AAA、BBB或CCC”的逻辑,再和“第35-37位等于A01”的条件用AND结合。 - 简化写法使用的是DFSORT支持的简写语法:当
EQ操作符后跟随用逗号分隔的多个同类型常量时,系统会自动将其解析为多个OR连接的EQ判断,和原写法的逻辑完全等价。
两种写法均符合DFSORT语法规范,所以作业运行正常是预期结果。数据源为磁带文件不影响过滤逻辑——OUTFIL的INCLUDE过滤是在读取记录后执行的,与存储介质无关。
内容的提问来源于stack exchange,提问作者Kavi
相关产品推荐
相关产品推荐

