Hello experts!
We using SAS RTDM data process cell for select row from library. And in test-case using Asia/Almaty timezone.
If we enter the date manually or through a calendar in the data processing node, when we run the test case, the date will be set to UTC and ignore the time zone specified in the test case.
Part of log:
------------------
2024-07-16 20:51:54,281 TRACE sasadm SASDSDesignRepository Test Case 1 com.sas.rtdm.implementation.resource.d bcp.DSPoolingConnection - Create Statement completed :302705 nanos. 2024-07-16 20:51:54,331 TRACE sasadm SASDSDesignRepository Test Case 1 com.sas.rtdm.implementation.TableCache JDBCLoader TableCacheJDBCLoader.select() times (nanos) [Prepare: 943235 Execute: 49175167 SQL: SELECT MONTH, DAY, NPS_SURVEY_DAY FROM EXP_USER.NPS_CALENDAR WHERE DAY = ? Where Clause Values: {java.util.GregorianCalenda r[time=1720983600000, areFieldsSet=true, areAllFieldsSet-false, lenient=false, zone-sun.util.calendar.ZoneInfo[id -"UTC", offset-0, dstSavings-0, useDaylight-false, transitions-0, lastRule-null], firstDayOfWeek-1, minimalDaysInFir stWeek=1, ERA=1,YEAR=2024, MONTH=6,WEEK_OF_YEAR=29,WEEK_OF_MONTH=3, DAY_OF_MONTH=14,DAY_OF_YEAR=196, DAY_OF_WEEK= 1, DAY OF WEEK IN MONTH=2,AM PM=1, HOUR=7, HOUR OF DAY=19, MINUTE=0, SECOND=0,MILLISECOND=0, ZONE OFFSET=0,DST OFFS ET=0]} Results: RTDMTable Start
------------------
However, if you pass the date as a calculated variable, such as the campaign start date, the timezone specified in the test case will apply.
Part of log:
------------------
2024-07-19 21:02:40,815 TRACE sasadm SASDSDesignRepository Test Case 1 com.sas.rtdm. implementa
tion. TableCacheJDBCLoader - TableCacheJDBCLoader. select () times (nanos) [Prepare: 95685063 Execu
te: 48901484 SQL: SELECT MONTH, DAY, NPS SURVEY DAY FROM EXP USER. NPS CALENDAR WHERE DAY = ? W
here Clause Values: {java.util.GregorianCalendar[time=1720983600000, areFieldsSet=true, areAllFi
eldsSet=true, lenient=false, zone=sun.util.calendar. ZoneInfo[id="Asia/Almaty",offset=18000000,ds
tSavings=0, useDaylight=false, transitions=54, lastRule=null], firstDayOfWeek=1, minimalDaysInFirst
Week=1, ERA=1, YEAR=2024, MONTH=6,WEEK OF YEAR=29,WEEK OF MONTH=3, DAY OF MONTH=15, DAY OF YEAR=197
,DAY OF WEEK=2, DAY OF WEEK IN MONTH=3, AM PM=0, HOUR=0, HOUR OF DAY=0, MINUTE=0, SECOND=0, MILLISECO
ND=0,ZONE OFFSET=18000000, DST OFFSET=0]} Results: RTDMTable Start
------------------
How can we enter the date manually with correct datatime from test-case or server timezone?
Maybe this is how it should work. That any date entered manually or through a calendar would always be in UTC. However, it is strange that this is not the case for calculated variables, as it can lead to unexpected results.
We will be grateful for any useful information and any thoughts on this matter!