У вас есть два возможных решения.
Первое - просто добавить фактический пробел в две одинарные кавычки:
IF COND(%TRIM(&BLANK_VAR) *EQ ' ') THEN(DO)
CALL PGM(MY_PROGRAM) PARM(&BLANK_VAR)
ENDDO
Второе - не использовать * 1006.* и просто проверьте, равен ли он встроенному типу *BLANKS
:
IF COND(&BLANK_VAR *EQ *BLANKS) THEN(DO)
CALL PGM(MY_PROGRAM) PARM(&BLANK_VAR)
ENDDO
Причина, по которой вы получаете ошибку, состоит в том, что два '
рядом друг с другом действуют как экранированный синглцитаты.Обычно это позволяет вам вставлять одинарные кавычки в буквальную строку, но в этом случае компилятору кажется, что у вас неверная односимвольная строка.Любое из приведенных выше решений будет работать.