Might be going slightly off-topic here but I think it could be useful...
In order to make TM1RunTI a little palatable/easier to use we have a generic TI process (TM1RunTi_Did_It) as a kind of surrogate TM1RunTI. This is a TI process that has a dummy 17 field CSV file as a datasource and a single parameter - pConfigFile. This is a lot easier to run from the command line because you don't have to change anything once you've got TM1RunTI.exe running, the process name, the number and name of the parameters never change.
The pConfigFile parameter is the location and filename of a CSV file containing the name of the actual process we want to execute and all the associated parameters.
e.g.
"ImportData","pCube","GL Staging","pYear","2018"
In the Prolog of the TM1RunTI_Did_It process we change the datasource to be the CSV file we passed in as the pConfigFile parameter.
Code: Select all
DatasourceType='CHARACTERDELIMITED';
DatasourceNameForServer=pConfigFile;
This brings the process name and parameters into the process as variables, the data tab then just needs a bunch of ExecuteProcess commands to kick off the process. This is the top of the Data tab as an example, it goes on all the way down to no parameters but the code gets tedious really fast.
Code: Select all
bFlag = 'False';
IF(VParam8@<>'');
bFlag='True';
ExecuteProcess (vProcess,
vParam1,vParam1Value,
vParam2,vParam2Value,
vParam3,vParam3Value,
vParam4,vParam4Value,
vParam5,vParam5Value,
vParam6,vParam6Value,
vParam7,vParam7Value,
vParam8,vParam8Value
);
EndIF;
IF(bFlag@='False' & vParam7@<>'');
bFlag='True';
ExecuteProcess (vProcess,
vParam1,vParam1Value,
vParam2,vParam2Value,
vParam3,vParam3Value,
vParam4,vParam4Value,
vParam5,vParam5Value,
vParam6,vParam6Value,
vParam7,vParam7Value
);
EndIF;
The other benefit to this approach is you can have multiple rows in the config file and have a sequence of processes run one after the other as each row of the pConfigFile is read into the Data tab; all from a single execution of the TM1RunTI commandline.
Apologies again for going off-topic, it's not *really* relevant to parallel processing and TI, but I thought it might be useful nonetheless.