Click HERE to see how Saviynt Intelligence is transforming the industry. |
10/03/2024 02:30 PM
Dear Team,
We have the below setup while raising a request for new user for Coupa
So you get to select multiple entitlements while raising create user and one of them is Account Group and for this specific one so it can be passed and reflected to coupa if we add to CREATE account json the following syntax
10/03/2024 08:16 PM
Hi @Iabdelmoneim entitlement values are exposed in created account json.
As a workaround you can create an dynamic attribute listing the entitlement values and whichever user selects pass the same.
10/04/2024 12:18 AM
Hi,
Thank you for your response!
and what are the best values to pass in my DA in my case so it can reflect on that account group
Thank you in advance!
10/04/2024 12:20 AM - edited 10/04/2024 12:20 AM
@Iabdelmoneim okay so request type will be account
Attribute type will be single select SQL
Value you will write a query which will pick all the entitlement from entitlement type (account group)
You can refer saviynt doc for DA creation as well.
10/04/2024 12:24 AM
Can you please suggest a query ?
10/04/2024 12:38 AM
Select ev.entitlement_value from entitlement_values ev where ev.entitlementtype=(account group entitlementtype)
Sample query.
10/04/2024 12:50 AM - edited 10/04/2024 12:53 AM
Hi,
I used as you mentioned and I am getting the below error while raising a request
query: Select ev.entitlement_value from entitlement_values ev where ev.entitlementtype=(account group)
and JSON
{
"accountIdPath": "call1.message.id",
"responseColsToPropsMap": {
"name": "call1.message.login~#~char",
"status": "call1.message.active~#~char",
"customproperty1": "call1.message.email~#~char",
"customproperty2": "call1.message.firstname~#~char",
"customproperty3": "call1.message.lastname~#~char",
"customproperty4": "call1.message.mention-name~#~char",
"customproperty5": "call1.message.active~#~char",
"customproperty7": "call1.message.active~#~char",
"customproperty14": "call1.message.created-at~#~char",
"customproperty15": "call1.message.sso-identifier~#~char",
"employeeid": "call1.message.employee-number~#~char",
"customproperty17": "call1.message.expense-user~#~char",
"customproperty18": "call1.message.sourcing-user~#~char",
"customproperty19": "call1.message.inventory-user~#~char",
"customproperty20": "call1.message.contracts-user~#~char",
"customproperty21": "call1.message.analytics-user~#~char",
"customproperty22": "call1.message.aic-user~#~char",
"customproperty23": "call1.message.spend-guard-user~#~char",
"customproperty24": "call1.message.ccw-user~#~char",
"customproperty25": "call1.message.clm-advanced-user~#~char",
"customproperty26": "call1.message.supply-chain-user~#~char",
"customproperty27": "call1.message.default-currency.code~#~char",
"customproperty28": "call1.message.default-address.street1~#~char",
"customproperty29": "call1.message.default-address.city~#~char",
"customproperty30": "call1.message.default-address.country.name~#~char",
"customproperty31": "call1.message.STORE#ACC#ENT#MAPPINGINFO~#~char",
"customproperty32": "call1.message.default-account.code~#~char",
"customproperty33": "call1.message.account-groups.name~#~char",
"costcenter": "call1.message.cost-center~#~char"
},
"call": [
{
"name": "call1",
"connection": "acctAuth",
"url": "https://-test.coupahost.com/api/users",
"httpMethod": "POST",
"httpParams": "{\"login\":\"${user.email}\",\"sso-identifier\":\"${user.email}\",\"authentication-method\":\"SAML\",\"email\":\"${user.email}\",\"firstname\":\"${user.firstname}\",\"lastname\":\"${user.lastname}\",\"fullname\":\"${user.displayname}\",\"default-address\":{\"country\":{\"code\":\"${user.country}\"},\"city\":\"${user.city}\",\"street1\":\"${user.street}\",\"postal-code\":\"${user.customproperty31 != null ? user.customproperty31 : 'null'}\"},\"default-account\":{\"segment-1\":\"${user.orgunitid}\",\"segment-2\":\"${user.costcenter}\",\"segment-6\":\"${user.orgunitid}\",\"account-type\":{\"name\":\"${user.orgunitid}\"}},\"default-currency\":{\"code\":\"${user.country=='DK' ? 'DKK' : user.country=='PL' ? 'PLN' : 'EUR'}\",\"id\":\"${user.country=='DK' ? '39' : user.country=='PL' ? '119' : ''}\"},\"employee-number\":\"${user.employeeid}\",\"cost-center\":\"${user.costcenter}\",\"account-security-type\":\"2\",\"account-groups\":[{\"name\":\"${requestAccessAttributes.get('Account Group')}\"}]}",
"httpHeaders": {
"accessToken": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [200, 201]
}
}
]
}
So i passed it as this ",\"account-groups\":[{\"name\":\"${requestAccessAttributes.get('Account Group')}\"}]}",
so if you can advise !
Thanks
10/04/2024 12:58 AM
@Iabdelmoneim use below query
Select ev.entitlement_value as ID from entitlement_values ev where ev.entitlementtype in (add account group entitlement type query here)
10/04/2024 01:04 AM
Select ev.entitlement_value as ID from entitlement_values ev where ev.entitlementtype in (select entitlementname from ENTITLEMENT_VALUES WHERE entitlementtype = "Account Group")
I used the above but still getting below
10/04/2024 01:15 AM
@Iabdelmoneim you are using the same entitlement_values table use entitlement type table
10/04/2024 02:15 AM
Select ev.entitlement_value as ID from entitlement_values ev where ev.entitlementtype in (select ENTITLEMENTNAME, DISPLAYNAME from entitlement_types WHERE DISPLAYNAME = "Account Group") I used this and still getting
10/04/2024 02:30 AM
@Iabdelmoneim try this query
Select ev.entitlement_value as ID from entitlement_values ev where ev.entitlementtypekey in (select entitlementtypekey, from entitlement_types WHERE DISPLAYNAME = 'Account Group')
10/04/2024 10:03 AM
Dear,
I am still getting
10/04/2024 11:02 AM
Your attribute have underscore.
",\"account-groups\":[{\"name\":\"${requestAccessAttributes.get('Account_Group')}\"}]}",