Pause and Resume Functionality
  • 20 Feb 2024
  • 2 Minutes to read
  • Contributors

Pause and Resume Functionality


Article summary

Learn how to pick up where you left off in your Tulip apps.

Batch processes may last many hours or many days. To enable an operator to pause work on a batch, and pick up where they left off at a later time consider the following solution recommendations.

There are two fundamental things you need to do to enable this:

  1. Variables are session-based, meaning that they are, by default, refreshed between each app execution with their pre-defined default values. If you need to store a parameter or a piece of information for use in another trigger later in the process, store it in a Tulip Table before exiting the app.

  2. In order to resume the App and navigate the operator to where they left off, store the App Step Name in a designated column in your Batches table. Do not store the App Step Name if the step is a modal or Common step (e.g. a step wherein an operator briefly logs a deviation). Use ‘On Step Enter’ or 'On Step Exit' triggers to save the App Info / Step Name to that designated column in your Batches table.

    • You can put such a trigger in the Base Layout / Step level, however be sure to add conditions to NOT save the step name for modal/common steps as discussed earlier.
    • Depending on your solution design, you may also need to store the App Info / App Name into its own designated column on your Batches table for use in Transitions.



When resuming the batch:

  • For the scenario in which you need to use previously-stored process data from the Batches table (as discussed in 1 above) in some later Trigger (e.g. in a calculation), you can either:
    • Design those latter triggers to read the value from the table directly (e.g. a table Record Placeholder's column)
    • OR use 'Data Manipulation - Store' to save that process data back to their corresponding app variables.
  • Use a Transition of 'Go to Step by Name' to return the Operator to the App Step Name stored in your Batches table (as discussed in 2 above)

Was this article helpful?