Date conversion to timestamp when searching activities
When searching activity with CREATED ON, user in different countries may find different results
Reproducing the Issue
- Logon to WebUI with business role SALESPRO
- Search an activity with Search Criteria “Created on is on or later than” for example 2016.07.01
- In the result list, there are some documents which was has the system date 2016.06.30 returned
- The where clause (it_where) shows:
CRMD_ORDERADM_H~CREATED_AT GE ‘20160630220000 ‘
This is standard design
The time zone of the user is what is taken to do the conversion
In the Function Module CRM_BSP_OIC_1O_SEARCH_FROM_RF, the Form EXTEND_QUERY_FOR_MULTIVALUES will be called. In Form from line 2667 the create_at_range will be handled. Here, there is a conversion using the user time zone.
As orders are stored in the system as UTC time, so if users in UTC+8 time search with “GE Created on is on or later than” 2016.07.01, they will get orders with date started from 2016.06.30 22:00.
if ls_created_at-option = ‘GT’ or ls_created_at-option = ‘LE’.
convert date lv_date time lc_end_time
into time stamp ls_created_at-low time zone sy-zonlo.
525003 – Locator: Time output in UTC
934266 – Problems with time zones and displayed times in 1Order