Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

WF if condition throwing - javax.el.PropertyNotFoundException: Cannot resolve identifier 'accounts'

IAM_99
Regular Contributor II
Regular Contributor II

Hi All,

We want to check if an Account exists but not in pending/Manually Suspended state -  using below if condition in the  workflow

(accounts !=null ) and (accounts.status =='2' or accounts.status =='Manually Suspended' )

 

from the logs it gives this error

 

javax.el.PropertyNotFoundException: Cannot resolve identifier 'accounts'

 

'accounts'  binding variable is  available  (from WF help)

IAM_99_0-1687801453139.png

any idea , whats wrong with above  if condition ?

Thanks,

suresh

 

11 REPLIES 11

dgandhi
All-Star
All-Star

Have you tried below from document?

ccountsMap

This object is used to fetch the account details when a request contains multiple accounts from different endpoints. If a request contains a single account, you can use the accountsMap or accounts objects to fetch the account details.

Info

This object is introduced in the Release v5.5SP3.20

 

accountsMap.get(requestaccesskey).customproperty9=='ABC'

==, !=

If Else

Parallel

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.

IAM_99
Regular Contributor II
Regular Contributor II

Hi @dgandhi  both variable Saviynt is not able to resolve (accounts, AccountsMap)

 

Thanks,

suresh

rushikeshvartak
All-Star
All-Star

Why don’t you block using dynamic attribute itself


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

IAM_99
Regular Contributor II
Regular Contributor II

Can you provide more details on this - How to block using Dynamic Attribute ?

rushikeshvartak
All-Star
All-Star

accountsMap.get(requestaccesskey).statys=='2'


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

IAM_99
Regular Contributor II
Regular Contributor II

in case of brand new (valid) account request  (accountsMap.get(requestaccesskey).statys=='2') , accountMap object will not exists right ?

Add 1 more if conditions if accountMap is not null


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

IAM_99
Regular Contributor II
Regular Contributor II

Its not working please find below  and how Dynamic attribute will help to achieve this?

 

log":"javax.el.PropertyNotFoundException: Cannot resolve identifier 'accountsMap'\n","stream":"stdout","time":"2023-06-29T12:37:09.189020237Z"}"

{"log":"javax.el.PropertyNotFoundException: Cannot resolve identifier 'accountMap'\n","stream":"stdout","time":"2023-06-29T12:41:26.119464682Z"}"

IAM_99
Regular Contributor II
Regular Contributor II

Hi @rushikeshvartak @dgandhi ,

since these all variables are not resolving, it will take time to fix the bug,  Can you let me know how can we populate account status attribute in a Dynamic attribute so that i will refer in workflow condition?

Manu269
All-Star
All-Star

Please create a DA and EP and use similar type of query :

select distinct(a.customproperty6) as ID from users u, user_accounts ua, accounts a, endpoints e where u.userkey=ua.userkey and ua.accountkey=a.accountkey and a.endpointkey = 5 and u.userkey=${requestee}

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

Saathvik
All-Star
All-Star

First check type of request like new account or modify/update etc and then if new account direct to appropriate WF and if it is not new account then apply above logic and route the respective WF


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.