Текущее время: Ср, июл 23 2025, 07:21

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 11:42 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Добрый день,

Из PI/XI приходит айдок с данными для Sales Order-a и с именем юзера в сторонней системе, которого нету в САПе. При получении айдока меняется Sales Order, и хочется как-то логить изменения, т.е. CDHDR/CDPOS. Чтобы не мучиться с добавлением сотен новых юзеров в САП, задумал поюзать инклюд MV45AF0C_CHANGE_DOCUMENT_CREAT:
Code:
* set uname and tcode from external call
  CALL METHOD cl_change_document_util=>get_external_call_data
    IMPORTING
      ev_uname = lv_uname
      ev_tcode = lv_tcode.

и внутри метода - энхансмент:
Code:
  METHOD get_external_call_data.

    IF gv_uname IS INITIAL.  "стандарнтый саповский код
      ev_uname = sy-uname.
    ELSE.
      ev_uname = gv_uname.
    ENDIF.

    IF gv_tcode IS INITIAL.
      ev_tcode = sy-tcode.
    ELSE.
      ev_tcode = gv_tcode.
    ENDIF.

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ENHANCEMENT 1  Z_USERNAME.    "active version
*
  IF <некоторое условие>.
    ev_uname = "Карл Маркс".
  ENDIF.

ENDENHANCEMENT.
  ENDMETHOD.


Вопрос - грозит ли такой фокус чем-нибудь страшным?
В тестовой системе работает на ура. Но нервирует сам факт такого системного чита как запись в лог несуществующего юзера.

Заранее спасибо!

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 12:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А чем не подходит RFC-пользователь, под которым обрабатываются входящие IDOC-и?

Про несуществущих юзеров лучше поговорить с PM-ом заказчика - пусть определит правила для таких документов.
Ему потом объясняться с аудиторами и SAP-ом.

И по-хорошему нужно делать расширение для обработки входящего IDOC типа Sales Order, в котором определять имя пользователя для change log и устанавливать его с помощью метода cl_change_document_util=>set_external_call_data.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 12:43 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Удав написал(а):
И по-хорошему нужно делать расширение для обработки входящего IDOC типа Sales Order, в котором определять имя пользователя для change log и устанавливать его с помощью метода cl_change_document_util=>set_external_call_data.


Есть, все есть! Как раз из расширения для обработки вызывается БАПИ, изменяещее Sales Order, по его выполнению и выполняется cl_change_document_util=>set_external_call_data.

Здесь речь идет по большей части о том, не несет лм за собой запись в changelog несуществующего юзера следующие последствия:
- визит злого аудитора с плеткой
- сбой в каких-то критических узлах всей САП-системы

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 13:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
dedzinatajs написал(а):
Здесь речь идет по большей части о том, не несет лм за собой запись в changelog несуществующего юзера следующие последствия:
- визит злого аудитора с плеткой
- сбой в каких-то критических узлах всей САП-системы

1. SAP при измерениях пользователей может просмотреть change log и выставить претензии по нарушению количества лицензий.
2. Никаких сбоев быть не должно. Change log - это всего лишь архив изменений.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 17:41 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Испугался пункта №1, переделал с энхансментами и дополнительным Z-полем в таблице CDHDR (стыдливо назвал ее "контрагент из системы N"). Это считается нормальным с точки зрения SAP-a или все равно возникнут вопросы?

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Вт, мар 31 2015, 20:29 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Зачем в CDHDR его писать :?:
Если очень нужно идентифицировать внешнего пользователя, добавьте Z-поле "Владелец документа" в таблицу VBAK, поставьте на элементе данных для него галочку "Документ изменений" и заполняйте в процедуре USEREXIT_MOVE_FIELD_TO_VBAK. Он сам будет записываться в документы изменений. :wink:
Не надо ломать стандартный механизм работы документов изменений.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение Change Documents (CDHDR) с произвольным именем пользователя
СообщениеДобавлено: Ср, апр 01 2015, 22:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Нет, в таком случае - как вы предлагаете - в change log будет запись наподобие:
Code:
Date         Change description           User
01.04.2015   Changed Incoterms            INTSYS
01.04.2015   Changed field ZFIELDUSER     INTSYS 


А с дополнительным Z-полем в таблице CDHDR я получил красивый ALV в стандартном change log-e примерно такого вида:
Code:
Date         Change description              User       Agent in System X
30.03.2015   Changed Incoterms               V_KEDOV    [пусто]
31.03.2015   Changed port of loading         INTSYS     John Doe
01.04.2015   Changed Incoterms               INTSYS     Sasha Grey


То есть - определенный юзер из системы X прислал айдок, система по этому айдоку внесла изменения в Sales Order и залогировала в change document, кто именно этот айдок прислал. И при этом формально соблюдено требование SAP-a по числу юзеров 8)

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB