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

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......
«Свя­зы­ва­ние сче­то­в-фа­ктур и частичных платежей для вы­ра­вни­ва­ния»
Александр Скородумов:
Достаточно интересная и полезная статья, рассказывающая об интерфейсе при выравнивании. Особенно для начинающего консультанта. Думаю, не всем пользователям САП (и внедренцам и бухгалтерам) давно...
«Свя­зы­ва­ние сче­то­в-фа­ктур и частичных платежей для вы­ра­вни­ва­ния»
Константин Блюменталь:
1. Хотелось бы дополнить статью Киса в части того, как отражаются частично выровненные документы в отчетах по отдельным позициям, на примере отчета FBL5N. Предположим, у нас есть частичное...

База знаний

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

Отслеживаем изменения в объектах 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Ксения Максимова (Рейтинг: 111)

А есть какие-то отчеты которые показывают изменения Классификации материалов? На этапе внедрения не была сделана настройка ведения лога изменений Классификации. В последствии когда была проставлена настройка, изменилось чтение из таблицы AUSP, стало работать через INOB, но на это время уже было довольно большое количество разработок где классификация читалась напрямую из AUSP. Или только создание своего отчета? Спасибо.

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

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