Troubleshooting Sync Records Smart Service Output Behavior

Certified Associate Developer

I'm using the Sync Records Smart Service.
I want to prepare for a situation where the sync fails due to a temporary network error, even though the value to be updated (in this case, pv!targetTrxId) is correctly set in Data > Inputs > Identifiers.
To handle this, I'm implementing the following:

1. Save the value of "Data" > "Outputs" > "Results" > "Records Updated" into pv!updatedTrxId.
2. In the subsequent XOR gateway, I check:

If a!isNullOrEmpty(pv!updatedTrxId) returns true, proceed to "error script".
Otherwise, proceed to "End Node".

The current settings are as shown in the attached image.

Inputs


Outputs


pv!updatedTrxId

("数字(整数)"=Integer)
("倍数 変数は複数の値を保存できます"=Multiple)

Even though pv!targetTrxId has a value and the sync appears to be successful, the flow still proceeds to "error script".
(pv!updatedTrxId is null…)

Why is this happening?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    There might be 2 possibilities,

    The output path is wrong. There's no Results level in Sync Records Smart Service. Just map Records Updated directly, not Results > Records Updated.
    or
    The Records Updated output is empty if no records change during sync, even if inputs are set. So, the flow goes to error wrongly. Fix this by checking for real errors or sync status, not just if Records Updated is empty.

Reply
  • 0
    Certified Lead Developer

    There might be 2 possibilities,

    The output path is wrong. There's no Results level in Sync Records Smart Service. Just map Records Updated directly, not Results > Records Updated.
    or
    The Records Updated output is empty if no records change during sync, even if inputs are set. So, the flow goes to error wrongly. Fix this by checking for real errors or sync status, not just if Records Updated is empty.

Children
  • 0
    Certified Associate Developer
    in reply to Shubham Aware

    Thank you for your response.
    I have three questions.

    1. Could you please elaborate on what you meant by "Just map Records Updated directly"?
    I' m having trouble identifying where exactly I should configure the mapping to "Records Updated."
    Also, if “Results > Records Updated” cannot be used in this case, in what situations would “Results > Records Updated” be applicable?

    2. I actually updated the data source and then executed a sync for the relevant record, so I don' t believe this is a case of "no records change during sync."
    If my understanding is incorrect, I’d appreciate it if you could point that out.

    3. Is there a way to distinguish between the following two cases and store the result in a process variable?

    [Case A] No records were updated because there were no changes.
    [Case B] No records were updated due to an issue during the record sync.