About Procedures
A Procedure is a customizable sequence of Actions (also called Steps), capable to perform a broad range of tasks: for example, it can be used for updating a Board Data model, processing, extracting or printing data, performing calculations, broadcasting reports and for navigating Capsules and Screens. They can also be used for hidden tasks that process data, from simple calculations of values in Cubes to complex allocation procedures required in business models such as budgeting, planning, forecasting, profitability models, and business simulations in general.
The elementary steps of Procedures are called actions, belonging to various action groups depending on their purpose. An action can run a Data Reader protocol, perform a calculation step (called Dataflow) on a Cube, extract data from Board, and much more. Some actions are interactive and require users to interact with Board - for example they may prompt the user to make a selection - while other actions can run unattended.
Procedures execution
A Procedure can be executed:
-
When users click on Buttons or interact with other elements of a Screen
-
Automatically, when a specific Screen is opened or when data entry is performed
-
Manually, from the Procedures home page
-
Through a specific API call
-
As a scheduled task.
Procedures can be called by a user via:
- Interactive Elements (Buttons, Labels, Data view)
- Triggers (DataView, Pager, Screen)
- Other Procedures (by calling a Procedure within another Procedure)
Procedures can be Automated/Scheduled:
- For Cloud environments via the Cloud administration portal
- For On-premises environments via BoardProcedureLauncher.exe
Users do not have to wait for a procedure launched by another user to finish, they will execute in parallel.
Some specific Data model actions will exclusively lock the Data model. In this case, Board will automatically queue actions that require exclusive Data model access.
Procedure location
Board Procedures can be saved in a Capsule or in a Data model. With a few exceptions, the actions that can be performed are the same, regardless of the location of the Procedure.
Capsule Procedures
- A Procedure saved at the Capsule level can act on multiple Data models, but it can be invoked only from Screens of that same Capsule
- Suited to Capsule-near actions (Screen interactions, Calculations for a screen…)
- Are independent from the data and can be transferred across environments with the Capsule
- Are able to perform all possible actions
- Can only be invoked from the Capsule and cannot be scheduled.
Data model Procedures
- A Procedure saved in a Data model can only act on that same Data model: since it is saved at the Data model level, it can be invoked from different Capsules
- Suited especially to DB-near actions (Data reader, Backup/Restore, etc.)
- Can only be transferred to another environment together with the entire Data model (unless Transporter is used)
- Some Capsule specific actions are unavailable
- Can be scheduled
To access the Procedures section of a Data model, access the designer space of the desired Data model and click on the Procedures tile.
In the Procedures page, you can see all existing Procedures in the Data model and their main information: the table is sortable and searchable using the interactive header fields. You can also show or hide columns to your liking, by clicking the Column chooser button in the upper right corner of the table.
You can perform different actions on one or more Procedures by selecting them and by clicking on the different buttons above the table.
Click anywhere on the corresponding row to view the structure of a Procedure: a dedicated panel on the right-hand side of the page will appear, showing the entire set of steps of the selected Procedure along with any breakpoints.
The Procedure section of each Data model in Board allows you to:
- Create, delete, copy and run Procedures
- Edit options of one or multiple Procedures
- Add breakpoints that stop the execution of a Procedure at a given step to review various aspects of it
See Managing Procedures and Procedure Debugger for more details.