Прямая запись в таблицы SAP через SE16N_INTERFACE или кража фаворитов

В работе консультанта ERP-системы SAP часто возникает желание исправить какое-либо значение в таблице напрямую. Это желание возникает, как правило, в трех случаях или от лени сторнирования (удаления) документов, или от незнания процесса, или, наоборот, от прекрасного понимая процессов, связей таблиц и возможных последствиях такого вмешательства в базу данных. Хотя здесь я забыл указать ещё один случай – из-за глупости, но искренне верю, что таких консультантов единицы.

На одном проекте у меня был ключевой пользователь, которого можно поставить в пример всем пользователям. Прекрасное понимание процессов, адекватные и редкие вопросы, умение обучать конечных пользователей и наличие хорошо подобранных фаворитов, которые отвечали всем процессам пользователя. Я решил этот список позаимствовать. Конечно, самое просто это попросить пользователя их выгрузить и передать в виде файла, но зачем нам просить пользователя, когда мы можем взять и никому об этом не сказать.


Подкатом рассказ не о том, как я крал фавориты, а пример прямой записи в таблицы.



Определим таблицу, требующую редактирования


У каждого консультанта есть свои рычаги для поиска имени нужной таблицы. Кто-то использует F1, кто-то гуглит, а профи помнят их наизусть(шутка конечно). В данном разделе я не буду описывать способы как искать нужные таблицы, просто сообщу, что писать мы будем в таблицу SMEN_BUFFC. Именно она хранит фавориты пользователя.

Хочу сразу сказать, что данная таблица хранит фавориты в совершенно ином формате по сравнению с выгруженными фаворитами в локальный файл. То есть моя попытка просто выгрузить эту таблицу в excel и преобразовать в нужный формат для загрузки провалилась.

Функциональный модуль


Запускаем транзакцию SE37 «ABAP-функциональные модули» и выполняем ФМ SE16N_INTERFACE.


В самой ФМке нужно только написать имя нашей таблицы SMEN_BUFFC и поставить «Х» напротив I_EDIT.

Запускаем нашу ФМку.

Ты ещё ничего не сделал. Есть шанс остановиться


На этом этапе лучше остановиться и ещё раз подумать, и дать отчет своим действиям. Говорить о последствиях такого вмешательства в таблицы не буду и так понятно, что это может вызвать крах всей системы. Но если вы точно знаете что делаете, то идем дальше, но я предупреждал.

Добавляем, удаляем, изменяем


В результате работы ФМки у нас открывается наша таблица на редактирование. Здесь можно добавлять, удалять строки или корректировать значения.
В итоге я просто взял все фавориты пользователя из таблицы SMEN_BUFFC и вставил их в эту же таблицу, но предварительно изменив логин на свой.

Не пугайся, консультант, все это я проделывал не в продуктиве, а на домашнем сервере. Ведь после того как получил хорошо структурированные транзакции, я и их просто выгрузил в локальный файл и загрузил в нужной системе.

Эпилог


Есть и другие способы править таблицы, которые могут быть проще, но в моей истории я пользовался ФМкой SE16N_INTERFACE.
Как я и говорил в начале, все можно было сделать намного быстрее, а главное безопаснее, но это было бы не интересно.
Поделиться публикацией

Комментарии 6

    0
    Есть транзакция «n», полная замена этого функционального модуля, если после запуска написать комманду &sap_edit, то включится режим редактирования таблицы.
      +1
      Видно вы сидите на старых версиях, в новой данная транзакция выпилена… И правильно сделано…
      +3
      1. Не учите плохому, редактировать таблицы — зло, редко когда к этому необходимо прибегать, а не опытному консультанту, не знающему полный процесс (что последует и на что влияет редактируемое значение) так вообще лучше забыть о таком.
      2. Для своих таблиц есть ракурсы ведения.
      3. Посмотрите в сторону ролей (PFCG), там есть настройки меню и обычно, при внедрении системы, в ролях прописывается набор меню и полномочия для доступа к тем или иным транзакциям для разных типов пользователей (ну в общем это понятно...).
        0
        1. Мне кажется, я сделал достаточно предупреждений об опасности данного способа.
        2. Так это понятное дело. Вопрос про «не свои» таблицы.
        3. В PFCG ведется меню пользователя в зависимости от его ролей, а не в зависимости сквозного бизнес-процесса. Согласен, что от туда тоже есть вариант вынести, но речь опять же идет не совсем о меню пользователя, а о возможности писать в таблицы.
        0
        Как представитель команды сопровождения могу только сказать — надо стрелять за использование этого ФМа в продуктиве. Приходилось видеть как одно чудо правило диапазоны номеров напрямую в таблице, так как про тр. SNRO ему не говорили.
        P.S. Не всегда к сожалению удается продавить отключение лишних полномочий у проектной команды (по политическим причинам)
          0
          Я вот не могу представить себе такого сотрудника, который понимает что такое диапазоны номеров, в какой таблице они лежат, как в неё залезть и при этом ничего не слышать про SPRO. Это действительно чудо.
          И никого не нужно стрелять, а просто нужно ограничивать доступ, но согласен, не всегда это можно отследить.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое