03/23/2023 02:37 AM
Hi Team,
Workflow should allow the privilege access request for auto approval if the user is from particular usergroup, else request should go for one level manager approval.
Tried below query, but it is giving error as the list contains multiple users from usergroup . Please suggest the right approach.
${ARSREQUEST.REQUESTOR}= select users.username from users where users.username is not null and users.userkey in (select userkey from usergroup_users where USER_GROUPKEY='2'
Thanks,
Manju
03/24/2023 05:42 PM
Use below condition in if/else block with groovy as expression language if outcome of this block is true then requestor is member of user group otherwise not
(com.saviynt.ecm.identitywarehouse.domain.Usergroup_users.executeQuery("select ugu.id from Usergroup_users ugu where ugu.usergroupkey.id = 2 and ugu.userkey.id= requestedby?.id ")?.size() != 0)
03/28/2023 05:49 AM
Hi Saathvik,
Tried the above suggested query. Request ID is not getting generated. With "e entry in condition, workflow approval is not successful
Regards,
Manjunatha V
03/28/2023 06:54 AM
03/28/2023 08:22 AM
Hi Saathvik, Here comes the log entries related to request.
03/30/2023 06:50 PM - edited 03/30/2023 06:50 PM
Try below I don't in your screenshot " are added in subquery so please try below
(com.saviynt.ecm.identitywarehouse.domain.Usergroup_users.executeQuery("select ugu.id from Usergroup_users ugu where ugu.usergroupkey.id = 2 and ugu.userkey.id= requestedby?.id")?.size() != 0)
03/31/2023 07:53 AM
Hi Saathvik,
As implementation partner we do not have access to catapult. ECM related detailed errors are not coming up in logviewer. For endusers, is there any option to change the debug level from application frontend to get detailed errors.
Managed to fetch logs from catapult ECM logs.
Looks like system is not accepting "and" condition in subquery.
2023-03-31 14:16:46,705 [http-nio-8080-exec-92] ERROR services.WorkflowService - Exception in workflow service
org.jbpm.api.JbpmException: script evaluation error: javax.script.ScriptException: org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]; nested exception is org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]
at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:127)
at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:115)
at org.jbpm.pvm.internal.script.ScriptManager.evaluateExpression(ScriptManager.java:87)
at org.jbpm.pvm.internal.el.ScriptExpression.evaluateInScope(ScriptExpression.java:48)
at org.jbpm.pvm.internal.el.Expression.evaluate(Expression.java:108)
at org.jbpm.pvm.internal.model.ExpressionCondition.evaluate(ExpressionCondition.java:41)
at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.findTransitionUsingConditions(DecisionConditionActivity.java:62)
at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.execute(DecisionConditionActivity.java:47)
at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.execute(DecisionConditionActivity.java:43)
at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672)
at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:582)
at org.jbpm.pvm.internal.model.ExecutionImpl.take(ExecutionImpl.java:487)
at org.jbpm.jpdl.internal.activity.ForEachActivity.execute(ForEachActivity.java:123)
at org.jbpm.jpdl.internal.activity.ForEachActivity.execute(ForEachActivity.java:53)
at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632)
at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:217)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:63)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:36)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:71)
at com.saviynt.ecm.services.WorkflowService.workflowaccessreqStart(WorkflowService.groovy:1057)
at com.saviynt.ws.JbpmapiService.workflowaccessreqStartMS(JbpmapiService.groovy:64)
at com.saviynt.ecm.ws.JbpmapiController$_closure4.doCall(JbpmapiController.groovy:83)
at grails.plugin.springsecurity.rest.RestTokenValidationFilter.processFilterChain(RestTokenValidationFilter.groovy:118)
at grails.plugin.springsecurity.rest.RestTokenValidationFilter.doFilter(RestTokenValidationFilter.groovy:84)
at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
at com.saviynt.webservice.SaviyntRestAuthenticationFilter.doFilter(SaviyntRestAuthenticationFilter.groovy:133)
at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
at com.mrhaki.grails.plugin.xframeoptions.web.XFrameOptionsFilter.doFilterInternal(XFrameOptionsFilter.java:69)
at com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82)
at java.lang.Thread.run(Thread.java:750)
Caused by: javax.script.ScriptException: javax.script.ScriptException: org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]; nested exception is org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:152)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:123)
... 39 more
Caused by: javax.script.ScriptException: org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]; nested exception is org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:349)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:146)
... 41 more
Caused by: org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]; nested exception is org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]
at Script11.run(Script11.groovy:1)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:346)
... 42 more
Caused by: org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]
... 44 more
2023-03-31 14:16:46,706 [http-nio-8080-exec-92] DEBUG println.PrintlnToLogger - Println :: [1;31m| Error [22;39morg.jbpm.api.JbpmException: script evaluation error: javax.script.ScriptException: org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id]; nested exception is org.hibernate.QueryException: unexpected char: '&' [select ugu.id from com.saviynt.ecm.identitywarehouse.domain.Usergroup_users ugu where ugu.usergroupkey.id = 2 && ugu.userkey.id= requestedby?.id][m
Thanks,
Manju
04/06/2023 06:00 PM
Our client has a similar requirement, is it working ?
04/28/2023 05:22 AM
Please share the solution if found.