Product:
Cognos Controller 10.4
Microsoft Windows 2016 server

Problem:
New installed Cognos Controller client on citrix/terminal server give error when open a standard report in PDF.

Error message:

Suggested Solution:
Check that the user logged in to citrix, have access rights to run the program Adobe Reader. Can be limited by group polices in Windows.

Product:
Cognos Controller 10.4
Microsoft Windows 2016
Oracle database 12c

Problem:
Get a error message when open Command Center dialog inside Cognos Controller client , in a new installation.

Error Messages examples:
Caused by: com.ibm.cognos.ccr.common.NoSuchModelException: Unable to find instance of model of type: configproperty[ConfigPropertyModel]…….
Caused by: com.ibm.cognos.ccr.common.WebServiceConnectionException: exceptionId=ERR.ANY.WEBSERVICECONNECTIONEXCEPTION.SERVICE_FAILED, …..
Caused by: com.ibm.cognos.ccr.common.ResponseException: FAIL:com.ibm.cognos.ccr.common.SQLRollbackException: Failed to rollback transaction….

Solutions to check:

Workaround is to use OJDBC5.JAR file in this locations on the Controller server:
c:\Program Files\ibm\cognos\ccr_64
c:\Program Files\ibm\cognos\ccr_64\server\integration
c:\Program Files\ibm\cognos\ccr_64\server\FAP\lib
Even do CA11 can work with OJDBC7.JAR file, it may not be that Cognos Controller can it.

Check that file ccr-system-properties.properties and ccr-dbTypes.properties
in folder c:\Program Files\ibm\cognos\ccr_64\server\integration
are updated with Oracle information.
https://www-01.ibm.com/support/docview.wss?uid=swg21995182
https://www.ibm.com/support/knowledgecenter/en/SS9S6B_10.3.1/com.ibm.swg.ba.cognos.ctrl_inst.10.3.1.doc/t_usealternatejdbcdriver.html

https://www-01.ibm.com/support/docview.wss?uid=swg22006798

Setup a TNS_ADMIN windows system variable to point to the TNSNAMES.ORA file
https://www-01.ibm.com/support/docview.wss?uid=swg21882992

Oracle driver OJDBC7.JAR file, will work for Cognos Controller, if you do not edit the ccr-dbTypes.properties file – leave it as default.

https://www-01.ibm.com/support/docview.wss?uid=swg22006798

Product:
Cognos Controller 10.4
Microsoft Windows 2016

Problem:
How create one silent install package, that can install to different environments. If the install script run in DEV it should point to the DEV controllerserver (e.g. by updating the ccr.exe.config file), same script should work for PROD.

Suggested Solution:
In case your terminal servers host name point out if it is DEV or PROD, like this;
DEV servers have TT in there servername like TT2345.
PROD servers have SRV in there servername like SRV2345, and PPE have PP in the servername.
Then you can create 3 uniq ccr.exe.config files, with a predefined line for each environment;
<add key=”WSSUrl” value=”http://DEVSERVER.COMPANY.COM/ibmcognos/controllerserver”/>


Place all files in the same folder on the server. 3 files of ccr.exe.config, with the middle part replaced with the environment tag. The client ccrlocalclient64.msi file and a BAT file with below code;
REM=================replace italic with your values=========
cd /D %~dp0
msiexec /qb /i CCRLocalClient64.Msi IBM_COGNOS_CONTROLLER=”C:\Program Files\IBM\IBM Cognos Controller Local Client” WSSURL=http://controllerserver.company.com/ibmcognos/controllerserver HELPURL=http://webserver.company.com/ibmcognos/documentation/en/welcome.html

@setlocal enableextensions enabledelayedexpansion
@echo off
set COGNOSVAL=NULL
call :CheckEnv %COMPUTERNAME%
call :CopyFile

Goto ScriptEND

:CheckEnv
echo %1
set str1=%1
if not x%str1:tt=%==x%str1% set COGNOSVAL=DEV
if not x%str1:pp=%==x%str1% set COGNOSVAL=PPE
if not x%str1:srv=%==x%str1% set COGNOSVAL=PROD
Goto END

:CopyFile
copy /Y ccr.%COGNOSVAL%.config “C:\Program Files\IBM\IBM Cognos Controller Local Client\CCR.exe.config”
copy /Y CognosController.ps1 “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\CognosController.ps1”
Goto END

:ScriptEND
endlocal
:END
REM=====================end of code==============

We also copy a ps1 file to the startup folder of Windows 2016.
The powershell cognoscontroller.ps1 file is run when a user logon to the terminal server, in that ps1 script you can have code to set that excel can open XLT files, and other things.

