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

entitlenementonly

Antoine
New Contributor III
New Contributor III

Hello, 

We are using a REST connector.

To prevent to create an account without aprofile, we activated the parameter EntitlementOnly.

But with this configuration , when we try to make a request to update only a dynamic attribut without changing the entitlement  no task for an updateaccount is created

Is it a normal behaviour ?

Is ti possible to update the account'sattribut only  with this configuration ?

 

Regards

Antoine

18 REPLIES 18

naveenss
All-Star
All-Star

@Antoine  Yes this is the expected behavior. If the create task action is set as "EntitlementsOnly" then account level tasks won't be created.

 

Regards,
Naveen Sakleshpur
If this reply answered your question, please click the Accept As Solution button to help future users who may have a similar problem.

naveenss
All-Star
All-Star

To mitigate this, you can use validation checks(if/else block) in your workflow to handle such scenarios. Sharing a sample condition for your reference.

(ars_requests.requesttype == 3 and entitlement.entitlement_value == null) or (ars_requests.requesttype == 12 and entitlement.entitlement_value == null)

Let me know if you need further help!

 

Regards,
Naveen Sakleshpur
If this reply answered your question, please click the Accept As Solution button to help future users who may have a similar problem.

Antoine
New Contributor III
New Contributor III

Yes.  Could you please give me more detail ?

What validation check means ? Do you have some example to share ?

Thanks in advance

@Antoine I have edited my reply to include the Sample if/else condition to be included in the workflow.

 

Regards,
Naveen Sakleshpur
If this reply answered your question, please click the Accept As Solution button to help future users who may have a similar problem.

AmitM
Valued Contributor
Valued Contributor

Hi @Antoine , you can make your entitlement type as mandatory

AmitM_0-1708623509817.png

Now , they have to request one when requesting a new account and updates will work as usual as atleast one entitlement will be attached at all times after creation.

Thanks,

Amit

If this answers your query, Please ACCEPT SOLUTION and give KUDOS.

Antoine
New Contributor III
New Contributor III

Our requirement is to prevent the creation of the account if the entitlement'approval is rejected.

The account is approved by the user's manager and the entilement by the owner of the entitlement.

We need to have the ability to update the dynamic attribut of the account from the ARS.

We want ro reject the account task if the entitlement approval is rejected. (without the entitlementOnly parameter) 

Keep Accounts Update Auto Approved. and if all request is approved then only create Account tasks

Refer : https://forums.saviynt.com/t5/saviynt-knowledge-base/how-to-configure-all-approval-workflow-to-creat...

If you need further help share workflow


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

Hello,

I have the issue as mentioned in the Refer Method createAccessForApproved not available

,"org.jbpm.pvm.internal.wire.WireException: method createAccessForApproved(java.lang.Long) is not available on object com.saviynt.workflowmgt.grantaccess@6d9c2afd (com.saviynt.workflowmgt.grantaccess) 

How I can fix this isse ? 

Since I made a modification in xml mode , 

When I click on "Edit workflow" , the xml editor is automatically loaded.

I can't switch back to Graphical mode.

How I can load the worflow in the graphical mode  ?

 

 

  • Make sure you workflow type is parallel
  • Once you changed to XML you can't get back to Graphical view

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

Antoine
New Contributor III
New Contributor III

OK thanks .

And about the java error  "createAccessForApproved(java.lang.Long) is not available " in your suggested link.

Is there a workaround  to make it works  ?

This issue has been encountered in the last topic of your suggested link

https://forums.saviynt.com/t5/saviynt-knowledge-base/how-to-configure-all-approval-workflow-to-creat...

Thanks

Please share workflow in zip


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

Antoine
New Contributor III
New Contributor III

Here is our workflow

Please test attached and share logs 

