Неправильное время в документах изменений (элемент данных)
Я создал элемент данных ZDT_NKS_DESCR
и помечены Change Document
при создании для регистрации изменений в таблице WebUI. Все хорошо, но время смены логов неправильное. Это добавляет +3 часа к текущему времени.
Например: если текущее время 10:00, оно регистрируется 13:00 в веб-интерфейсе.
Как я могу это исправить? Кто-нибудь может объяснить, что происходит?
Вот мой элемент данных (примечание: на самом деле я поставил флажок "Изменить документ" позже):
Вот журнал изменений в таблице веб-интерфейса, время должно быть 9:48, 9:48, 9:45:
PS: В веб-интерфейсе часовой пояс правильный.
2 ответа
В программах на основе ABAP, к сожалению, на многих экранах отображаются даты с использованием системного времени SAP (это всегда было большой проблемой). Некоторые модули иногда отображают местное время (согласно времени пользователя) или по местному времени партнера (например, транспортные модули). Таким образом, пользователи должны узнать для каждого модуля или каждого экрана, какая это дата / время.
Даже в таблицах базы данных невозможно быть уверенным, что это за дата / время. Обычно это системное время. Но некоторые модули могут хранить дату / время в соответствии с UTC.
Я предполагаю, что времена документов изменений отображаются в системном времени.
Системное время можно увидеть через классический SAP GUI, в меню System > Status > System time.
Вот мое окончательное решение, основанное на ответе Сандры:
- В
xxxxx_WRITE_DOCUMENT
FM we should changetime_of_change
значение отutime
вsy-uzeit
, ТвойCHANGEDOCUMENT_CLOSE
функция должна выглядеть так:
CALL FUNCTION 'CHANGEDOCUMENT_CLOSE'
EXPORTING
objectclass = 'ZCHD00005'
objectid = objectid
date_of_change = udate
time_of_change = sy-uzeit (it's current system time)
tcode = tcode
username = username
object_change_indicator = object_change_indicator
no_change_pointers = no_change_pointers
EXCEPTIONS
header_insert_failed = 1
object_invalid = 2
open_missing = 3
no_position_inserted = 4
OTHERS = 5.
If it's necessary, you should change the timezone on WebUI. I'm using system timezone, because of this on WebUI->Personalization->Timezone I choose
UTC
from F4.Save and activate your solution!