Update the BAT file with the your prod servers WSSURL and HELPURL, if the servername does not match Controller client is installed with this values.

Above show the line to update in the ccr.exe.config file.
The content of this file is copied to the users windows profile C:\Users\username\AppData\Roaming\Cognos\ccr\ccr.config, when they start Cognos Controller Client for the first time.
To make above work, the Terminal Servers should not use a roaming profile.
Run the BAT file to install Cognos Controller, and it will copy the correct ccr.exe.config file to your program files folder.

More Information:
https://docs.microsoft.com/en-us/windows-server/storage/folder-redirection/deploy-roaming-user-profiles
https://ss64.com/ps/push-location.html
https://www.tachytelic.net/2017/10/find-startup-folder-windows-server-2012-windows-server-2016/

https://www-01.ibm.com/support/docview.wss?uid=swg21640592

https://www-01.ibm.com/support/docview.wss?uid=swg21967963

https://allthingscognos.wordpress.com/category/cognos-controller/

Product:
Cognos Controller 10.3.1
Microsoft Windows 2012 R2 (Windows NT 6.2)

Issue:
What are the recommended settings for IIS Application Pools?

Recommendation:
For cognos controller and ICAPool that are used with Cognos Controller, recommended timeout is 600 minutes.
Login to the Cognos Controller Server.
Open Internet Information Services (IIS) Manager
Click on Applications Pools
Click on NET v4.5 or the one created for Controller.

Change Idle Time-Out (minutes) to 600.
Click OK.
Do the same for the other Applications Pool used by Cognos.

Cognos Controller Applications Pool should use the local system account.

Set the Cognos BI timeout value to same, open Cognos Configuration, and go to Security – Authentication, and change to 36000 seconds.

Save and restart your Cognos services in correct order. Cognos Content Manager service first.

Then you should change recycling of Application Pool for Cognos Controller to be at a defined time, and not after 29 hours.

Change this to it to be recycled at 1 AM at night, like below.

Also ensure that the logging of the recycling is active, this is not default in Windows 2012, see below to have it active.

More Information:
https://www-01.ibm.com/support/docview.wss?uid=swg21969315
https://www-01.ibm.com/support/docview.wss?uid=swg21990348

https://www-01.ibm.com/support/docview.wss?uid=swg21643735

https://www-01.ibm.com/support/docview.wss?uid=swg21692450

Product:
Planning Analytics 2.0.5
Microsoft Windows server 2016

Problem:
When open the tm1server.log file, the time is 2 hour off the local time or so. This is because default all tm1 logging is done in GMT time.

Solution:
Create a tm1s-log.properties file with below content and place it in same folder as your tm1s.cfg file.

#
# Enable INFO level logging through the shared memory appender, by default. The server # will write informational messages, as well as errors and warnings to the log file.
#

log4j.logger.TM1=INFO, S1

# S1 is set to be a SharedMemoryAppender
log4j.appender.S1=org.apache.log4j.SharedMemoryAppender
# Specify the size of the shared memory segment
log4j.appender.S1.MemorySize=5 MB
# Specify the max filesize
log4j.appender.S1.MaxFileSize=100 MB
# Specify the max backup index
log4j.appender.S1.MaxBackupIndex=20
# Specify GMT or Local timezone
log4j.appender.S1.TimeZone=Local
# adds info about process locks to the tm1 server log file
Log4j.logger.TM1.Lock.Exception=DEBUG

More Information:

https://www-01.ibm.com/support/docview.wss?uid=swg22003062

http://www.tquate.com/blog/configuring-and-enabling-logging-tm1/
https://exploringtm1.com/changing-tm1-server-log-time-zone-stamp/
https://www-01.ibm.com/support/docview.wss?uid=swg21459102

Product:
Planning Analytics 2.0.5
Microsoft Windows 2016 Server

Problem:
How move NTFS and File Share security to a new server? We have shared a MANUALINPUT folder on the TM1 server, where selected users can update text files with data. This csv file are read into the TM1 application with use of a TI process. Now we setup a bigger Windows server and want to move over the windows security setup.

Suggested solution:
Test this steps in a test server first, to ensure they work in your environment.

You have created the folder d:\tm1app\manualinput
Login on your old TM1 server and open a command prompt as administrator.
Enter this command to save the security:
icacls d:\tm1app\manualinput /save ntfspermissions.txt /c
Copy the txt file over to the new PAL server
Enter this to restore the security:
icacls d:\tm1app /restore ntfspermissions.txt /c

/t parameter to icacls will include all subfolders in the security file.

The user that have access to the file share is stored in the registry, so on your old TM1 server you need to open REGEDIT.


