Иногда возникает ситуация когда при тестировании того или иного функционального модуля необходимо после его работы совершить обновление базы данных — вызвать commit work. Для того чтобы это сделать можно воспользоваться очень простым трюком. В SE37 заходим в меню ФМ -> Тест -> тестовые последовательности:

И указать в конце последовательности вызовов BAPI_TRANSACTION_COMMIT:

Работа с MIME репозитарием через ABAP возможна используя класс:  cl_mime_repository_api. Пример его использования:

Иногда возникают ситуации когда прав на запуск той или иной транзакции в системе нет, а права на отладку системы имеются, обойти ограничение на запуск, без изменения полномочий, можно следующим образом:

  • Ставим точку в ФМ: SMTR_KERNEL_CHECK_AUTHORITY
  • Нажимаем F7, чистим P_CANCEL_FLAG
Другая часто встречающаяся ситуация: есть полномочия на запуск программ, но нет на запуск функций, идем в SE38 и запускаем — RSFUNCTIONBUILDER.

 

Если у вас нет полномочий на «отладку системы», а есть простая отладка, и есть полномочия на SE37, заходим в ФМ — RS_TRANSACTION_TEST, ставим точку после проверки полномочий — ‘AUTH_CHECK_TCODE’ ID ‘TCODE’ FIELD objectname, меняем sy-subrc на 0 и вуаля 😉

Еще более простой обход проверки полномочий, даже не имея прав на отладку вы можете запустить транзакцию используя ФМ: CC_CALL_TRANSACTION_NEW_TASK.

Обновлено: способ с запуском ФМ CC_CALL_TRANSACTION_NEW_TASK пофиксен нотой безопасности.

Во многих компаниях на начальный экран (тот что после авторизации) с правой стороны помещают свой логотип, делается это следующим образом:

  1. Через транзакцию SMW0 загружают новое изображение
  2. Через ведение ракурса (SM30) — SSM_CUST указывают имя загруженного изображения — START_IMAGE
  3. Устанавливают значение HIDE_START_IMAGE — в NO.

В этом же ракурсе можно отключить использование SAP меню — SAP_MENU_OFF или пользовательские меню — ALL_USER_MENUS_OFF. Для настройки стандартного SAP меню используется транзакция — SSM2.

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

При использовании ФМ — REUSE_ALV_FIELDCATALOG_MERGE может возникнуть ситуация, когда добавленное в каталог новое поле не будет отображено в ALV, необходимо сбросить буфер ALV, для этого используйте программу: BCALV_BUFFER_DEL_SHARED или BALVBUFDEL.

Присвоение к CHAR типа FLOAT согласно справке возможно и напрямую, но для того чтобы задать дополнительные параметры преобразования можно использовать следующие ФМ:

Или через строковые шаблоны.