BookmarkSubscribeRSS Feed
John_Wick
Obsidian | Level 7

Hello experts!

 

We using SAS RTDM data process cell for select row from library. And in test-case using Asia/Almaty timezone.

John_Wick_3-1721406126297.png

 

 

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.

John_Wick_2-1721406003702.png

 

 

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.

John_Wick_1-1721405842847.png

 

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!

1 REPLY 1
JamesAnderson
SAS Employee

Hi John_Wick,

Can you try using an assignment node before the data process to set the value of a variable, and then use the variable in the data process intput mapping?

Cheers

James

How to improve email deliverability

SAS' Peter Ansbacher shows you how to use the dashboard in SAS Customer Intelligence 360 for better results.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 684 views
  • 0 likes
  • 2 in conversation