|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
В нашей системе на базу Oracle имеется (updateable) view. Установленная у заказчика SAP запрашивает поодиночке записи из View. Идентифицировано 4 строчки (из нескольких сотен) View, запрос которых вызывает ошибку ORA-01747. Текст SQL-запроса не меняется, меняются только параметры WHERE. Выполнение этого SQL-запроса из sqlplus или HORA на той же системе выполняется без ошибок, однако вызов из потрохов SAP (в ABAP) стабильно приводит к исключению ORA-01747. Запрос к данным из SAP ABAP выглядит так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
Ошибка возникает в SAP как при нормальном выполнении, так и в отладчике при пошаговом проходе. Запрос к этой же строке данных из HORA отрабатывает без ошибок: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Рабочая гипотеза такова, что ABAP каким-то образом либо криво преобразует ABAP-SQL в нативный SQL-запрос к Ораклу, либо выполняет какие-то добавочные SQL-операторы. Один из этих SQL-Statemens / SQL Query вызывает ошибку ORA-01747 Как отловить этот SQL с ошибкой? В трейсах не удалось ничего найти. Попадает ли такой SQL в alert log? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 13:39 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter, странновато IT_TRANS - RUEC_SAP_AUFT_NR=='000048917940' не в - (миннусе) проблема (нет двойных кавичек)? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 13:52 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
авторне в - (миннусе) проблема (нет двойных кавичек)? Вряд ли. Это ABAP (который я вижу впервые), а не PL/SQL. Видимо, в ABAP так можно. В каждой избушке свои погремушки. Снова-таки, текст запроса не генерируется динамически, а фиксирован раз и навсегда. И используется без изменений уже лет эдак 20 без проблем. И, главное - работает на 99,99% строк View, но валится на 4 конкретных строках. Впервые в конце прошлой недели. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:21 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter, Там точно буковки везде? И нет приколов, например с NLS для дробных частей через запятую вместо точки? И если отловить этот запрос на оракловой стороне, то как он там выглядит? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:25 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter, имхо, смотреть строки, чем-то они уникальны В символьных данных кавычек (д'Артаньян) нет? ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:25 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey BalterПопадает ли такой SQL в alert log? Убедился, что не попадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:26 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter Как отловить этот SQL с ошибкой? Не увидел сразу вопрос. Для начала, какая версия оракла и какие опции включены. Есть ли AWR/ASH и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:30 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter Как отловить этот SQL с ошибкой? Код: plsql 1.
воспроизводим ошибку ORA-01747 Код: plsql 1.
смотрим содержимое дампа в diag_dest ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:21 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
авторВ символьных данных кавычек (д'Артаньян) нет? Вылетает на следующих данных WHERE SAP_AUFT_NR = '000048917940' AND SAP_AUFT_VR = '0100' Тип данных Varchar2 авторДля начала, какая версия оракла и какие опции включены. Есть ли AWR/ASH и т.п.? 12.2.xxx Доступные опции надо спрашивать тамошнего админа, а его не предвидится. Гадость в том, что 1. ошибка ловится только на продакшн 2. Организационно это GxP-производство с жесткими требованиями к надежности и повторямости техпроцессов. Упомянутая система включена в техпроцесс. Потому любой минимальный чих в продакшене требует специальной процедуры, состоящей из доказательства необходимости изменения, анализа рисков, разработки протоколов тестирования, согласования, утверждения, подписания и пр. Есть идея забацать Schema-Trigger AFTER SERVERERROR и вручную писать ошибки в собственный лог. Если удастся уговорить заказчика на изменения в живой системе... См. п. 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:30 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Польцем в небо, а не может быть, что где-то имена переменных ABAP совпадают с именами полей в таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:41 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
авторсмотрим содержимое дампа в diag_dest спасибо! Только что заказчик сообщил, что нашел ошибку. Ошибка в SAP, в тексте ABAP-запроса. "Одна лишняя точка", что при определенной комбинации условий вело к вылету. Говнюки, блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:45 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter Код: plsql 1.
Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:46 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey BalterГовнюки, блин. Ты разве не берёшь с них почасовую оплату вне зависимости от результатов?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:51 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter, А в каких именно комбинациях лишняя точка давала ошибку, неизвестно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:55 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
авторТы разве не берёшь с них почасовую оплату вне зависимости от результатов? Контракт на support они не хотят, но мы добираем свое через заказы на развитие системы. Так для нашей фирмы выходит типа "политически выгоднее". И в любом случае не моя компетенция, это забота шефа. авторА в каких именно комбинациях лишняя точка давала ошибку, неизвестно? Известно, все 4 случая идентифицированы в ходе работы. 4 records Спасибо всем откликнувшимся! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:21 |
|
ошибка ORA-01747 при выполнении SELECT из ABAP (SAP)
|
|||
---|---|---|---|
#18+
Sergey Balter все 4 случая идентифицированы А от частного к общему перейти удалось? Т.е. получить критерий при котором сочетание данных и "лишней точки" стабильно даст ошибку в следующий раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:24 |
|
|
start [/forum/topic.php?fid=52&fpage=37&tid=1880887]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 442ms |
0 / 0 |