There might be instances where you might require the scheduled reports to run based on an event/trigger rather than Date & Time-based scheduling.
For example, say your Data Warehouse usually updates around 4 a.m every day. So you have scheduled your reports to run every day at 4.30 a.m with a 30-minute buffer, to accommodate for any issues DW update job that might be running late.
If your DW ETL update job fails or runs past 4.30 am, then your reports are going to continue to execute on the preset schedule. They are going to get distributed to the users with previous days data. Once your ETL gets over, the reports would need to get kicked off again later that morning resulting in your users getting another set of reports.
Or you might have business users who might want specific reports to run automatically on certain days of the month. Most popular I have come across are 1st, 2nd, 3rd, 4th, 5th, 15th and Last day of the month. Cognos Time based schedule calendar does not provide flexibility to perform this action.
This is where Cognos Triggers come very handy! You can address the above scenarios by scheduling your reports to run off a trigger event instead of a Calendar event.
I have listed steps to setting up triggers below.
Copy the below code into a text editor
rem Copy the below code into a notepad and save it as “.bat” file cd "D:\Program Files\ibm\cognos\analytics\webapps\utilities\trigger" trigger.bat http://<REPLACE_WITH_DISPATCHER_NAME>:9300/p2pd/servlet/dispatch <USERID> <PASSWORD> "<ACTIVEDIRECTORY_DOMAINNAME>" <TRIGGER_NAME1,TRIGGER_NAME2>
- List your Dispatcher
- List your Credentials
- Mention Custom Trigger Names
- Save the file as “.bat” file
Save the file over to your Cognos Application servers.
Execute the batch file ( manually or via a scheduling agent of your choice).
- If you are running it after your ETL job, then get your ETL tool to execute this batch file after the updates complete.
- If you are running based on a business day, then get your corporate scheduling agent to execute this batch file based on business case( i.e., 1st business day, last business day, etc. )
- If you are storing these batch files in a location other than your Cognos application server. Then path mentioned, “D:\Program Files\ibm\cognos\analytics\webapps\utilities\trigger” in the code needs to be changed, to a relative containing your Application server name. Also, make sure the servers can talk to each other.
- If many triggers are needed, then copy the same file over and change the trigger name based on your need.
Once everything is set up, On the reports which need to be scheduled by a trigger, change the schedule type to “Trigger” and mentioned the Trigger name as shown in the screenshot.
Note: Trigger-based scheduling is really great but one drawback is not being able to attach a schedule to multiple triggers. You can accomplish that by creating a Job or using Event studio. But it would have been a lot easier if IBM provided users with the ability to attach multiple triggers to a schedule.