Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Unable to get Proxyaddress on User Attribute

mansoorahmed1
New Contributor III
New Contributor III

Im trying to use Preprocessor to get the proxy address of the user's AD account to Cp62 . But Im getting JSON Parsing error as shown below.

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME,CUSTOMPROPERTY35,CUSTOMPROPERTY10,EMPLOYEECLASS,OWNER,EMPLOYEEID,CUSTOMPROPERTY18,CUSTOMPROPERTY45,CUSTOMPROPERTY30,STATUSKEY,CUSTOMPROPERTY16,CUSTOMPROPERTY33,STARTDATE,TERMDATE,ENDDATE,DISPLAYNAME,FIRSTNAME,LASTNAME,CUSTOMPROPERTY62,userkey FROM USERS",
"Accounts":"SELECT accountkey,customproperty47 FROM Accounts where endpointkey=4",
"USER_ACCOUNTS" : "SELECT userkey,accountkey FROM USER_ACCOUNTS where accountkey in (select distinct accountkey from accounts where endpointkey=4)"
},
"COMPUTEDCOLUMNS": [
"USERNAME",
"DISPLAYNAME",
"CUSTOMPROPERTY35",
"CUSTOMPROPERTY10",
"OWNER",
"STATUSKEY",
"TERMDATE",
"ENDDATE",
"CUSTOMPROPERTY16",
"CUSTOMPROPERTY62"
"SECONDARYMANAGER"
],
"PREPROCESSQUERIES": [

"update NEWUSERDATA set CUSTOMPROPERTY62=(select ac.customproperty47 from currentuser_accounts uac inner join currentusers u on uac.userkey=u.userkey inner join currentaccounts ac on ac.accountkey=uac.accountkey where ac.endpointkey=4)"


]
}

Below is the logs.

org.codehaus.groovy.grails.web.converters.exceptions.ConverterException: Error parsing JSON at grails.converters.JSON.parse(JSON.java:292) at com.saviynt.ecm.services.ImportSAvDataUserService.doImportDataPreprocessing(ImportSAvDataUserService.groovy:170) at com.saviynt.ecm.services.ImportSAvDataUserService.importDataFromFile(ImportSAvDataUserService.groovy:733) at com.saviynt.ecm.services.ImportSAvDataUserService.importDataFromFile(ImportSAvDataUserService.groovy:686) at com.saviynt.ecm.services.BulkUserUploadService.importUserFromRequest(BulkUserUploadService.groovy:265) at com.saviynt.workflowmgt.grantaccess.doaccess(grantaccess.groovy:50) at com.saviynt.workflowmgt.grantaccess$_createAccess_closure1.doCall(grantaccess.groovy:95) at com.saviynt.workflowmgt.grantaccess.createAccess(grantaccess.groovy:94) at org.jbpm.pvm.internal.util.ReflectUtil.invoke(ReflectUtil.java:184) at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.invokeMethod(ObjectDescriptor.java:209) at org.jbpm.jpdl.internal.activity.JavaActivity.perform(JavaActivity.java:76) at org.jbpm.jpdl.internal.activity.JpdlAutomaticActivity.execute(JpdlAutomaticActivity.java:15) 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:1066) at com.saviynt.ecm.services.BulkUserUploadService.createRequestForBulkUserUpload(BulkUserUploadService.groovy:91) at com.saviynt.ecm.services.UsersService.uploadUserFinalStep(UsersService.groovy:8687) at com.saviynt.ecm.identitywarehouse.controllers.UsersController$_closure26.doCall(UsersController.groovy:1716) at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53) at com.saviynt.webservice.SaviyntRestAuthenticationFilter.doFilter(SaviyntRestAuthenticationFilter.groovy:159) 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: org.codehaus.groovy.grails.web.json.JSONException: Expected a ',' or ']' at character 824 of {

1 REPLY 1

rushikeshvartak
All-Star
All-Star

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME,CUSTOMPROPERTY35,CUSTOMPROPERTY10,EMPLOYEECLASS,OWNER,EMPLOYEEID,CUSTOMPROPERTY18,CUSTOMPROPERTY45,CUSTOMPROPERTY30,STATUSKEY,CUSTOMPROPERTY16,CUSTOMPROPERTY33,STARTDATE,TERMDATE,ENDDATE,DISPLAYNAME,FIRSTNAME,LASTNAME,CUSTOMPROPERTY62,userkey FROM USERS",
"Accounts": "SELECT accountkey,customproperty47 FROM Accounts where endpointkey=4",
"USER_ACCOUNTS": "SELECT userkey,accountkey FROM USER_ACCOUNTS where accountkey in (select distinct accountkey from accounts where endpointkey=4)"
},
"COMPUTEDCOLUMNS": [
"USERNAME",
"DISPLAYNAME",
"CUSTOMPROPERTY35",
"CUSTOMPROPERTY10",
"OWNER",
"STATUSKEY",
"TERMDATE",
"ENDDATE",
"CUSTOMPROPERTY16",
"CUSTOMPROPERTY62",
"SECONDARYMANAGER"
],
"PREPROCESSQUERIES": [
"update NEWUSERDATA set CUSTOMPROPERTY62=(select ac.customproperty47 from currentuser_accounts uac inner join currentusers u on uac.userkey=u.userkey inner join currentaccounts ac on ac.accountkey=uac.accountkey where ac.endpointkey=4)"
]
}

 

 

I've added the comma after "CUSTOMPROPERTY62" in the "COMPUTEDCOLUMNS" array to ensure the JSON syntax is correct.

 
 
 

Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.