Skip to main content

Hi everyone,

I have a question regarding the use of onBehalfOfUser when datamapping and wonder if anyone else has experienced this issue, and if there are specific considerations or steps that need to be taken when using this?

Whenever I try to use onBehalfOfUser in an Assyst Request datamapper, the resource returns as "Update Needed."

I have logged a ticket on the IFS assystNet, but I’m wondering if anyone else has experienced this and what workarounds exist, if any.

Thanks in advance!

If you check the import log you will be able to find which value needs to be updated.
If you can send the import log, we can investigate and probably give you a workaround


Thank you very much for the reply 🙂

 

However, this question has already been answered in IFS Ref 445316, where it was confirmed as a bug. This bug is expected to be addressed in the 1.10 release.

 

To help anyone else who might face the same issue, I’ll provide the context and a workaround:

This issue was encountered in IPaaS 1.8, and the reason for the issue seems to be that onBehalfOfUser is not an actual attribute on any Assyst entity, but is evaluated as one during import update evaluation. As a result, ETM import evaluation gets a NULL value from onBehalfOfUser, and will always sets the record to be updated as the outbound.onBehalfOfUser has a different value than NULL.

Example from karaf.log:

2025-03-26T08:24:03,125 :CET] | INFO | Camel (importToolProcessingContext) thread #28 - ImportRecordSplit_MEDIUM | DatamapperProcessor | 188 - com.axiossystems.integration.importtool - 1.8.0.STABLE2024-04-12T114824Z| Change in value of field onBehalfOfUser (from null to ZZ_CONTACT_USER_GATEWAY). Record marked as requiring update.

The workaround is to set a value in the outbound.self.onBehalfOfUser  to so that the import update check “finds a value” from Assyst that is the same as in the imports outbound.onBehalfOfUser 

 

The information as conveyed in followup to the support request:

//Fudge the self (AKA Record to Update) data and create a value for onBehalfOfUser
//to avoid redundant dirty checks


outbound.self.onBehalfOfUser = 'SOME_USER';


//use that value to set the onBehalfOfUser - Don't Repeat Yourself


outbound.self.onBehalfOfUser;

 

 

PLEASE NOTE - we can't guarantee that this  workaround will work in any  future, unreleased version.

 

 


Reply