ABAP RFC Отладка - PullRequest
       19

ABAP RFC Отладка

2 голосов
/ 02 февраля 2009

Я разработчик 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 ]

5 голосов
/ 03 февраля 2009

Полагаю, вы используете довольно свежую версию sap (4.7+) Сделайте следующее:

  • Получите имя пользователя, которое делает RFC-вызов в SAP в ASP
  • Запустите SE37, перейдите в раздел кода вашего RFC
  • Посмотрите на меню сверху, нажмите «Утилиты»
  • Нажмите на настройки
  • Перейти на вкладку «Отладка»
  • Введите имя пользователя, который будет звонить из ASP
  • Нажмите IP Matching (в противном случае сеанс отладки появляется при каждом вызове любого пользователя)
  • Точка прерывания сеанса, активная немедленно, тоже приятно нажать
  • Поместите свою внешнюю точку останова туда, где она вам нужна (щелкните значок со знаком остановки и человечком)
  • Проверьте свой коннектор ASP
  • Точка останова должна вступить в силу, появится окно отладки
  • Возможно, у вас недостаточно прав для этого, если это не работает, используйте SU53, чтобы узнать, что вам не хватает.

Это должно сработать.

0 голосов
/ 21 ноября 2009

Когда вы вызываете RFM через SE37, вы неосознанно используете экран выбора SAP. Если у вас есть таблица с заголовком при вызове из RFC строка заголовка может быть «заполнена»

В случае, если вы вызываете тот же FM из RFC, строка заголовка в исходном.

LOOP AT PT_JNC. ВЫХОД. ENDLOOP. или ПРОЧИТАЙТЕ ТАБЛИЦУ PT_JNC ИНДЕКС 1.
поможет заполнить строку заголовка

Это тонкая разница. Другие простые различия: SAP использует формат даты ГГГГММДД и время HH24MISS

С уважением JNC в Калькутте

0 голосов
/ 02 февраля 2009

Хитрый ... Вы можете уточнить, что вы подразумеваете под "ошибка не происходит в se37"?

Означает ли это, что вы не можете воспроизвести данные, которые приводят к вашей проблеме, или что проблема связана с тем, что функциональный модуль вызывается через RFC?

Обычно вы должны иметь возможность использовать se37 для запуска функционального модуля, и есть несколько способов записать различные комбинации данных в функциональный модуль. Поведение функционального модуля должно быть таким же, относительно вызова из se37 или через RFC ...

...