Отладка как другой пользователь - PullRequest
3 голосов
/ 18 апреля 2019

Я написал функциональный модуль ABAP, который прекрасно работает, если я выполняю его с моей учетной записью разработчика.

Если другой пользователь выполняет его, он получает пустой результат. Другой пользователь - это RFC-аккаунт, который не может войти в систему с помощью sap gui.

Я не знаю, как это отладить. Как я могу выполнить / отладить функциональный модуль и выдать себя за другого пользователя?

Я использую Windows родной SAP GUI и SE80.

1 Ответ

9 голосов
/ 18 апреля 2019

Если пользователь SAP определен как тип "Диалог" или "Сервис" (код транзакции SU01), то технически целесообразно использовать графический пользовательский интерфейс SAP (войти в систему с этим пользователем и выполнить отладку).

Если пользователь SAP определен как тип "Связь" или "Система", то это вообще невозможно.

Это можно увидеть в качестве меры безопасности: если у вас есть веб-служба, работающая под данным пользователем SAP, не должно быть возможности использовать этого пользователя для прямого использования SAP GUI, чтобы ограничить возможные атаки.

Таким образом, я думаю, что единственное разумное решение - это временно использовать другого пользователя SAP, например, типа «Сервис», или изменить тип пользователя SAP на время отладки.

Можно отладить другого пользователя, выбрав пользователя для отладки, либо через свойства отладки Eclipse ADT, либо через параметры отладки ABAP Workbench ABAP, в зависимости от используемой интегрированной среды разработки.

Другое решение, если у вас есть возможность временно изменить свой код, добавить бесконечный цикл (DO. ENDDO.), отладить работающую программу через транзакцию SM50, меню Администрирование -> Программа -> Отладка, которая должен открыть диалоговое окно отладки, которое указывает на цикл, поместите курсор на строку после цикла и нажмите F12, чтобы продолжить оттуда.

...