Отладка ABAP RFC
Я-а ASP.NET и разработчик ABAP. В течение многих лет я использовал RFC для общения с ASP.NET использование SAP .NET Connector.
Во время интегрированных тестов иногда требуется отладить RFC, который был вызван из ASP.ENT, просто потому, что ошибка, с которой мы сталкиваемся, не происходит в SE37.
Итак, каждый раз, когда мне нужно было отладить RFC, я просто вставлял:
IF <<CONDITION>>. WHILE 1 EQ 1. BREAK-POINT. ENDWHILE. ENDIF.
При этом программа застревает. Затем я иду к SM50 и отлаживаю его.
Мне было интересно, есть ли другой способ делать это, потому что мне не нравится идея изменения кода для отладки или реализации некоторых функций управления отладкой.
Итак, что вы делаете, когда вам нужно отладить RFC?
Заранее спасибо!
3 ответов:
Я предполагаю, что вы используете довольно свежую версию sap (4.7+) Сделайте следующее:
- получить имя пользователя, которое делает вызов RFC в SAP в ASP
- запустите SE37, перейдите в раздел кода вашего RFC
- Посмотрите в меню сверху, нажмите на "утилиты"
- Нажмите на Настройки
- перейдите на вкладку отладка
- Введите имя пользователя, которое будет вызывать ASP
- Нажмите кнопку сопоставление IP (в противном случае сеанс отладки будет отображаться каждый раз, когда пользователь делает вызов)
- точка останова сеанса активна сразу же приятно нажать, а также
- Поместите внешнюю точку останова туда, где она вам нужна (щелкните значок со знаком остановки и маленьким человечком)
- Проверьте разъем ASP
- точка останова должна вступить в силу, появится окно отладки
- у вас может не быть разрешения на это, если оно не работает, используйте SU53, чтобы узнать, что вы упускаете.
Это должно сработать.
Хитро .. можете ли вы уточнить, что вы подразумеваете под "ошибкой не происходит в se37"?
Означает ли это, что вы не можете воспроизвести данные, которые приводят к вашей проблеме, или что проблема связана с тем, что функциональный модуль вызывается через RFC?
Обычно вы можете использовать se37 для запуска функционального модуля, и есть несколько способов записи различных групп данных в функциональный модуль. Поведение функционального модуля должно быть одинаковым, независимо от того, как он работает. быть вызванным из se37 или через RFC ...
При вызове RFM через SE37 вы неосознанно используете экран выбора SAP. Если у вас есть таблица с заголовком строки при вызове из RFC он может иметь строку заголовка "заполнено"
В случае, если вы вызываете тот же FM из RFC, строка заголовка в initial.
ЦИКЛ В PT_JNC. ВЫХОД. ENDLOOP. или прочитайте таблицу PT_JNC INDEX 1.
поможет заполнить строку заголовкаЭто тонкое различие. Другие простые отличия SAP использует формат даты YYYYMMDD и HH24MISS время
С уважением jnc в Калькутте
Comments