Вылезает дамп SAPSQL_INVALID_FIELDNAME
Цитата:
One of the field names in the SELECT clause was not recognized.
Что произошло?
The current ABAP/4 program "SAPLSDFC " had to be terminated because
one of the statements could not be executed.
This is probably due to an error in the ABAP/4 program.
Что Вы можете сделать?
Note the actions and input that caused the error.
Inform your SAP system administrator.
You can print out this message by choosing "Print". Transaction ST22
allows you to display and manage termination messages, including keeping
them beyond their normal deletion date.
Анализ ошибки
The SELECT clause was specified in an internal table at runtime.
It contains the field name "=", but this does not occur in any of
the database tables listed in the FROM clause.
Указания по устранению ошибки
Check the field names in the SELECT clause.
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"SAPSQL_INVALID_FIELDNAME"
Код следующий (на который ругается SAP)
Code:
001060 * IF FAILURE_TAB IS REQUESTED AND DD08V_TAB-CHECKFLAG <> 'X'
001070 IF NOT CHECK IS INITIAL AND DD08V_TAB-CHECKFLAG <> 'X'
001080 AND INIT = SPACE.
001090 SELECT * FROM (DD08V_TAB-CHECKTABLE) up to 1 rows
001100 INTO RESULT_WA
> WHERE (SINGLE_COND).
001120 ENDSELECT.
В
SINGLE_COND получается кривое условие вида
='400' AND ='1000' AND ='112'. Этот код стандартного SAP-а и он (насколько я понимаю) проверяет значение по указанной проверочной таблице. Т.е. для поля указан внешний ключ и этот код проверяет что значение поля имеется в проверочной таблице. Однако, как можно заметить из кривого условия, тут остуствуют названия полей. При этом в самой таблице во внешнем ключе все нормально - поле определено. Дебаг показал, что действительно ФМ в информации возвращает CHECKFIELD = пусто.
Может кто сталкивался и подскажет причину такого поведения? А то я даже не знаю "в какую сторону смотреть", так как это вроде стандартный код и должно все работать.
Сама таблица недавно переносилась в переносе. Однако при этом в нее не ВНОСИЛИСЬ никакие изменения. Т.е. были добавлены пару полей. Затем оказалось, что их нужно добавить в другую таблицу и они отсюда были удалены. В результате таблица попала в запрос, но фактически никак не изменилась.