The EXECUTEPROCESS function is used to call and run a TurboIntegrator (TI) processe from within another TurboIntegrator processes. This function will run the process identified within the parentheses along with any specified parameters that follow.

 

 

The first argument in the function will be the process that is going to be executed. The only requirement is that the process exists on the same TM1 server it is being called from. If it does not, the process will terminate.

For any process that requires parameters, the arguments that follow will be the name of the parameter followed by the value of the parameter to be used.

When using EXECUTEPROCESS, consider the design philosophy of your TI processes. Certain processes have better performance when run as separate TI processes. For example, processes that have metadata changes, such as adding new elements to a dimension, and then loading data can generate errors when data is being loaded to those new elements. Instead, breaking these steps into disparate processes by using EXECUTEPROCESS from a parent process, can reduce some of those errors.

 

 

 

 

 

The above set of code would be used in the prolog tab of a parent TI process to call the two subsequent processes. Instead of writing out the process name in the argument of the function, the code author has chosen to set the process names as variables, which also works.

Another common use case for EXECUTEPROCESS is to track statistics about the TI process for audit  and debugging purposes (such as start time, end time, record count, errors, parameters used, source, target, etc.).  To do this, you will need to create the appropriate cube to store the statistics and/or export the statistics to a file.  The following is an example of EXECUTEPROCESS being used to post statistics to the cube.  Please contact us if you would like more information about how to setup a process statistics cube and TI.