Stored Procedure Transaction Group

Does anybody know why this transaction group is firing the stored procedure one time per item (three times) instead of one time for the three items?


Can you share your Trigger tab? I would assume you've got the triggers configured incorrectly.

1 Like

Sure, as far as I understood I didn't have to configurr any trigger for the desired behavior.

Ah, I see.

  • Without configuring a trigger, a transaction group executes unconditionally at its schedule. Every five seconds, in this case.

  • A transaction group will not run in a disabled project.

  • A transaction group defined in an inheritable project will run in every leaf project that inherits from it.

I'm going to guess you have three leaf projects inheriting from the project where this group is defined.

Absolutely yes!

The problem was that every leaf project was launching the transaction group.

After reviewing the Ignition documentation related to "Runnable" objects, the same behavior is expected for Gateway Event Scripts. However, even though I have a timer script defined in the inheritable project, it's not run by all leaf projects. I can only identify one execution of the script, when there should be three.

Thanks for your useful response.

1 Like

Yes, but if any project has edited/overridden the gateway event scripts resource, any event scripts added to the inheritable project later will not propagate to the leaf projects.

Anyways, don't try to define anything but library scripts, Perspective views, Vision windows, and Vision templates in your inheritable projects. Gateway events should only ever be defined in a leaf project dedicated to "background" operations. See this topic for related ideas:

1 Like

I've checked, and none of the three leaf projects overwrite the Gateway Event Scripts. I've put a print "" sentence in a Timer Script (30s) of the Inheritable Project and I can see that only just one "" string is written in the log. So it seems like the inheritable project is the one that is executing the script, not the leaves. Maybe there is a configurable parameter in the gateways to activate this behavior.

Not possible. Include the result from system.util.getProjectName() in your print.

1 Like

Done, you're right, the one writing the print was a leaf project, and the other two were overwriting the resource. Sorry, I misjudged when verifying it.

1 Like