Expand Regedit to the following location:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
Right-click the Shares registry key and select Export. Enter a file name like sharepermissions.reg.
Copy the reg file to the new PAL server.
Open the reg file in notepad, to ensure you only got the SHARES you want to be there.
If there are extra shares you do not want on the new server, erase this lines and save the file.

Open Regedit and go to HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
Right-click the Shares registry key and select Export. Enter a file name like backuppermissions.reg. This to have a backup of the settings in registry before you apply the new values.
Double click on the reg file from the other server, to import the values.


After the file is imported, you have to reboot the windows server to make the change take affect.

Note that the servers need to be in the same domain, for this to work, so the users are the same in both servers.

More information:
https://www.itechtics.com/backup-restore-ntfs-permissions/
http://woshub.com/how-to-backup-and-restore-ntfs-permissions-using-icacls/

Product:
Cognos Controller 10.3.1
Cognos Analytics 11.0.12
Planning Analytics 2.0.5

Problem:
What places should i change in Cognos in case i replace my Microsoft SQL database host to a new server?

First;
Stop all Cognos windows services.
Take a backup of the databases and copy them over to the new database server.
Ensure that the collation settings (sort order) is the same on old and new database instances.
Ensure that the SQL login have the correct dbowner rights on the database tables.
Start up the new database server.

Solution:
Cognos BI have connections to content store, and other databases you have setup from Cognos Configuration.
Start Cognos Configuration.
Go to Environment – Logging – Audit – Audit and change database server with port numbers value to the new SQL server.
Go to Data Access – Content Manager – Content Store, and change database server name value to the new SQL server.

Repeat the change for notification database,and any other database you have setup in Cognos configuration.
Save the changes and start the CA11 services, in case you have more than one BI server, start with the primary content manager first.

Surf to Cognos Connection, go to manage – administration console. Click on configuration tab. Go to Data Source Connections and in the right side click on the database link name. Then click on more in the right side.

Click on Set properties. Click on Connection tab. Click on pencil icon to edit the data source.

Change the server name to the new server, click on JDBC tab, and change Server name and port number to the new values. Click OK twice to save changes.
Test if the connection works.
Repeat for any data source you have here, that have changed database server.

Cognos Controller have database access that is stored in udl files, and is changed with IBM Cognos Controller Configuration program.
Start Controller Configuration on the Cognos Controller server.

Go to Database Connections – and for each database change the Data Source and click save.

Go to Report Server tab. Click on the check icon.
Press the REPAIR button, to update the data sources in Cognos Analytics.
Ensure that the windows user you are logged in to the Cognos Controller server, is system admin in CA11 Cognos connection, to make the update possible.

Go to Enhanced Reporting Optimizations tab – change the server name here. In most cases the file share for the ERO function is on the SQL server, and therefor need to be changed when you change your database server. Click save after each change, and you need to update each connection.

Ask the cognos controller users to test, by run a excel report with the ERO function active.

If the ERO share is on a file server (or the cognos controller server) you need to add the windows service account that the new SQL server is using to the file share, so the SQL server process have access to the files in this share.

The FAP service is configured in the C:\Program Files\ibm\cognos\ccr_64\server\FAP\FAPService.properties file. Open it in notepad++.
db=FAP
host=changethistothenewdbservername
dbType=sqlserver
user=cognos
passwd=xxxxxxx

Host should be servername\\instancename or servername:port if the port is correct.
http://www-01.ibm.com/support/docview.wss?uid=swg21417314
Save the FAPService.properties file and start the IBM Cognos FAP Service.
Check the C:\Program Files\ibm\cognos\ccr_64\server\FAP\error.log file for errors.

On the TM1 server there are ODBC connections to the SQL database, one is called FAP. All ODBC connections need to be updated to point to the new database server.
Export the values from registry and edit the server name in notepad.
Start Regedit program.
Go to HKEY_LOCAL_MACHINE – SOFTWARE – ODBC – ODBC.INI
Right click and select Export.
Save the file as ODBC_64.REG

Repeat the same for [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI] to get the 32 bit ODBC drivers exported to a text file, like odbc_32.reg.
The file can look like below;
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FAP]
“Driver”=”C:\\Windows\\system32\\sqlncli11.dll”
“Server”=”roger2”
“Database”=”FAP_database”
“LastUser”=”cognos”
Open the file in notepad and change the server to the new database server, save the file.
Double click on the reg file to register the new value for the ODBC connection.

Start the FAP client connect, and enter the new server name and any new username or password, step through the database on the source tab to ensure it point correct. Edit as below if needed.


You need to edit the server for the cognos controller database, on the source tab.

