Добрый день,
Из 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.
Вопрос - грозит ли такой фокус чем-нибудь страшным?
В тестовой системе работает на ура. Но нервирует сам факт такого системного чита как запись в лог несуществующего юзера.
Заранее спасибо!