Текущее время: Вт, июн 24 2025, 15:30

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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