Почему неиспользуемые поля файла имеют пустое значение?
У меня есть стол с именем
EQRECORDS
как показано ниже
A R REQ
A FNAME 10A
A LNAME 10A
A K FNAME
и запрограммируйте как ниже
fEQRECORDS if e k disk
d uwvar2 s 10a inz('ANKUR')
/free
setll *loval req;
reade uwvar2 req;
dow not %eof(eqrecords) and not %error;
dsply lname;
reade uwvar2 req;
enddo;
*inlr = *on;
/end-free
При первом выполнении READE, если я хочу увидеть значение Fname, используя Eval. Почему это показано пустым?
Данные в таблице как показано ниже
**FNAME LNAME**
VIKASH SHUKLA
VIKASH SHUKLA
ANKUR VERMA
ANKUR MEHTA
VIKASH MISHRA
VIKASH GUPTA
ANKUR GUPTA
BHASKAR MISHRA
CHINTU
BHUVI GUPTA
3 ответа
Я предполагаю, что вы используете 'eval' в отладчике. Если у вас есть OPTION(*NOUNREF) в H-spec или команда compile, то поля, на которые нет ссылок, недоступны в отладчике. Поместите OPTION(*UNREF) в вашу H-спецификацию, чтобы они были включены.
Я получил решение этой проблемы. Я использовал debug(*input) в H-spec и получил результат.
Попробуйте эту ссылку... Описание отладки (* вход)
Отправьте точный код, который дает вам проблему. Это должно работать:
fEQRECORDS if e k disk
d uwvar2 s 10a inz('ANKUR')
d message s 50a inz
/free
setll *loval req;
reade uwvar2 req;
dow not %eof(eqrecords) and not %error;
message = %trimr(fname) + ' ' + lname;
dsply message;
reade uwvar2 req;
enddo;
*inlr = *on;
/end-free