This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Fire custom event from template

In Identity Manager 6.1.3, how can I start / fire a custom event of a process out of a template?

  • Honestly, I wouldn't recommend to fire an event out of an template as the point in time when the template will be executed and the number of executions can differ depending on the exact content of the template and on the object use (interactive in an UI, template triggered by a normal property change in a script, using property bags, ...).

    It would be helpful if you describe what you are trying to achieve. It could be the table scripts are what you are looking for.
  • Hi Markus

    thanks for your reply. We have the following situation:

    We have an custom process which is triggered if a new person will be inserted (Event: Person --> insert). This process has an generation condition, that will start only if the value was different to the previous value.

    If a person was synced (inserted) with QuickConnect from SAP into Identity Manager and has a value in the relevant attribute, the custom process will start to execute.

    But in the last sync, we have had over 400 new persons. 180 of that has a value in the relevant attribute, but only for 60 persons the custom process was triggered. For 120 persons the custom process was ignored in case of the generation condition. But later, if the sync was finished, the relevant attribute in the 120 persons was filled up.

    We think, that there are a timing issue of syncing with QuickConnect. At the point where the insert event for a person will be triggered, the values are not filled up in all cases. Sometimes, the relevant attribute is empty. Then, for that persons the custom process will not started in case of the generation condition.

    Therefor, we hope, that we can switch from the event "Person --> insert" to a template based triggering (if value was changed) to start the custom process. Then, we can remove the generation condition.

    Maybe there are a other solution for that.

    PS: a same situation we have had by generating the centralaccount value for a new person. Sometimes all needed values was filled up to calculate the centralaccount correctly, sometimes not. Then, the centralaccount was generated wrong.

    But for that, the calculation was based on triggering a script out of the template, not a custom process.
  • First of all, the object layer ensures that every property has been finalized before it is generating the event (INSERT / UPDATE / DELETE), so if you are saying that sometimes values haven't been set by QuickConnect at the point in time of the event generation then there are different reasons for that.

    The same is true for the generation of the template using a script.

    Potential reasons to check:

    • QuickConnect: I am no QuickConnect expert, but depending on your configuration maybe a object will be touched twice. And as far as I know, QuickConnect sets the connection variable FULLSYNC to true. So you may check any template if it behaves differently because of that.
    • Check your template and your generation condition if you have covered any edge cases. For example a property is not marked as changed, if the old and the new value are the same. 
    • Check your templates in regards to the overwriting flag, if this is not set, the value will only be calculated once.

    Having said that, if you really want to generate a custom event (but I doubt you have to), use the OnSavingEvent on the Person table to do that.