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

Error while importing entitlements

Mortal
Regular Contributor
Regular Contributor

Hi,

working on integrating Snowflake application with Saviynt using DB connection type. I was able to import the accounts but for entitlements getting below error:

"No such property: for class: groovy.sql.GroovyRowResult Possible solutions: class, empty"

Where can I view Groovy file?

Using following xml:

<dataMapping>
<sql-query description="This is the Source DB Query">
<![CDATA[
select ROLE_ID as entitlementkey,'Snowflake' as securitysystem,'Snowflake' as endpointname,CREATED_ON as createdate,NAME as entitlementvalue,COMMENT as description,ROLE_TYPE as entitlementtype from SNOWFLAKE.ACCOUNT_USAGE.ROLES;
]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name">
<mapfield saviyntproperty="entitlementvalues.entitlementValueKey" sourceproperty="entitlementkey" type="number"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="securitysystem" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="endpointname" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.createdate" sourceproperty="createdate" type="date"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="entitlementvalue" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.description" sourceproperty="description" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="entitlementtype" type="character"></mapfield>
</mapper>
</dataMapping>

PFA logs.

Thanks

2 REPLIES 2

Raghu
Valued Contributor III
Valued Contributor III

@Mortal  try below

 

<dataMapping>
<sql-query description="This is the Source DB Query">
<![CDATA[
select ROLE_ID as entitlementkey,'Snowflake' as securitysystem,'Snowflake' as endpointname,CREATED_ON as createdate,NAME as entitlementvalue,COMMENT as description,ROLE_TYPE as entitlementtype from SNOWFLAKE.ACCOUNT_USAGE.ROLES;
]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" deleteentitlementowner="false" createentitlementtype="true" systems="'Snowflake'">
<mapfield saviyntproperty="entitlementvalues.entitlementValueKey" sourceproperty="entitlementkey" type="number"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="securitysystem" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="endpointname" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.createdate" sourceproperty="createdate" type="date"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlement_value" sourceproperty="entitlementvalue" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.description" sourceproperty="description" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="entitlementtype" type="character"></mapfield>
</mapper>
</dataMapping>


Thanks,
Raghu
If this reply answered your question, Please Accept As Solution and hit Kudos.

rushikeshvartak
All-Star
All-Star
<dataMapping>
	<before-import></before-import>
	<sql-query description="RV SNowflake Database Roles">
		<![CDATA[
			 	select 'Snowflake' as SECURITYSYSTEMNAME,'Snowflake' as ENDPOINTNAME,ROLE_ID as ROLEID,CREATED_ON as createdate,NAME as APPROLENAME,COMMENT as description,ROLE_TYPE as ENTTILEMENTTYPENAME,1 as STATE from SNOWFLAKE.ACCOUNT_USAGE.ROLES;

				
]]>
	</sql-query>
	<mapper description="SNowflake  Roles Import" deleteentitlementowner="false" dateformat="date" createentitlementtype="false" entnotpresentaction="inactive">
		<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="SECURITYSYSTEMNAME" type="character"/>
		<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="ENDPOINTNAME" type="character"/>
		<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="ENTTILEMENTTYPENAME" type="character"/>
		<mapfield saviyntproperty="entitlementvalues.entitlement_value" sourceproperty="APPROLENAME" type="character"/>
		<mapfield saviyntproperty="entitlementvalues.description" sourceproperty="description" type="character"/>
		<mapfield saviyntproperty="entitlementvalues.customproperty1" sourceproperty="ROLEID" type="character"/>
		<mapfield saviyntproperty="entitlementvalues.status" sourceproperty="STATE" type="number"/>
	</mapper>
	<after-import description="EMAIL,BATCH,SQL"></after-import>
</dataMapping>

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