2
1
0

Hello, 


I was wondering if there is a way to store data in a variable/temp field on Exalate while sending information from SF to ADO.


The data will not be displayed on the ADO side, it will just be stored in the temp field on Exalate and used to store some data required to trigger certain events while sending information back to SF side.Ex. When closing a case, I need to store the AccountID, AffiliateID, etc for a case, but I do cannot display these information on ADO side right now (assuming they do not have these fields available on the ADO side). I know this could be accomplished by having fields created on ADO side and store the data on it, but I was just wondering if this is feasible using some kind of temp fields on Exalate.


Cheers, 

George 

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      Hello, George Smith ,

      Thanks for asking.
      In this particular case, I'd actually suggest avoiding to use extra storage and use the info already available in the Exalate sync metadata.

      Outgoing sync:

      def await = { f -> scala.concurrent.Await$.MODULE$.result(f, scala.concurrent.duration.FiniteDuration.apply(1, java.util.concurrent.TimeUnit.MINUTES)) }
      def toList = { s -> scala.collection.JavaConverters.bufferAsJavaList(s) }
      def toReplica = { IPersistentReplica r ->
          if (r == null) {
              return null
          }
          def logServ = new com.exalate.replication.services.utils.LoggingService()
          def hubObjConvServ = new com.exalate.hubobject.v1.HubObjectConversionService(null, logServ)
          def replicaHelper = new com.exalate.replication.services.hubobject.ReplicaHelper(hubObjConvServ)
          replicaHelper.toNonPersistentReplica(r)
      }
      List<ITwinTrace> tts = toList(await(syncHelper.twinTraceRepository.findTwinTracesByIssueId(entity.id, "issue", [:])))
      tts = tts.findAll { tt -> tt.connection.name == "foo_to_bar" }
      def tt = tts.find { tt -> tt.remoteReplica != null }
      def remoteReplica = toReplica(tt?.remoteReplica)?.payload?.hubIssue
      
      
      def ACCOUNT_ID = remoteReplica."AccountID"
      def AFFILIATE_ID = remoteReplica."AffiliateID"

      Let me know, how it goes.
      Happy Exalating!

      1. Serhiy Onyshchenko

        Should also work for any node but Jira on-prem

      CommentAdd your comment...