Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tSalesforceOutput vs tSalesforceOutputBulkExec for Date field : a timezone problem

Dear community,

 

After having worked with Salesforce components, I conclued to this two rules :

  1. When using tSalesforceOutputBulkExec : I must be sure that my Date field values are in timezone "UTC". (It feels OK to me because Salesforce stores every DateTime with UTC timezone)
  2. When using tSalesforceOutput : I must be sure that my Date field values are in timezone "Europe/Paris" (my timezone). (It feels strange to me)

My first problem here is to answer the questions below:

  • When using tSalesforceOutput,
    • who (Salesforce or Talend) knows my timezone ?
    • how does it get that information ?

I have already tested to modified the timezone of

  • My PC
  • My Salesforce User

and it didn't affect the way my Date field values had been processed...

 

Labels (4)
6 Replies
TRF
Champion II
Champion II

The timezone depends on the user defined for the salesforce connection.

You need to get the value from the User object.

Anonymous
Not applicable
Author

Thank you for your answer TRF,

 

I tried again to modify the Salesforce user timezone (field User.TimeZoneSidKey) with a timeZone (Asia/Hong_kong GMT+08) very different of "Europe/Paris" (GMT +01). I verified with Workbench, it has been well applied. I modified the user I am using for my connection.

 

I tried to : get a single record from an object : ID+MyDateTimeField with a tSalesforceInput, and then without any transformation, to update the record with tSalesforceOutput.

The result : I get +1hour to my MyDateTimeField as result

 

So it make me think that editing the Salesforce user timezone is not the right solution...

TRF
Champion II
Champion II

Can you share the values used for the example?
Usually I set the timezone for the user used for integration to GMT and I convert all datetime from the original timezone to GMT before to push records to salesforce. This is usefull when records you want to load into salesforce are not aligned on a single timezone.
Anonymous
Not applicable
Author

Here is an example of a run with "Europe/Paris" configure for my Salesforce User (as for my PC): Please observe the +1hour on the datetime field value

0683p000009M8w0.pngNo transform action, but the datetime field value changes

 

By the way, I have observed that my Datetime field value doesn't change when I configure my OS Timezone as "(UTC+08:00) Beijing, Congqing, Hong Kong (R.A.S.), Urumqi".

The OS Timezone seems to be very related to this case

TRF
Champion II
Champion II

Hum...

What when you query the value using the Salesforce Developer Console?

Anonymous
Not applicable
Author

I have never used Salesforce Developer Console.

I will be able to do so in few days, then I will answer to you! Thank you