How to Sync Date/Datetime in Exalate for Salesforce

    In this article, we describe how to sync Date and DateTime fields in Exalate for Salesforce.

    Some instances like Salesforce that rely on customKeys or internal map do not support sync of custom fields like date/DateTime from the go.

    It is required to convert the value into a Long. The incoming script will be different depending on the sending side.

    As an example, we will use Jira to Salesforce sync:

    Jira Outgoing sync rules

    replica.customFields."DateCf" = issue.customFields."DateCf"
    replica.customFields."DateTimeCf" = issue.customFields."DateTimeCf"

    Salesforce Incoming sync rules

    import java.text.SimpleDateFormat;
    import java.text.DateFormat;
     
    def dateCustomFieldValue(replicaCustomField) {
        def datePattern = "yyyy-MM-dd HH:mm:ss.S"; // define the desired date/time format
        String dateString = replicaCustomField.value;
        if (dateString) {
            dateString = dateString.replaceAll("\"","").trim();
            DateFormat formatter = new SimpleDateFormat(datePattern);
            date = formatter.parse(dateString);
            return date.time;
        }
    }
    
    entity.date__c = (Long) dateCustomFieldValue(replica.customFields."DateCf")
    entity.datetime__c = (Long) dateCustomFieldValue(replica.customFields."DateTimeCf")


    Salesforce Outgoing sync rules 

    replica.date__c = entity.date__c
    replica.datetime__c = entity.datetime__c


    Jira Incoming sync rules

    issue.customFields."DateCf"?.value = (Long) replica.date__c
     issue.customFields."DateTimeCf"?.value = (Long) replica.datetime__c


    Have more questions? Ask the community