Creating Custom Process to Delete Outstanding Objects

Hi, 

I'm using One Identity Manager 8.1.5 and I want to create a custom process to delete, reset or publish outstanding SAPRole memberships. I need this process because some role assignemnts are directly assigned and some roles are indirectly assigned but It's impossible to me to distinguish or filter them from the Manager Interface. So I need to filter them on ObjectBrowser, select a set of outstanding objects and trigger the process. 

Checking on this forum, I found this question

 v7.7 Bulk Delete Outstanding Objects  when the problem is solved with a script by  , capable of deleting a set of Outstanding objects.

On this script i can see that Connection Parameters are inserted and then removed from the connection in order to permit the oustanding status Update. 

 Session.Variables.Put("ManageOutstanding"True)
 Session.Variables.Put("NoCollisionTest"True)
 Session.Variables.Put("ManageOutstandingOperation""DELETE")...

So, i converted the script in order to delete one specific object, using as input parameters the ObjectKey of the outstanding object and a parameter that specifices the operation (reset, publish,delete) . Then I created a process that runs the script and is triggered by custom event on SAPuserInSAPRole. I trigger a differ process instance for every object i want to delete. I tested the process and it works fine. 

During the execution of this processes the connection parameters are put into connection and then removed in every by different script executions. 

My question is: Can it be a problem if the same parameters are set and removed from connection, from different scripts, run by different processes at the same time?

It's not clear to me how the connection variables work and which DB 'connection' do they refer to.

If anyone could help it would really useful. 

Thank you,

Enrico. 

Parents
  • My question is: Can it be a problem if the same parameters are set and removed from connection, from different scripts, run by different processes at the same time?

    No, it will not. The session (or connection for the legacy object layer) is bound to the client (process component, UI, Web Application, ...) and normally has no side effects on other clients connected to the system. The only exception could be the re-use of the underlying sessions for the execution of the process components in a Job Service. That is the reason why you find the FINALLY block in my script.

  • Thank You for the relpy Markus, 

    So,for example, every different execution of a ScriptComponent.ScriptExec step of a process uses his own 'connection' to Database? Even if all this steps are executed by the same Job Service?

Reply Children