You need to update the Controller Web to the new database. Stop the IBM Controller Web service.
Start a CMD prompt and go to folder; cd d:\Program Files\IBM\cognos\ccr_64\fcmweb
Enter the following command:
SyncDBConf.bat    ..\Data    wlp\usr\shared\config\datasources

Start the IBM Controller web service.
https://www-01.ibm.com/support/docview.wss?uid=swg21997329

More information:
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=13C73BD0195811E7A99D5014AD6C3D46&osPlatforms=Windows
https://www-01.ibm.com/support/docview.wss?uid=swg21882732&aid=3

https://mediacenter.ibm.com/media/IBM+Cognos+ControllerA+Introduction+to+IBM+Controller+Web+v10.3.1/1_wg5tg2t4/79354581

Product:
Planning Analytics Workspace 39
Linux Centos (similar to Red Hat)

Problem:
How upgrade PAW to version 39?

Solution:
https://cubewise.com/blog/planning-analytics-workspace-installation-guide/
Download the latest version of PAW from here
https://www-01.ibm.com/support/docview.wss?uid=swg27049597

Backup
Backup will restart the services.
Login to the Linux server with PUTTY
Change to the docker user with command sudo su – dockeruser
go to the paw folder, in our example that is /ibm/paw
cd /ibm/paw

go to the scripts folder, and run the backup script
cd scripts
./backup.sh

After the backup is done, the PAW should work as before.

The backup is stored in folders under /backup as shown above.

Create folders

To be able to change owner of file you need to be root, change to root user with command:
su –

Create the new folder for paw39 with command mkdir /ibm/paw39
Start WINSCP to copy the file to your linux server from windows.

https://winscp.net/eng/download.php
Move to the folder where the ipa file is stored, and to the folder where you want it. Drag the file over in the WINSCP program.

Set the rights for the file in the WINSCP program, so the others have access to the file.

Go back into PUTTY.

Go to the folder and unzip the file with command:
unzip ipa_workspace_local_2.0.39.1695.1.zip  -d /ibm/paw39

