The purpose of this site is to share advanced techniques, tips, and tricks regarding Cognos BI report development that I’ve come across in my career as a Cognos BI developer. The focus will be around integrating JavaScript in Cognos reports for various uses including enhancing the usability of Cognos prompts and filling gaps in functionality that aren’t currently provided by the Cognos the product, e.g. dynamic prompt defaults.

My development philosophy is to always use Cognos-supplied capabilities when available and supplement with more advanced coding if necessary to meet specific solution requirements. However, I won’t be covering techniques that use completely out-of-the box Cognos capabilities very much here. There are plenty of other sites that do that quite well. Instead, I will be exploring the use of custom JavaScript to extend Cognos functionality, providing whole new capabilities and enhancing existing ones.

Most solutions will utilize the documented JavaScript API first supplied in Cognos BI version 10.2. JavaScript written to this API is supported by Cognos and guaranteed to work in future versions. Every attempt will be made to use the API if possible. However, there are many undocumented Cognos JavaScript capabilities that I’ve discovered through a bit of reverse-engineering. At times I will describe advanced solutions that go outside of the documented Cognos API and use functions and properties that are not included in the published API and thus may not work from version to version without modification. These will be clearly marked as such.