CRMD_ORDERADM_H里的changed_at存放的是实际上也是UTC的时间,只是它在显示给end user比如SE16时,能够自动转换为user local time zone的时间:
例如我修改了Service Order 8000000140:
使用SE17查看发现DB存的是UTC的时间:
之所以用SE16查看能看到change的时间是按照user time zone显示的:
是因为changed_at 对应的demo里的conversion routine在起作用:
双击routine发现它其实是一组function module, 负责处理UTC和local time 的自动转换。
当你使用SE16查看order记录时,会触发output结尾的function module,而用SE17则不会触发。