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

Values are not populating

Sri1203
New Contributor II
New Contributor II

Hi All,


I am trying to add the piece of code(\"${entitlementValue.entitlementID}\"}) under 'ADDList' to provision entitlements   but values are not populating. Syntax and every thing looks good.

can you share your thoughts.

Application type:Rest

Json configured attribute: Create account 

"httpParams": "{\"AddRequest\": {\"REQUESTID\": \"${arsTasks.requestKey?.processinstanceid?.substring(ADDLIST)}\",\"ACCESSTYPE\": \"${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'Update'} else{'Read'}}\",\"ADDLIST\": ${if(requestAccessAttributes.get('Selection Type')=='Property List' && requestAccessAttributes.get('ManagedFranchisedQuestion')=='Yes') {'[\"'+requestAccessAttributes.get('CustomerPropertyPicklistMandF').split(', ').collect { it.split(': ')[0] }.toString()?.replace('[','').replace(' ]','').replaceAll(' ','').replaceAll(',', '\",\"')+'\"]'} else if(requestAccessAttributes.get('Selection Type')=='Property List' && requestAccessAttributes.get('ManagedFranchisedQuestion')=='No') {'[\"'+requestAccessAttributes.get('Property Selection').split(', ').collect { it.split(': ')[0] }.toString()?.replace('[','').replace(' ]','').replaceAll(' ','').replaceAll(',', '\",\"')+'\"]'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand')'[\"'+requestAccessAttributes.get('Brand Selection').replaceAll(', ', '\",\"')+'\"]' else if(requestAccessAttributes.get('Selection Type')=='Entire Region')'[\"'+requestAccessAttributes.get('Region Selection').replaceAll(', ', '\",\"')+'\"]' else if(requestAccessAttributes.get('SelectAll')=='Yes') {'[]'} else if(requestAccessAttributes.get('SelectAll')=='No') {'[\"'+requestAccessAttributes.get('Property Selection').split(', ').collect { it.split(': ')[0] }.toString()?.replace('[','').replace(' ]','').replaceAll(' ','').replaceAll(',', '\",\"')+'\"]'} else {'[\"'+requestAccessAttributes.get('Property Selection').split(', ').collect { it.split(': ')[0] }.toString()?.replace('[','').replace(' ]','').replaceAll(' ','').replaceAll(',', '\",\"')+'\"]'}},\"ADDTYPE\": \"${if(requestAccessAttributes.get('Selection Type')=='Property List'){'Property'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand'){'Brand'} else if(requestAccessAttributes.get('Selection Type')=='Entire Region'){'Region'} else{'Property'}}\",\"CUSTOMEREID\": \"${user.username}\",\"CUSTOMEREIDTYPE\": \"${user.employeeType}\",\"CUSTOMEREMAIL\": \"${user.email}\",\"CUSTOMERFIRSTNAME\": \"${user.firstname}\",\"CUSTOMERLASTNAME\": \"${user.lastname}\",\"CUSTOMERPHONE\": \"${user.phonenumber}\",\"CUSTOMERCITY\": \"${user.city}\",\"CUSTOMERSTATE\": \"${user.state}\",\"CUSTOMERCOUNTRY\": \"${user.country}\",\"COMPANYCODE\": \"${user.departmentname+'.'+user.departmentNumber}\",\"COMPANYNAME\": \"${user.companyname}\",\"CUSTOMERSTATUS\": \"99\",\"TRANSTYPE\": \"New\"}}"

10 REPLIES 10

rushikeshvartak
All-Star
All-Star

${entitlementValue.entitlementID} it works properly can you share logs and full json


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

Sri1203
New Contributor II
New Contributor II

Sri1203_0-1711025141116.png

Log: 

 

2024-03-21 12:40:22,569 [quartzScheduler_Worker-2] INFO services.ImportSAvDataUserService - Exit processAttributes
2024-03-21 12:40:22,569 [quartzScheduler_Worker-2] DEBUG services.ImportSAvDataUserService - dirtyMap=[:], dirtyMap=0
2024-03-21 12:40:22,578 [quartzScheduler_Worker-2] DEBUG services.ImportSAvDataUserService - Saving user data for username : ihhom078
2024-03-21 12:40:22,582 [quartzScheduler_Worker-4] ERROR rest.RestProvisioningService - Error in createNewUsercom.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: {"AddRequest": {"REQUESTID": "${arsTasks.requestKey?.processinstanceid?.substring(arsTasks.requestKey?.processinstanceid?.indexOf('.') + 1,arsTasks.requestKey?.processinstanceid?.length())}","ACCESSTYPE": "${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'Update'} else{'Read'}}","ADDLIST": ${entitlementValue.entitlementID},"ADDTYPE": "${if(requestAccessAttributes.get('Selection Type')=='Property List'){'Property'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand'){'Brand'} else if(requestAccessAttributes.get('Selection Type')=='Entire Region'){'Region'} else{'Property'}}","CUSTOMEREID": "${user.username}","CUSTOMEREIDTYPE": "${user.employeeType}","CUSTOMEREMAIL": "${user.email}","CUSTOMERFIRSTNAME": "${user.firstname}","CUSTOMERLASTNAME": "${user.lastname}","CUSTOMERPHONE": "${user.phonenumber}","CUSTOMERCITY": "${user.city}","CUSTOMERSTATE": "${user.state}","CUSTOMERCOUNTRY": "${user.country}","COMPANYCODE": "${user.departmentname+'.'+user.departmentNumber}","COMPANYNAME": "${user.companyname}","CUSTOMERSTATUS": "99","EDSROLE": "${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'HPPHTLUP'} else{'HPPHTLRD'}}","TRANSTYPE": "New"}}; line: 1, column: 312]
2024-03-21 12:40:22,582 [quartzScheduler_Worker-4] DEBUG println.PrintlnToLogger - Println :: | Error com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: {"AddRequest": {"REQUESTID": "${arsTasks.requestKey?.processinstanceid?.substring(arsTasks.requestKey?.processinstanceid?.indexOf('.') + 1,arsTasks.requestKey?.processinstanceid?.length())}","ACCESSTYPE": "${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'Update'} else{'Read'}}","ADDLIST": ${entitlementValue.entitlementID},"ADDTYPE": "${if(requestAccessAttributes.get('Selection Type')=='Property List'){'Property'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand'){'Brand'} else if(requestAccessAttributes.get('Selection Type')=='Entire Region'){'Region'} else{'Property'}}","CUSTOMEREID": "${user.username}","CUSTOMEREIDTYPE": "${user.employeeType}","CUSTOMEREMAIL": "${user.email}","CUSTOMERFIRSTNAME": "${user.firstname}","CUSTOMERLASTNAME": "${user.lastname}","CUSTOMERPHONE": "${user.phonenumber}","CUSTOMERCITY": "${user.city}","CUSTOMERSTATE": "${user.state}","CUSTOMERCOUNTRY": "${user.country}","COMPANYCODE": "${user.departmentname+'.'+user.departmentNumber}","COMPANYNAME": "${user.companyname}","CUSTOMERSTATUS": "99","EDSROLE": "${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'HPPHTLUP'} else{'HPPHTLRD'}}","TRANSTYPE": "New"}}; line: 1, column: 312]
2024-03-21 12:40:22,582 [quartzScheduler_Worker-4] DEBUG println.PrintlnToLogger - Println :: | Error  at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702)

