То, что сказал @hogstrom, верно.Оператор JCL IF проверяет Step Return codes
, а не Значения переменных :
//IFBAD IF (ABEND | STEP1.RC > 8) THEN
Исходя из сказанного, вы можете использовать переменную в операторе include
Включить с переменной
// INCLUDE MEMBER=OPT&FLAG
и настроить членов в проклибе
MEMBER = OPT1
// SET ARG=DEV
MEMBER = OPT2
// SET ARG=DEV+&CLIENT
Youнеобходимо установить включение для каждого возможного значения & FLAG , и оно очень длинное для одного SET
.Он чаще используется, когда вы можете установить лотов переменных, таких как:
// INCLUDE MEMBER=ENV&ENV
, где & ENV = PROD
\ TEST
и т. Д.
Ваш случай
Не используйте флаг, просто установите переменную:
// SET ARG=DEV
или
// SET ARG=DEV+&CLIENT