<?xml version="1.0" encoding="UTF-8"?>
<process key="AOS_Test" name="AOS_Test" xmlns="http://jbpm.org/4.4/jpdl">
    <start name="Start">
        <transition to="foreachAccessRequest"/>
    </start>
    <foreach in="#{RequestAccessKeys}" name="foreachAccessRequest" var="requestaccesskey">
        <transition to="entitlementWF"/>
    </foreach>
    <java class="com.saviynt.workflowmgt.rejectaccess"
        method="denyAccess" name="Reject">
        <arg>
            <object expr="#{requestaccesskey}"/>
        </arg>
        <transition to="All Approvals Complete Check"/>
    </java>
    <java class="com.saviynt.workflowmgt.grantaccess"
        method="createAccessForApporved" name="Grant">
        <arg>
            <object expr="#{requestaccesskey}"/>
        </arg>
        <transition to="All Approvals Complete Check"/>
    </java>
    <decision name="entitlementWF">
        <transition to="MyselfForAccount">
            <condition expr="#{(entitlementslist.get(requestaccesskey) != null  ) eq true }"/>
        </transition>
        <transition to="MyselfForEnt">
            <condition expr="#{(entitlementslist.get(requestaccesskey) != null )  ne true }"/>
        </transition>
    </decision>
    <task name="MyselfForAccount">
        <assignment-handler class="com.saviynt.workflowmgt.ArsCustomAssignmentHandler">
            <field name="fieldname">
                <string value="CustomQuery___select userkey  from users  where username=test1___Any Owner Approval Required"/>
            </field>
            <field name="mitigatingControlRisk">
                <string value="[]"/>
            </field>
        </assignment-handler>
        <transition name="Approved By MyselfForAccount" to="Grant"/>
        <transition name="Rejected By MyselfForAccount" to="Reject"/>
        <on event="end">
            <event-listener class="com.saviynt.workflowmgt.JBPMTaskEventListner">
                <field name="msg">
                    <string value="null"/>
                </field>
            </event-listener>
        </on>
    </task>
    <task name="MyselfForEnt">
        <assignment-handler class="com.saviynt.workflowmgt.ArsCustomAssignmentHandler">
            <field name="fieldname">
                <string value="CustomQuery___select userkey  from users  where username=test2___Any Owner Approval Required"/>
            </field>
            <field name="mitigatingControlRisk">
                <string value="[]"/>
            </field>
        </assignment-handler>
        <transition name="Approved By MyselfForEnt" to="Grant"/>
        <transition name="Rejected By MyselfForEnt" to="Reject"/>
        <on event="end">
            <event-listener class="com.saviynt.workflowmgt.JBPMTaskEventListner">
                <field name="msg">
                    <string value="null"/>
                </field>
            </event-listener>
        </on>
    </task>
    <join multiplicity="#{quorum}" name="All Approvals Complete Check">
        <transition to="End Request"/>
    </join>
    <java class="com.saviynt.workflowmgt.endrequest"
        method="arsendrequest" name="End Request">
        <arg>
            <object expr="#{reqid}"/>
        </arg>
        <transition to="endRequest"/>
    </java>
    <end name="endRequest"/>
</process>

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

Antoine
New Contributor III
New Contributor III

Hello, 

I made some changes to make it works . I shared the last version of my workflow.

A last point, I can't update the table worflowhistory as mentionned in the step4

The table workflowhistory does not appears in the Data Analyzer.

Error : SELECT command denied to user for table 'workflowhistory'

Is it normal ?

Run query from analytics with preview option


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

Or download transport zip and re import zip


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

Antoine
New Contributor III
New Contributor III

Sorry It didn't work.

I tried to export and import  the workflow from transport service but when I edit it .  I am still in xml editor.

worlfowhistory is not available from as you can see in the attached file. We used the 24.1 version

Antoine
New Contributor III
New Contributor III

OK . I found what my problem was.

You should not edit and save your workflow directly in the xml editor.

But to make some changes in the workflow , export it , apply changes an re import from transport service

In that way, it s working fine