2016-12-27 89 views
0

执行此作业时出现JCL错误。多条线上的JCL IF语句

// IF &O = O AND        
//  (&GEG = SD.SD.SYNC.DB2.LBER OR  
//  &GEG = SD.LA.SYNC.DB2.LBER OR  
//  &GEG = SD.TW.SYNC.DB2.LBER)   
//STEP015 EXEC COZ,PNAME=IN0603ZC 

预计延续未找到。当我在IF的每一行后键入'+'时,总长度大于80,这也会产生问题。请帮我:)

+1

你知道你只能测试数值吗? O不是数字。如果这些冗长的东西是数据集名称,则不能这样做。如果它们不是数据集名称,它们是什么?你究竟在做什么?我认为你并没有试图理解JCL IF声明,并认为你可以随意插入任何你喜欢的东西。你不能。 –

+0

我假设你没有显示ENDIF。 –

+0

我也不明白你的意思。你可以证明这一点,并且当80给你一个问题时你得到的信息? –

回答

0

我们必须创造另一种解决方案。就像Bill Woodger之前所说的:你只能测试JCL中的数字。谢谢你的帮助。

1

the z/OS MVS JCL syntax reference

//[name] IF [(]relational-expression[)] THEN [comments] 
    . 
    . action when relational-expression is true 
    . 
//[name] ELSE [comments] 
    . 
    . action when relational-expression is false 
    . 
//[name] ENDIF [comments] 

的IF语句由1列2和 五个领域字符//的:名称,操作(IF),关系 - 表达, 字符然后,和评论。关系表达式可以是括号内的 。

ELSE语句由第1列和第2列中的字符以及三个字段组成:名称,操作(ELSE)和注释。

ENDIF语句由第1列和第2列中的字符以及三个字段组成:名称,操作(ENDIF)和注释。

你JCL缺少THEN

+0

THEN声明不是强制性的 –

+0

@JorenWillems你有一个参考(重新评论后用户名打字) –

+2

这是非常强制性的 – zarchasmpgmr