Как ограничить работу ABAP программы?

Как ограничить работу ABAP программы?

Как ограничить работу ABAP программы?

Пояснение к вопросу

Рискну отнести данную заметку к категории userhack-ов. Представим себе ситуацию, в которой: вы реализовываете какую-то ABAP программу (программа A), отдавая себе отчет в том, что в обозримом будущем этой программой придется перестать пользоваться, и вместо нее будет реализована другая (программа B). Ключевое здесь то, что программой A-таки придется перестать пользоваться.

В тот момент, когда необходимо будет начать использовать новую программу (программу B), допускаем, что старую (программу A) невозможно будет удалить из пользовательской роли (почему такое происходит здесь разъяснено не будет). Задача консультанта - предотвратить выброс желчи в свою сторону, разместив соответствующее информационное сообщение для пользователя. Давайте рассмотрим какой-нибудь пример.

Один из довольно радикальных вариантов ответа на вопрос "Как ограничить работу ABAP программы?" рассмотрен в заметке Как сгенерировать дамп в ABAP-программе? Спойлер: не рекомендую!

Исходные данные

У вас есть бесполезная ABAP программа A

И не менее бесполезная программа B

Постановка задачи

Ограничить работу ABAP программы A, проинформировав пользователя о том, что вместо нее необходимо использовать программу B.

Решение задачи

Добавьте техническое наименование обеих ABAP программ в соответствующие поля таблицы DELREPS (транзакция SM30)

В программу A, выполнение которой необходимо запретить, добавьте несколько строчек кода, которые можно найти, посмотрев где используется сообщение вида PP 034

Так будет выглядеть программа A после внесения в нее изменений

Тестирование