Если я сканирую «NDIA» в «INDIAN» с помощью %scan(), возвращается значение больше 0. Если я делаю то же самое, используя %lookup() в массиве, возвращается 0. Почему?
Программа 1
D VAR1 s 10a inz('INDIAN')
D S1 S 10S 0
C 'NDIA' SCAN VAR1 S1
C S1 DSPLY
/free
*inlr = *on;
/end-free
Программа 2
D ARR1 s 10a DIM(5)
D S1 S 10S 0
C EVAL ARR1(1) = 'AMERICA'
C EVAL ARR1(2) = 'INDIA'
C EVAL ARR1(3) = 'CHINA'
/free
S1 = %LOOKUP('NDIA':ARR1);
DSPLY S1;
*inlr = *on;
/end-free
В чем разница в обеих программах?
NDIA
в %LOOKUP(), но не загрузили это значение ни в один элемент массива. ('NDIA' ‹› 'INDIA') Поскольку такого элемента не существует, функция возвращает ноль. - person user2338816   schedule 18.09.2014