Please paste json as text. You have issue in syntax 


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

Sri1203
New Contributor II
New Contributor II

{
"call": [
{
"name": "call1",
"connection": "acctAuth",
"url": "*******",
"httpMethod": "POST",
"httpParams": "{\"AddRequest\": {\"REQUESTID\": \"${arsTasks.requestKey?.processinstanceid?.substring(arsTasks.requestKey?.processinstanceid?.indexOf('.') + 1,arsTasks.requestKey?.processinstanceid?.length())}\",\"ACCESSTYPE\": \"${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'Update'} else{'Read'}}\",\"ADDLIST\": ${entitlementValue.entitlementID},\"ADDTYPE\": \"${if(requestAccessAttributes.get('Selection Type')=='Property List'){'Property'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand'){'Brand'} else if(requestAccessAttributes.get('Selection Type')=='Entire Region'){'Region'} else{'Property'}}\",\"CUSTOMEREID\": \"${user.username}\",\"CUSTOMEREIDTYPE\": \"${user.employeeType}\",\"CUSTOMEREMAIL\": \"${user.email}\",\"CUSTOMERFIRSTNAME\": \"${user.firstname}\",\"CUSTOMERLASTNAME\": \"${user.lastname}\",\"CUSTOMERPHONE\": \"${user.phonenumber}\",\"CUSTOMERCITY\": \"${user.city}\",\"CUSTOMERSTATE\": \"${user.state}\",\"CUSTOMERCOUNTRY\": \"${user.country}\",\"COMPANYCODE\": \"${user.departmentname+'.'+user.departmentNumber}\",\"COMPANYNAME\": \"${user.companyname}\",\"CUSTOMERSTATUS\": \"99\",\"EDSROLE\": \"${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'HPPHTLUP'} else{'HPPHTLRD'}}\",\"TRANSTYPE\": \"New\"}}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"modifyResponse.code":["0"]
},
"unsuccessResponses": {
"modifyResponse.code":["99"]
}
}
]
}