Go into the folder /ibm/paw39 and set the owner of all the files in the folder and sub-folders with this command
chown -R  dockeruser:docker ./*

Copy config files from old installation

Copy the <paw_install_location>/config/paw.env file from your current installation to the new
installation folder.
cd /ibm/paw/config
cp /ibm/paw/config/paw.env   /ibm/paw39/config/paw.env

Copy the certs folders files
cp /ibm/paw/config/certs/*.* /ibm/paw39/config/certs/

Copy the pa-workspace.pem file to the new folder
cd /ibm/paw39/config
mv pa-workspace.pem pa-org-workspace.pem
cp /ibm/paw/config/pa-workspace.pem /ibm/paw39/config/pa-workspace.pem

Copy the privatekey.pem to the new folder
cd /ibm/paw/
cp privatekey.pem /ibm/paw39/privatekey.pem

The files you copy depend on your installation.
Stop PAW services
Go to the scripts folder and enter command:
./paw.sh stop

Check that all is stopped with command:
docker ps

Rename folders

mv paw paw35
mv paw39 paw

Start paw
Change to dockeruser with command
sudo su – dockeruser

Update the paw.env file with the ip address that should be used

nano -w paw.env
export ADMINTOOL_IP = 192.168.1.29

Update the Start.sh file with the path to the docker-compose folder if it is not accessible as default

nano -w Start.sh
export PATH=$PATH:/ibm/comp/

Enter ctrl+o to save the file, press enter.
Enter ctrl+x to exit nano text editor.

Enter command below in PAW folder to start paw upgrade.

./Start.sh

Press Y to upgrade
Press Y to start IBM Planning Analytics Workspace Administration Tool.

Scroll down and and accept the IBM License and Non-IBM License to continue.

Check that the TM1 Application Server Gateway URI and the other values is correct, and press Validate.

Click on Status tab and click on Restart button.  Wait until all is started and test that it is working.

Stop the Administration Tool from PUTTY before you leave the Linux server.

To go into the linux container to run ping from inside the docker, enter this command:
docker exec -ti admintool bash

Install the new Agent

https://www.youtube.com/watch?v=Nel5Ovh0-7Q&list=PLfq0ST5X3p-QfZoNXSkDCP-zyblxXmzMZ&index=36

Surf to you new Planning Analytics Workspace and login. If you are administrator there is a new icon to administrate the TM1 instances. Click on the icon.

On the left lower corner you can see the version of PA Agent at your server. If you run TM1_version=TM1-AW64-ML-RTM-11.0.6.71-0 TM1_name=IBM Cognos TM1, you have agent 10.0.36.736.
Click on the download link to download the PA Agent that ships with PAW 39 to your computer.

https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_prism_gs.2.0.0.doc/t_paw_download_paa_agent.html

Click on Download and save the file to a new folder on your computer.

Copy the file to a folder on the PAL server and unzip it. Open a CMD window as administrator, and go to the folder where you have the new PAA Agent files. Enter this command to install the new agent:

UpdatePAAAgent.bat  “c:\program files\ibm\cognos\tm1_64\”

You need to add the path to your TM1 instances folders in the bootstrap.properties file, the TM1 samples work as they are already added at default.

To make mail notifications to work, you need to update this lines in above file;

SMTP_EMAIL_PORT=587
SMTP_EMAIL_AUTH=true
SMTP_EMAIL_HOST=example.com
SMTP_EMAIL_USERNAME=user@example.com
SMTP_EMAIL_PASSWORD=Analytics123
PAA_EMAIL_ADDRESS=noreply@example.com

Enter values for your SMTP server, also update the PAA_EMAIL_ADDRESS ( ) field.
Restart the “IBM Planning Analytics Administration Agent” to make the changes take affect.

More information:
How set a static ip address on Linux
http://www.mustbegeek.com/configure-static-ip-address-in-centos/

https://www.cyberciti.biz/faq/howto-setting-rhel7-centos-7-static-ip-configuration/

https://www.techrepublic.com/article/how-to-configure-a-static-ip-address-in-centos-7/

https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_prism_gs.2.0.0.doc/c_install_paa_local_configure_event_notifications.html

How install docker on Linux
https://docs.docker.com/install/linux/docker-ce/centos/
To Install required packages before docker, enter this:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

To download the latest version of docker download this:
sudo yum install docker-ce docker-ce-cli containerd.io

To start and make docker stay started after reboot enter this:
systemctl start docker
systemctl enable docker

To download docker-compose enter this exact command:
sudo curl -L “https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose

To change to execute, for this file:
sudo chmod +x /usr/local/bin/docker-compose

Check the version, with this command, to see that it works:
docker-compose version

Product:
Cognos Controller 10.4
https://www-01.ibm.com/support/docview.wss?uid=ibm10735239
Microsoft Windows 2016 Server

Problem:
After upgrade to a later version of Cognos Controller 10.4, where also BI 10 have been replaced by CA11, the PDF shown inside Cognos Controller client is small. HTML reports works fine.

Solution:
The user profile of the user executing the report is referencing a style (also known as skin) from IBM Cognos Business Intelligence 10.

In IBM® Cognos® Analytics, in the lower-left corner, click icon for administration, select Administration Console.
On the Security tab, click Users, Groups, and Roles.
Click the namespace that contains the user.
Find the user whose preferences you want to view or change. You can use the Search feature to find a user Searching for entries using name, description, and name or description.
For that user – in the Actions column, click More.
Click Set preferences.
Click the different tabs to view or change the settings.
In the Preferences tab, choose Style Corporate.
Make the change and click OK.

Test again to run a report in Cognos Controller as PDF.

More Information:
https://www-01.ibm.com/support/docview.wss?uid=ibm10739581
https://www.ibm.com/support/knowledgecenter/SSEP7J_11.0.0/com.ibm.swg.ba.cognos.ug_cra.doc/t_viewchange_userprofile.html

Product:
Planning Analytics 2.0.5
Cognos Analytics 11.0.13
Microsoft Windows 2016 server

Problem:
Inside the CA11 cognos connection you have a workspace widget that link to a TM1 Application web (contributor app) that is on a secure TM1WEB server (HTTPS), and your CA11 is not, it uses HTTP. Depending on the browser used, you can get the error “no permission to perform operation”.

This can be that you have no rights in the TM1 application, but can also be that the user credentials is not brought forward to the site.

Suggested solution:
In the case when you have the servers in different domains, this can be a solution;

When the TM1 Application Server is not accepting the request at all. You can add an additional header, so that pmpsvc accepts requests from certain domains. The header is described here:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer

Login to tm1 server.
Open C:\Program Files\ibm\cognos\tm1_64\webapps\pmpsvc\WEB-INF\configuration\fpmsvc_config.xml in notepad++.
Find the line:

name=”X-Content-Type-Options” value=”nosniff”

Add the following after above line:

name=”Referer” value=”domain1.com;domain2.com”

Like this:

Restart TM1 Application Server

The setting will allow the pmpsvc URL to be called from any website within the domain1.com and domain2.com domain.

If a website is accessed from a HTTP Secure (HTTPS) connection and a link points to anywhere except another secure location, then the referrer field is not sent.