hub2002 написал(а):
Проблема в том, что select - не возвращает данные, хотя они есть. Выдает sy-subrc = 4. Хотя данные есть. И если программу скопировать в новую, тогда все работает.
А вот в этой программе не работает.
Чисто из спортивного интереса задачка.
Т.е. SELECT ничего не возвращает из программы с определённым именем.
Предлагаю цепочку действий:
- проверить тип переменной, в которой сидит значение WHERE, совпадает ли с типом поля в таблице (для WHERE)
- сравнить кодировку: UTF, WINDOWS-1251 и т.д. в программе, которая не хочет делать SELECT с кодировкой копии, которая работает.
- посмотреть в значении поля WHERE в таблице есть ли лидирующие пробелы или пробелы в конце.
- значение в поле WHERE содержит ли кирилицу и соотнести с кодировкой в которой создана программа.
- значение в поле WHERE заполнено литералом или из заполняется из кода ранее.
Предположения проблемы таковы: кодировка создания программы и значение в кирилице в значении WHERE.
Я бы для чистоты эксперимента сделал и так: закомментарил весь код кроме SELECT, а WHERE заполнил литералом. Сработает "капризная" программа или нет?