BPM - conditional start question

BPM - conditional start question

  
Hello.

I have a question regarding the OutSystems BPM "Technology". A process represents a database trigger?


When I create a process and say that he has a conditional start when an update is done to a certain Entity. This process is fired when I make an update advanced query to that entity? Or is only fired when I use the CreateOrUpdate or Update Outsystems action?

Thanks in advance.

Best regards,

Tiago Reis
Hi,
That mechanism is indeed based on DB triggers. Using the entity actions or the update in adv query should have the same effect.
Paulo Ramos wrote:
Hi,
That mechanism is indeed based on DB triggers. Using the entity actions or the update in adv query should have the same effect.
 
 Thanks Paulo.

Best regards,

Tiago
Paulo Ramos wrote:
Hi,
That mechanism is indeed based on DB triggers. Using the entity actions or the update in adv query should have the same effect.
 
 Hello Paulo.

I have another question regarding the BPM. As you said the process is a trigger DB. How can I know the previous value of a variable?
For example, I have an entity with an isactive attribute and I want to fire a process on the update of that entity. I use a conditional start, but I need to make some operation only when the isactive is changed from true to false. How can I see the old 'isactive' value?

Best Regards,

Tiago Reis
Tiago Reis wrote:
 
 Hello Paulo.

I have another question regarding the BPM. As you said the process is a trigger DB. How can I know the previous value of a variable?
For example, I have an entity with an isactive attribute and I want to fire a process on the update of that entity. I use a conditional start, but I need to make some operation only when the isactive is changed from true to false. How can I see the old 'isactive' value?

Best Regards,

Tiago Reis
Hi Tiago,

In short, there's no built-in feature for doing that (checking the pre-update value).

If you really need to detect the 1st true to false transition, maybe your process can fill another field (ex: InactivatedOn) the 1st time the record is inactivated (filling it with the inactivation date/time). In future updates, this will allow you to understand if the row was already inactivated.

As an alternative, consider launching the process explicitly, invoking the related launch action when the user inactivates the record (instead of using the Launch On Update pattern). This may be more difficult if the inactivation can occur in several places in your app (ex: bulk updates).
Thanks Paulo.

Best Regards,

Tiago
Are there any plans to add access to a pre-update value at any stage? I can imagine this would be extremely useful in many scenarios.

Thanks, Iain