更改文档中的错误时间(数据元素)
Wrong Time in Change Documents (Data Element)
我创建了数据元素 ZDT_NKS_DESCR
并在创建时标记了 Change Document
以记录 Web 上的更改UI table。一切都很好,但更改日志记录的时间错误。它将当前时间增加 +3 小时。
例如:如果当前时间是 10:00,它正在 Web UI.
上记录 13:00
我该如何解决?任何人都可以解释发生了什么吗?
这是我的数据元素(注意:实际上我稍后勾选了 "Change Document" 复选框):
这里是Web上的变更记录UItable,时间应该是9:48,9:48,9:45:
P.S:网络上 UI 时区正确。
不幸的是,在基于 ABAP 的软件中,许多屏幕使用 SAP 系统时间显示日期(这一直是个大问题)。有些模块有时会显示本地时间(根据用户的时间)或根据合作伙伴的本地时间(例如交通模块)。所以用户必须了解每个模块或每个屏幕是什么样的date/time。
即使在数据库表中,也无法确定它是哪种 date/time。通常是系统时间。但是有些模块可能会根据UTC存储date/time。
我猜是系统时间显示的次更改文件。
系统时间可以通过经典的 SAP GUI 查看,在菜单系统 > 状态 > 系统时间中。
这是我基于 Sandra 回答的最终解决方案:
- 在
xxxxx_WRITE_DOCUMENT
FM 中,我们应该将 time_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.
如果有必要,您应该在WebUI 上更改时区。我正在使用系统时区,因为在 WebUI->Personalization->Timezone 上我选择 UTC
from F4.
保存并激活您的解决方案!
我创建了数据元素 ZDT_NKS_DESCR
并在创建时标记了 Change Document
以记录 Web 上的更改UI table。一切都很好,但更改日志记录的时间错误。它将当前时间增加 +3 小时。
例如:如果当前时间是 10:00,它正在 Web UI.
上记录 13:00我该如何解决?任何人都可以解释发生了什么吗?
这是我的数据元素(注意:实际上我稍后勾选了 "Change Document" 复选框):
这里是Web上的变更记录UItable,时间应该是9:48,9:48,9:45:
P.S:网络上 UI 时区正确。
不幸的是,在基于 ABAP 的软件中,许多屏幕使用 SAP 系统时间显示日期(这一直是个大问题)。有些模块有时会显示本地时间(根据用户的时间)或根据合作伙伴的本地时间(例如交通模块)。所以用户必须了解每个模块或每个屏幕是什么样的date/time。
即使在数据库表中,也无法确定它是哪种 date/time。通常是系统时间。但是有些模块可能会根据UTC存储date/time。
我猜是系统时间显示的次更改文件。
系统时间可以通过经典的 SAP GUI 查看,在菜单系统 > 状态 > 系统时间中。
这是我基于 Sandra 回答的最终解决方案:
- 在
xxxxx_WRITE_DOCUMENT
FM 中,我们应该将time_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.
如果有必要,您应该在WebUI 上更改时区。我正在使用系统时区,因为在 WebUI->Personalization->Timezone 上我选择
UTC
from F4.保存并激活您的解决方案!