GetObject issue with JDBC

Which IIQ version are you inquiring about?

Version 8.0

Share all details related to your problem, including any error messages you may have received.

This query is being use for get all user

SELECT … FROM TermDB where and enddate is null;

Below query is for get single user

SELECT … FROM TermDB where person_sso = ‘$(identity)’ and enddate is null;

during the Termination, we are setting enddate flag as a today date.

But we are getting the below error in task result

Object not found “SELECT … FROM TermDB where person_sso = ‘123’ and enddate is null;”

ideally if we do not get record then process should unlink the account.

now here after getting the error ,if we we run the full aggregation then respective account is getting unlink.

Thanks

Hi @pradeept -

The error message “Object not found” suggests that the query does not return any results when it should.

Could you try executing the same query directly on the DB side and show me the result.

It qoyld bw good if you could add here some example of data in db and app definition so we could try to replicate your issue.

Hi Pradeep,

Welcome to SailPoint developer community.

In both query your condition is that enddate is null and you yourself have said that you are setting enddate flag during termination then according to your logic aggregation will definitely not pick this account as the condition enddate is null is not satisfying.

If your ask is even after setting enddate you should get this user then you may add a union condition with your existing query, something like below that I have given below. You may adjust the logic to filter terminated record from target.

(SELECT … FROM TermDB where and enddate is null) UNION (SELECT … FROM TermDB where and enddate is not null and status='terminated').

Please note that for the above logic to work properly you should not have any overlapping data.

If I not getting the issue correctly then please point out.

Thanks

That query i have executed directly at DB end and working fine.

Problem is why getting this type message…
Ideal case if no record found then process should unlink the account from sailpoint.

Install this plugin in your environment - it will give you endpoint
identityiq/plugin/rest/Operation/Aggregate
this will start single account aggregation to your app - I have some idea why it may not work but wanted to check first if via plugin it would

You need to provide in body - the following json

{
    "applicationName":"YourAppName",
    "nativeIdentity":"YourNativeIdentityValue"
}

communityRestAPI.1.0.zip (15.2 KB)

User which you use to execute this call needs to have CommunityRESTApiFullAccess capability.

It’s my early beta version so might have some bugs but single account aggregation works fine (so far :slight_smile: )

Account deletion only happens after full aggregation (with the right setting turned on). It is not invoked after get object. Aggregation loads all accounts and then deletes the links that were were not present in the aggregation. Imagine what would happened if that process was invoked after getObject :wink:

1 Like

Full aggregation is not an issue.
why single account aggregation is not removing the account .

It’s like @aleksander_jachowicz said - IIQ logic. Imagine situation

  • you have 100 accounts in your application
  • you aggregate 1 (with detect deleted)
  • IIQ detects 1 account but 99 are not detected - as it is single account aggregation
  • 99 links are removed by detection process

That’s why both - Delta Aggregation and Get Object does not check for removed accounts.

In the plugin I gave to you there is however some kind of custom aggregator which is removing link object if it cannot be returned from the connector so you may try to use it.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.