Reduce number of attributes being sent. to narrow down issue. 

Try below

{
"call": [
{
"name": "call1",
"connection": "acctAuth",
"url": "*******",
"httpMethod": "POST",
"httpParams": "{\"AddRequest\": {\"REQUESTID\": \"aa\",\"ACCESSTYPE\": \"${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'Update'} else{'Read'}}\",\"ADDLIST\": ${entitlementValue.entitlementID},\"ADDTYPE\": \"${if(requestAccessAttributes.get('Selection Type')=='Property List'){'Property'} else if(requestAccessAttributes.get('Selection Type')=='Entire Brand'){'Brand'} else if(requestAccessAttributes.get('Selection Type')=='Entire Region'){'Region'} else{'Property'}}\",\"CUSTOMEREID\": \"${user.username}\",\"CUSTOMEREIDTYPE\": \"${user.employeeType}\",\"CUSTOMEREMAIL\": \"${user.email}\",\"CUSTOMERFIRSTNAME\": \"${user.firstname}\",\"CUSTOMERLASTNAME\": \"${user.lastname}\",\"CUSTOMERPHONE\": \"${user.phonenumber}\",\"CUSTOMERCITY\": \"${user.city}\",\"CUSTOMERSTATE\": \"${user.state}\",\"CUSTOMERCOUNTRY\": \"${user.country}\",\"COMPANYCODE\": \"${user.departmentname+'.'+user.departmentNumber}\",\"COMPANYNAME\": \"${user.companyname}\",\"CUSTOMERSTATUS\": \"99\",\"EDSROLE\": \"${if(requestAccessAttributes.get('Access Needed')=='Update Access'){'HPPHTLUP'} else{'HPPHTLRD'}}\",\"TRANSTYPE\": \"New\"}}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"modifyResponse.code": [
"0"
]
},
"unsuccessResponses": {
"modifyResponse.code": [
"99"
]
}
}
]
}


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

Sri1203
New Contributor II
New Contributor II

Here is the full Json code

Sri1203
New Contributor II
New Contributor II

Here is the problem. ADDLIST\": ${entitlementValue.entitlementID}. 

If I add the above statement then the task getting failed. 

This Json configured in create account Json. 

Entitlement object is not exposed in create account json


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

Sri1203
New Contributor II
New Contributor II

True.. 

Is there any way to capture Entitlements which user requested through ARS request in create account task. 

I know this can be captured through dynamic attribute but the limitation is that I can not use Dynamic attribute to list the Entitlements.. 

 

 

Currently no option other than dynamic attributes


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