August 3, 2018
The ReportWORQ Server is used to execute ReportWORQ jobs on a remote server, whether this be from an action button, a TI process or a chore. The ReportWORQ Server runs in the background waiting for a request file to appear. When a request file appears ReportWORQ Server opens Excel and runs the job or jobs on behalf of the requester. This would not be all that useful if someone had to manually create the file and copy it to the request polling location. After all, he or she could just open Excel and run the job from the add-in itself.
Generally, requests are generated by some programmatic means. Anything that can create a text file and copy it to a folder can be used. This could be a simple batch (.bat) file or a program written in a language like Python. The most common way is to create a TI process in TM1 itself. A TI process is a good choice since it can be parameterized and job information can be stored in cubes. Each parameter or cube datum can correspond to a request file item. If jobs are to be run at certain times one or more chores can be set up for this purpose. Sometimes, people will want to run jobs more interactively. It is common for someone to enter some data into TM1 and then want to generate some reports. In this case an action button can be inserted into WebWORQ or TM1Web that will run the process.
It is important to note that the file cannot be created in the folder where ReportWORQ server is polling because it won’t be seen. The file must be created somewhere and then copied to the polling location.
Here is a simple example that can be used at the basis for this:
We want to run a job using the Prod TM1 server, send the notification email to jsmith@company.com and the job we want to run is called “Run Reports”.
The request file would have three lines and it would look something like this:
Prod
Run Reports
Create a TI process with the following parameters:
pFileName – string – the name of the request file (has an .rwjob extension)
pSourcePath – string – the location where the file will be created.
pTargetPath – string – the ReportWORQ server polling location
pServer – string – the name of the TM1 server
pNotificationEmail – string – the email address where the job notification will be sent
pJobName – string – the name of the job to run
Put the following code into the Prolog tab of a TI process:
MoveFile = 'cmd /C MOVE /Y ' | pSourcePath | pFileName | ' ' | pTargetPath;
DataSourceASCIIQuoteCharacter='';
ASCIIOUTPUT(pFileName, pServer);
ASCIIOUTPUT(pFileName, pNotificationEmail);
ASCIIOUTPUT(pFileName, pJobName);
EXECUTECOMMAND(MoveFile, 0);
Modify the code as necessary.