and more in a single search tool across platforms. Read the announcement here. |
11/05/2023 04:48 PM - last edited on 11/05/2023 11:56 PM by Sunil
Dear All,
We have configured the ADSI connector and have imported the proxy email addresses to a account custom property attribute. Post that, we have created a Sav4Sav connection to execute an analytics and promote attributes from AD to relevant user object. The process is also used to import proxy email address from the custom property (account attribute) to User_attributes table.
We are seeing a strange behaviour where the proxy email address update happens only for the last few users processed by the Sav4Sav connection. Please find the screenshot of the log below,
As we can see, the 20+ users processed towards the end of the job run got their proxy email addresses imported as expected. But for the others, we could see the userattribute is updated as null.
{ "ADDITIONALTABLES": { "USERS": "SELECT USERNAME, customproperty60, customproperty50, customproperty55 FROM USERS", "USER_ATTRIBUTES": "SELECT USERKEY, DATA, ATTRIBUTENAME FROM USER_ATTRIBUTES" }, "COMPUTEDCOLUMNS": [ "customproperty60", "customproperty61", "customproperty62", "USERATTRIBUTE_EMAIL" ], "PREPROCESSQUERIES": [ "UPDATE NEWUSERDATA SET USERATTRIBUTE_EMAIL=case when (NEWUSERDATA.USERATTRIBUTE_EMAIL is not null and NEWUSERDATA.USERATTRIBUTE_EMAIL != '') then REPLACE(REPLACE(NEWUSERDATA.USERATTRIBUTE_EMAIL, 'smtp:', ''), 'SMTP:', '') else '' end" ] } |
Kindly let us know if you have faced these issues before and any suggestion would be really helpful
We have followed the KB article below,
Regards,
Rakesh
[This message has been edited by moderator to merge reply comment]
11/06/2023 08:45 AM
Hi @rakesh_iam
You need to put or condition instead of And condition in this query and see if it helps-
(NEWUSERDATA.USERATTRIBUTE_EMAIL is not null and NEWUSERDATA.USERATTRIBUTE_EMAIL != '')
Also it will process for all users if data is being fetched in that job for all users then it will process the data in user attributes ( remove the case condition as well and try if its still a issue).
Thanks
Darshan
11/06/2023 02:13 PM
Hi @Darshanjain ,
Thanks for your response.
The condition should be 'add' and not 'or' in the query,
(NEWUSERDATA.USERATTRIBUTE_EMAIL is not null and NEWUSERDATA.USERATTRIBUTE_EMAIL != '')
as we only need to process the data if the value is both not null and not empty.
Nevertheless, I have removed the case statement and the modify user data json looks like the below,
UPDATE NEWUSERDATA SET USERATTRIBUTE_EMAIL= REPLACE(REPLACE(NEWUSERDATA.USERATTRIBUTE_EMAIL, 'smtp:', ''), 'SMTP:', ''
But the issue still persist. The job is updating the proxy email address only for the last few records.
We have checked the following,
Kindly let me know for any further information.
Regards,
Rakesh
11/06/2023 06:49 PM
Hi @rakesh_iam
Okay got it, can you send the user import json, make sure the value you have mapped to userattribute_email to the value and those values are to be populated for those users where they are missing.
Thanks
Darshan
11/06/2023 11:38 PM - last edited on 11/07/2023 12:21 AM by Sunil
Hi @Darshanjain ,
Thanks again!
Please find the user import json below,
{ "connection": "userAuth", "url": "https://removed.saviyntcloud.com/ECM/api/v5/fetchRuntimeControlsDataV2", "httpMethod": "POST", "httpHeaders": { "Authorization": "${access_token}", "contentType": "application/json" }, "httpContentType": "application/json", "httpParams": "{\"analyticsname\":\"bgl-promote-active-directory-attributes-to-user-object\"}", "colsToPropsMap": { "username": "username~#~char", "customproperty50": "account_status~#~char", "customproperty18": "customproperty6~#~char", "USERATTRIBUTE_EMAIL": "customproperty54~#~char", "customproperty60": "customproperty54~#~char", "customproperty55": "customproperty4~#~char" }, "userResponsePath": "results", "pagination": { "offset": { "offsetParam": "offset", "batchParam": "max", "batchSize": 500, "totalCountPath": "completeResponseMap.totalcount" } } } |
The customproperty54 account attribute is where proxy email address is stored and the same is passed to USER_ATTRIBUTE and also to another attribute within user object
The proxy email address is stored in account and analytics is used to fetch the data to import the same to user table 'customproperty60'. We could see the value is imported successfully to customproperty60 but not to user_attribute table. In total, there are 5462 users returned in analytics but only 40+ users have proxy email address updated in user_attribute table whereas all of them have their customproperty60 populated.
Sample user:
Account data:
User data:
For users where the update has worked we would see as shown below,
Kindly let me know for any further information.
Thanks,
Rakesh
[This message has been edited by moderator to mask sensitive information]
11/07/2023 12:03 AM
Hi @rakesh_iam
Its a strange case where its not updating for some users, can you once try this as anyways you are using the cp54 value to cp60, so use the same cp60 value to update userattribute_email and see if you are able to update all users or not.
UPDATE NEWUSERDATA SET USERATTRIBUTE_EMAIL= REPLACE(REPLACE(NEWUSERDATA.CUSTOMPROPERTY60, 'smtp:', ''), 'SMTP:', ''
Thanks
Darshan
11/07/2023 03:21 AM
Hi @Darshanjain ,
I tried the above query but it is still not working. I could see the data is only updated for users that have processed as part of the last page (towards the end of the job), I believe it is to do with how and when the data is persisted in USER_ATTRIBUTE table.
Regards,
Rakesh
11/07/2023 03:30 AM
Hi @rakesh_iam
Okay, can you raise a support ticket on this, we may need to check this in detail for the records and logs.
Mention the above link in the FD ticket and attach all the details.
Thanks
Darshan
11/07/2023 02:17 PM
12/11/2023 05:57 AM
@rakesh_iam were you able to resolve this issue?
12/11/2023 06:01 AM
Hi @09
we have a internal jira created and our team is working on it. this issue is only for Rest connector.
Are you also facing the issue? if yes please let me know which connector you are using.
Thanks
Darshan
12/11/2023 07:31 AM
yes, we are using REST connector.
Is it working with AD connector?
12/11/2023 07:33 AM
Yes in Ad and ADSI its working,
which version are you using? you can try in lower instance for the same and see the behavior even for rest connector as well.
Thanks
Darshan