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

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......
«По­дго­то­ви­те­льные настройки для обе­спе­че­ния со­о­тве­тствия учёта основных средств в SAP ERP тре­бо­ва­ни­ям МСФО»
Татьяна Шевченко:
Мне кажется, уместной будет небольшая демонстрация работы данного решения. В целом различий при первоначальном признании активов по стандартам US GAAP и МСФО не так уж и много. По обоим...
«Тра­нза­кция SM02: сообщения в SAP системе»
Олег Башкатов:
С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)

База знаний

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

Отслеживаем изменения в объектах SAP

13 мая 2013, 13:55

Данная статья написана Дмитрием Кагликом и впервые опубликована на сайте http://www.sapexpert.co.uk на английском языке. Если вы хотите узнавать больше от экспертов из мира SAP раньше других, то, пожалуйста, подпишитесь на обновления на указанном сайте.


 

В SAP существуют сотни, если не тысячи различных объектов. Только в Финансах мы можем создавать, изменять и обрабатывать счета Главной Книги, финансовые документы, МВЗ, МВП, Основные средства и так далее.

Но создание объекта – это не единственный этап его жизненного цикла. Объект можно редактировать и, иногда, удалять. Некоторые изменения могут иметь серьезные последствия для связанных процессов. Когда это случается, всегда возникает вопрос как у пользователей, так и у группы поддержки: кто и почему это сделал?

Если вопрос «почему» остается исключительно на совести ответственного лица, то SAP зачастую может помочь ответить на вопрос «кто, когда и что поменял». Многие объекты в SAP ERP имеют «документы изменений», упомянутые где-то в меню или в самой транзакции ведения.

 

Но что делать, если Вам нужно отследить изменения сразу к целому массиву объектов одновременно?

Для некоторых объектов это сделать легко. Например, Вы можете массово отслеживать изменения в основных данных кредиторов и дебиторов с помощью транзакций S_ALR_87012089 и S_ALR_87012182 соответственно.

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

И тут наступает время небольшого технического волшебства.

SAP хранит историю изменений большинсова стандартных объектов в двух таблицах: CDHDR и CDPOS. В терминах SAP изменение – это тоже документ. Поэтому каждое изменение имеет заголовок CDHDR и позиции CDPOS. Таким образом, обратившись к таблицам CDHDR и CDPOS, Вы сможете увитеть кто, что и когда изменил.

Однако, теперь самое место поставить большой желтый знак «ВНИМАНИЕ!».

Никогда! Никогда не пытайтесь создать отчет с использованием таблиц CDHDR и CDPOS без должного понимания того, как информация по изменениям хранится в данных таблицах. Прежде всего, определите для своего объекта класс и идентификатор, и то как именно генерируется идентификатор. В этом Вам может помочь таблица TCDOB.

Например, изменения в МВЗ хранятся с Классом Объекта KOSTL и Идентификатором Объекта, состоящим из объединенного кода Контроллинговой Единиы и кода МВЗ. В то же самое время, изменения в основных данных банков записываются с Классом Объекта BANK и Идентификатором Объекта , состоящим из номера манданта, страны и ключа банка. Не забывайте в последнем случае, что код страны технически состоит из 3 символов, даже если большинство стандартных стран имеют всего 2-буквенный код. Поэтому ожидайте увидеть пробел между кодом страны и ключом банка, если Вы используете стандартный набор стран: RU, UA, KZ или US.

Идентификатором Объекта , состоящим из номера манданта, страны и ключа банка. Не забывайте в последнем случае, что код страны технически состоит из 3 символов, даже если большинство стандартных стран имеют всего 2-буквенный код. Поэтому ожидайте увидеть пробел между кодом страны и ключом банка, если Вы используете стандартный набор стран: RU, UA, KZ или US.

Теперь, когда мы определились с набором правил, Вы можете написать короткую спецификацию для разработки отчета, показывающего изменения в интересующих Вас объектах.

Вы можете спросить, почему бы не использовать стандартные простые средства вроде SAP Query или Quick Viewer, чтобы связать эти 2 таблицы между собой и вывести данные в отчет? Есть как минимум 3 причины, почему этого делать не нужно.

  1. CDPOS – это кластерная таблица, которая недоступна как источник данных в этих простых инструментах создания отчетов. Одного этого уже должно быть достаточно.
  2. В SAP Query или Quick Viewer нет простого способа объединения текстовых строк, чтобы задать выборкуу только по одному или нескольким конкретным объектам. Я сомневаюсь, что Ваш пользователь правильно введет Идентификатор «200ZA 506009», если он хочет посмотреть изменения по банку 506009 в Южной Африке.
  3. С другой стороны, SAP Query или Quick Viewer не позволяют легко разделить значения из одного технического поля в несколько логических. Я сомневаюсь, что Ваш пользователь будет рад увидеть измения к объекту «200 ZA 506009», когда его интересуют изменения для банка 506009 в Южной Африке.

Хотите знать больше? Подписывайтесь на будущие обновления! Или задавайте свои вопросы в разделе You need our help сайта sapexpert.co.uk.

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

Василь Мандрика (Рейтинг: 75) 11:29, 21 июня 2013

Есть хорошый отчет по изменениям - RMCLAEBL
17:25, 07 ноября 2013

Каглик Дмитрий (Рейтинг: 5160)

Василь, в общем-то, этот отчет - надстройка над CDHRD/CDPOS. Без знания объекта изменения его тоже не сильно погоняешь. :-)
Но в любом случае спасибо за дополнение!

Марина Саржанова (Рейтинг: 52) 15:36, 04 апреля 2014

А есть транзакции для массового отслеживания изменений материалов? Может кто подскажет?
16:10, 04 апреля 2014

Олег Башкатов (Рейтинг: 8042)

Отчет RSSCD100, класс объектов: MATERIAL.
 
Далее даты, и за счет имени таблицы - ракурс.
16:19, 07 апреля 2014

Марина Саржанова (Рейтинг: 52)

Олег, спасибо за подсказку. Но видимо этот отчет не предназначен для пользования обычными юзерами. Может быть есть какие-то стандартные транзакции, такие как S_ALR_87012089 и S_ALR_87012182, только для материалов?
20:25, 15 апреля 2014

Олег Башкатов (Рейтинг: 8042)

в MM60 можно увидеть дату последнего изменения, но нельзя задать её на селекционном экране.
в таблице MARA можно увидеть последнее изменение и ракурс, который изменялся.
 
В конкретном материале (в транзакции MM03) можно перейти: среда -> Просмотреть изменения.
или MM04 -> номер материала и получим аналогичный список.
 
думаю, чтобы было так, как и в "S_ALR_87012089 и S_ALR_87012182, только для материалов" нужно создавать свой отчет; мне видится, что он не слишком трудоёмок.

Константин Локшин (Рейтинг: 112) 16:42, 08 декабря 2015

Есть достаточно навороченный стандартный отчет по документам изменений  - см тр AUT10 (после запуска жмем F9, чтобы перейти в расширенный режим)