Product:
IBM Data Studio 4.11
Windows 2012 R2 Server
DB2 database

Problem:
To save money the Cognos TM1 project does not want to use TOAD, and instead the free Data Studio – to allow the Developers have access to the data.

When run lanchpad.exe to install the DB2 Data Studio you get a installation screen without buttons. There are no links to select and install the product. Only a OK button to select language in the dialog exist in top right corner.
There should be buttons or menu options on the left side of the dialog, but there are none.
When you click on the OK button at the language, you are only brought back to the same dialog as before.

Instruction say to start LANCHPAD.EXE from the unzipped ibm_ds4110_win.zip file.
But that does not seem to work in some computer environments.

Solution:
Run the INSTALL.EXE instead.
Go to the folder \ibm_ds4110_win\disk1\installerimage_win64\
Right click on INSTALL.EXE and select “Run as Administrator”
This will first install the IBM Installation Manager
When that is done it will automatically start installation of Data Studio.

More Information:
http://www-01.ibm.com/support/docview.wss?uid=swg24037681

Product:
IBM DB2 Data Studio 4.1.1
Windows 2012 R2 Server
DB2 database

Problem:
Get a error when I start the program Data Studio 4.1.1 Client

Error Message:
Locking is not possible in the directory “D:\xxxx…. ” A common reason is that the file system or Runtime Environment does not support file locking for that location. Please choose a different location, or disable file locking passing “-Dosgi.locking=none” as a VM argument. ….

Possible Solution:
Right click on the icon for Data Studio 4.1.1 Client and start the program “Run As Administrator”.

During installation the Windows environment was not setup to run in a “multiuser environment”.

Product:
Cognos TM1 10.2.2
Windows 2008 R2 Server
Cognos Controller 10.1.1 FAP service

Problem:
Suddenly the FAP client can not login to the TM1 FAP instance, that have worked before.

Error message:
Could not login to TM1, host: servername.domain.com, server name: FAP user name: AD\Roger
SystemServerClientNotFound

Solution:
If you restart the TM1 instance, then you need to restart the FAP service.
1. Stop the FAP Service
2. Stop the TM1Service
3. Start the TM1Service
4. Start the FAP Service

Make sure to pause between the startup of TM1 and FAP, to ensure that the TM1 is up complete and ready to accept calls from clients.

More Information:
http://www-01.ibm.com/support/docview.wss?uid=swg21599573

Product:

Cognos TM1 10.2.2

Microsoft Windows 2008 R2

 

Symptom:

The TM1 admin service do not start (tm1admsdx64).

If you look into the Windows Event log you find this message;

 

Event log message:

Log Name: Application

Source: Application Error

Date: 8/1/2015 12:32:16 AM

Event ID: 1000

Task Category: (100)

Level: Error

Keywords: Classic

User: N/A

Computer: servername.domain.com

Description:

Faulting application name: tm1admsd.exe, version: 10.2.20100.123, time stamp: 0x5423612c

Faulting module name: MSVCR100.dll, version: 10.0.40219.1, time stamp: 0x4d5f034a

Exception code: 0x40000015

Fault offset: 0x00000000000761c9

Faulting process id: 0x6d8

Faulting application start time: 0x01d0c3b20308c42b

Faulting application path: C:\Program Files\IBM\Cognos\tm1_64\bin64\tm1admsd.exe

Faulting module path: C:\Program Files\IBM\Cognos\tm1_64\bin64\MSVCR100.dll

Report Id: fe71016e-37d3-11e5-bd34-0050569d5f35

Event Xml:

<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>;

<System>

<Provider Name=”Application Error” />

<EventID Qualifiers=”0″>1000</EventID>

<Level>2</Level>

<Task>100</Task>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime=”2015-07-31T22:32:16.000000000Z” />

<EventRecordID>105927</EventRecordID>

<Channel>Application</Channel>

<Computer>servername.domain.com</Computer>

<Security />

</System>

<EventData>

<Data>tm1admsd.exe</Data>

<Data>10.2.20100.123</Data>

<Data>5423612c</Data>

<Data>MSVCR100.dll</Data>

<Data>10.0.40219.1</Data>

<Data>4d5f034a</Data>

<Data>40000015</Data>

<Data>00000000000761c9</Data>

<Data>6d8</Data>

<Data>01d0c3b20308c42b</Data>

<Data>C:\Program Files\IBM\Cognos\tm1_64\bin64\tm1admsd.exe</Data>

<Data>C:\Program Files\IBM\Cognos\tm1_64\bin64\MSVCR100.dll</Data>

<Data>fe71016e-37d3-11e5-bd34-0050569d5f35</Data>

</EventData>

</Event>

 

 

Possible Cause:

Some time before you find message in Windows event log about

Event ID: 2013

Description:

The D: disk is at or near capacity. You may need to delete some files.

and you check the D drive to find there is very little space free.

Erase some file to free some GB and restart of server to see if that helps.

 

Possible Solution:

On TM1 servers, change the Virtual Memory for Windows 2008, to not be System Managed and instead set it to be fixed at the same level as the amount of RAM in the server.

Go to Control Panel – System – Advance system settings

Click Settings button for Performance

Click the Advanced tab

Click Change for Virtual Memory

In Virtual Memory dialog

Click on hard drive e.g. D:

Click Custom Size and set a value of

initial size to 8192 MB

maximum size to 33791 MB

(values depend on your hardware).

Click SET.

Click OK.

Restart the Windows server.

Product:

Cognos Controller 10.1 (version 10.1.2159)

Oracle database datamart ( dm version 43 )

Windows 2008 R2 server

 

Symptom:

After a publish to datamart from inside the Cognos Controller client there is no data in the DMFACT table. The publish (export) are very quick – a few minutes – and when you check there is no data in the DM tables in the Datamart.

 

Possible Solution:

You need to ensure that the text for provider and data source are spelled the same in Cognos Controller Configuration for both database connections and Database Connections for publish to datamart. If there are capitals letters they need be the same one both configurations for the two databases, one for the controller data and one for the datamart to be used by Cognos Controller.

The datamart must be of the same database version as the Cognos Controller database, you can not have Cognos Controller in Oracle and the datamart in a Microsoft SQL database, then you will get a “finish with error” when you do the Publish for datamart in Cognos Controller Client.

When you define the datamart inside Cognos Controller, you must set the additional target to be Cognos BI. This will create the data in the database you have defined inside Database Connections for publish to datamart. If you leave it blank it will try to publish the DM data to the same database as your Cognos Controller database. Set additional target to Cognos BI, save the definition, and then go to Transform – Publish Data and Structures – Publish Data Mart.

Only select Period there you have data – otherwise you can get a error message like “no data found” – and select all structures. In this dialog then the Target must be “IBM Cognos BI” and not “none”.

Ensure you have the ojdbc6.jar file in the c:\program files(x86)\ibm\cognos\c10 folder to make the dbconv.exe file to work.  If there are issues, try the :\program files(x86)\ibm\cognos\c10\legacy\dbconv.exe file instead. Point to the udl file in dmdata folder and check that it is of the right DM version.

Changes to the datamart udl take affect direct, but you can restart the Batch service to make them work better.

More information:

http://www-01.ibm.com/support/docview.wss?uid=swg21371098

http://www-01.ibm.com/support/docview.wss?uid=swg21347788

Product:
Cognos TM1 10.1.1
Windows 2008 R2
Internet Explorer

Symptom:
When user from TM1WEB try to export a view to excel using “snapshot to excel” nothing happens. Sometimes there are text in the dialog to select report heading that says “inactivate translation”. Restart of IE or change of language settings does not help.

Solution:
There is a add on installed in your browser, that prevents TM1WEB to send to Excel.
Look at the top of your browser window – if there are a extra line of buttons you may have a add on toolbar. In one case it was “Google Toolbar” that gave the problem.
Turn off Google Toolbar by click on the left “x” and select permanent deactivate Google toolbar.

More information:
https://en.wikipedia.org/wiki/Google_Toolbar
https://support.google.com/toolbar/answer/9231?hl=en&ref_topic=1727206&vid=1-635757569835073343-1277689272

https://support.google.com/toolbar/answer/146786?vid=1-635757566323118119-1277689272

Product:
Cognos Controller FAP service
Windows 2012 R2
Microsoft SQL database

Symptom:
Start FAP Initial Publish for first time, after a half hour you get a fail message. Also show “java.lang.StackOverflowError” if you hold your mouse over the message in FAP log dialog.
You try by restart and new test but get same result again.

Text in C:\Program Files\ibm\cognos\ccr_64\Server\FAP\error.log file can be:

2015-08-25 17:47:42,429 [schedulerThread] INFO Scheduler – FAP service started on host:SEservername.domainsweden.com
2015-08-25 18:15:30,786 [pool-4-thread-7] ERROR RetryInterceptor – Trial 1 failed for method populateMonthlyPeriod
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at com.ibm.cognos.fap.common.persistence.retry.RetryInterceptor.intercept(RetryInterceptor.java:45)
at com.ibm.cognos.fap.service.persistence.dao.period.PeriodFAPDaoMSSqlServer$$EnhancerByCGLIB$$519ff1f8.populateMonthlyPeriod()
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:182)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)

at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.Period.addMonthlyPeriodIfItNotExist(Period.java:184)
at com.ibm.cognos.fap.service.dimension.facts.BaseFactsHandler.addPeriodsIfTheyNotExist(BaseFactsHandler.java:276)
at com.ibm.cognos.fap.service.dimension.facts.CompositeFactsHandler.addPeriodsIfTheyNotExist(CompositeFactsHandler.java:258)
at com.ibm.cognos.fap.service.dimension.facts.Facts$Transformer.run(Facts.java:128)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:483)
at java.util.concurrent.FutureTask.run(FutureTask.java:274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
at java.lang.Thread.run(Thread.java:801)
Caused by:
java.lang.StackOverflowError
at java.util.concurrent.CopyOnWriteArrayList.toArray(CopyOnWriteArrayList.java:364)
at java.util.logging.Logger.accessCheckedHandlers(Logger.java:1368)
at java.util.logging.LogManager$RootLogger.accessCheckedHandlers(LogManager.java:1507)
at java.util.logging.Logger.getHandlers(Logger.java:1362)
at java.util.logging.Logger.log(Logger.java:624)
at java.util.logging.Logger.doLog(Logger.java:653)
at java.util.logging.Logger.log(Logger.java:676)
at java.util.logging.Logger.severe(Logger.java:1162)
at com.microsoft.sqlserver.jdbc.TDSParser.throwUnexpectedTokenException(tdsparser.java:97)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:88)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1488)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.processResults(SQLServerStatement.java:1135)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.processBatch(SQLServerStatement.java:1123)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.processExecuteResults(SQLServerStatement.java:1115)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.processResponse(SQLServerPreparedStatement.java:347)
at com.microsoft.sqlserver.jdbc.TDSCommand.close(IOBuffer.java:4660)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.discardLastExecutionResults(SQLServerStatement.java:93)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.closeInternal(SQLServerStatement.java:583)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.closeInternal(SQLServerPreparedStatement.java:172)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.close(SQLServerStatement.java:595)
at org.apache.commons.dbcp.DelegatingStatement.close(DelegatingStatement.java:168)
at com.ibm.cognos.fap.common.persistence.dao.BaseDao.closeJDBCObjects(BaseDao.java:85)
at com.ibm.cognos.fap.service.persistence.dao.period.PeriodFAPDao.populateMonthlyPeriod(PeriodFAPDao.java:135)
… 5294 more

Solution:
Try with a different Cognos Controller database as a source. Try with less period of data, only select 6 months instead of 18 months inside the FAP manager client.

Product:
Cognos TM1 performance modeler 10.2.2
Windows 2012 R2
RDP server (terminal server)

Symptom:
You start Performance modeler local on the terminal server and connects to the TM1 server.
When you select “import data” you get a error message. But after the message (you click OK one) then you get your drive dialog to select a txt file.

You get same error if you from Excel on same server select File – Open.

“This operation has been cancelled due to restrictions in effect on this computer. Please contact your system administrator”.

Solution:
This is by setup on the Terminal server. You should not have access to the C drive.
This is a normal behavior.

Ask the Terminal Server administrator for a better behavior.

http://www-01.ibm.com/support/docview.wss?uid=swg21372035

Product:
Cognos TM1 10.2.2
Windows 2012 R2

 

Problem:
How run TM1TOP on a windows 2012 server from a bat file?

 

Solution:
Create a new folder on you TM1 server, e.g. D:\TM1TOP

 

Copy the 3 files to a separate folder on your TM1 server.
Tm1top.exe file from a earlier version of TM1.
tm1top.ini should be updated to contain the values for you TM1 server, or as below.

 

# The possible fields which can be set in this file are listed below.  Note that the
# field names are not case sensitive.  For example AllowMultiModes and allowmultimodes
# are equivalent.
#
# adminhost – admin server, default is localhost
# servername – TM1 server name
# logfile – log the status line to a log file
# logperiod – time(sec) that the status lines are written to the log file
# logappend [T,F] – When a new session is started should the log data be
#        appended to the log file specified by logfile
# refresh – time(sec) that the display is refreshed. Default is 2 seconds
# adminsvrsslcertid – SSL admin certificate ID, default is tm1adminserver
# adminsvrsslcertauthority – SSL admin server certificate Authority file,
#        default is in the ssl directory
# adminsvrsslcertrevlist – SSL admin server certificate revocation file
# exportadminsvrsslcert – export the admin server SSL certificate
# adminsvrsslexportkeyid – id used to export the admin server SSL certificate

 

adminhost=

servername=

logfile=

logperiod=

logappend=

refresh=

adminsvrsslcertid=

adminsvrsslcertauthority=

adminsvrsslcertrevlist=

exportadminsvrsslcert=

adminsvrsslexportkeyid=

 

# AllowMultiModes=[T,F]

# If AllowMultiModes is set to T, TM1Top supports additional display modes that show details of Sandbox

# and Job Queue operation.  The mode is selected when TM1Top is running by processing one

# of the following keys:  (N=Normal, S=Sandbox, Q=Job Queue)

# The default value if AllowMultiModes is not specified is T.

AllowMultiModes=

 

# DisplayMode (N=Normal, S=Sandbox, Q=Job Queue)

# DisplayMode selects the display mode that TM1Top that is in effect when TM1Top starts.

# The default value if this configuration entry doesn’t exist in the file is N for Normal mode.

DisplayMode=

 

Create a tm1topfap.bat file to start the session. It can contain values like this;

tm1top -servername “FAP” -refresh 1

pause

 

Save the bat file and run it – if it works you should have a white dos dialog that show tm1top: -adminhost localhost -servername FAP -refresh 1

 

The different commands in TM1TOP window:

N = Displays TM1 Top normal (thread status) mode.
S = Displays TM1 Top sandbox mode.
Q = Displays TM1 Top queue mode.
W = Writes the current TM1 Top information to a file.
X = Exits the TM1 Top utility.
H = Displays help text.
V  = Verifies a TM1 Top administrator session.
Displays a user name and password prompt so the TM1 administrator can log into the current session of TM1 Top and enter commands to cancel processing in other threads.

C = Cancels processing in another thread.
Note: Before using the Cancel command, an administrator must first log into the current session of TM1 Top by using the V (Verify) command.

K = Cancels a sandbox submission in the job queue for a specific job ID number.
Requires administrator login with the V (Verify) command

 

More information:

http://www.ibm.com/developerworks/library/ba-pp-infrastructure-cognos_specific-page674/index.html

http://www-01.ibm.com/support/docview.wss?uid=swg27039967

Product:

Cognos TM1 10.1.1 or TM1 10.2.2

Windows 2008 R2 Server

 

Problem:

How do I send a mail to the user that a TM1 Turbo Integrator (TI) process have finished?

Think you are in a TM1 project, and you want the TM1 Super user to get a mail when the csv file with data has been loaded into the DB2 database.

 

Possible Solution:

You can use the BLAT utility, found her http://sourceforge.net/projects/blat/files/

Ensure that you have a mail server that accepts SMTP mail from the TM1 server.

Create a empty folder on the TM1 server, e.g. d:\tm1 data\scripts

Copy all the BLAT files to the empty folder.

 

blat.dll

blat.exe

blat.lib

blatdll.h

 

If possible add the folder where BLAT.EXE are to the Windows Path variable.

Recommended is to use the BLAT install function to store the user and password to access the SMTP in the Windows registry, there it will be encrypted.

Create a cmd file named installblat.cmd with this content:

call “D:\tm1 data\script\blat.exe” -install smtp.bredband.net roger-mailname@bredband.net 3 25 Peo bbbbbbb cccccccc

 

REMark where bbbb is replace with the username and ccccc is replace with the password

for a account that are allowed to send SMTP mail on the mail server.

SMTP name should be replaced with the name of your SMTP server.

the roger-mailname should be replaced with your Sender address, that should be known to the SMTP mail server.

http://www.blat.net/examples/install&profile.html

 

Run the installblat.cmd to get the values stored in Microsoft Windows.

 

This create the values inside Microsoft Windows registry at key;

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat\Peo]

“SMTP server”=”smtp.bredband.net”

“SMTP Port”=”25”

“Try”=”3”

“Login”=”xxxxxxxxx”

“Pwd”=”xxxxxxxxxx

“Sender”=”xxxxxxxxx@bredband.net”

 

This is stored under the profile key Peo, you can use any name for the profile, but it have to be the same name used in the other scripts.

 

Create a recipient.txt file that contains the names of the receiver of the alert mail.

Should be simple, with only the mail name one each line.

roger@konsult.company.se

frango@cmpny.com

 

Create a startblat.cmd file to start the blat function, it should contain this text:

call “D:\tm1 data\script\blat.exe” message.txt -tf recipient.txt -subject “Mapping file loaded” -p Peo

 

Above two is optional, you can also create the startblat command in the TI process and add the recipient to the code.

 

You can create a message.txt file before if you want, but to add the filename of the file that is read by TM1, we have added  the creation of the message file to the TI process, so you can adjust the variable to get the filename from some other TM1 process.

 

You need to create two dimensions to handle the adjustable settings in a settings cube.

Create the dimension Sys.EnvironmentVariables with the elements Mottagare, MailSender, MailSubject, ScriptPath.

Create the dimension Sys.Measures

with the values String and Number.

 

Create a Sys.Settings cube from above two dimensions, in this cube can you enter name of the sender and other useful information like path to the files, that can change when you move the TM1 application to a new server.

 

For example at ScriptPath you should enter D:\TM1 data\Scripts\ in that cube.

And at Mottagare you should enter the name of the recipient of the message in a SMTP mail format like name@company.com. Please fill in the other values accordingly.

 

Create this code in the PROLOG tab;

#————————

# Begin Code date

#————————-

 

# set to not get ” in the text file you write to disk

DataSourceASCIIQuoteCharacter = ”;

 

# to add ” in the string you need a variable

#  more info: http://www.robelle.com/smugbook/ascii.html

q=char(34);

 

# for the test the name is set to variable, it can be collected

# from other process steps before.

sFile = ‘SOLVENS PROTOTYPE’;

 

# Get path to script (bat files) from value in Sys Settings cube

# this is good if you need to move your TM1 app to other server,

# to have all “paths” in a sys.settings cube

sPathBlat = CellGetS (‘Sys.Settings’, ‘ScriptPath’, ‘String’);

 

sSMTPServer = ‘smtp.bredband.net’;

 

# Set the message to be sent to the users

sMessage = ‘The file ‘| sFIle |’ have been loaded to the TM1 application’;

 

#

#  get value from cube named sys.settings on the

#  label Mottagare in column String

sRecipient = CellGetS (‘Sys.Settings’, ‘Mottagare’, ‘String’);

sSender = CellGetS (‘Sys.Settings’, ‘MailSender’, ‘String’);

sSubject = CellGetS (‘Sys.Settings’, ‘MailSubject’, ‘String’);

 

# write message to text file that later can be used by BLAT

asciioutput ( sPathBlat |’message.txt’,  ‘The ‘| sFile |’ file have been loaded into the TM1 Solvens II solution’);

 

# call the cmd (bat file) to start BLAT

##executecommand ( sPathBlat | ‘startblat.cmd’ , 0 );

 

# create the DOS command line

# more info http://www.blat.net/syntax/syntax.html

#

sDOS = ‘blat.exe message.txt  -to ‘| sRecipient |’  -subject  ‘| sSubject  |’  -p Peo’;

 

# only for debug purpose – write variable to file

###asciioutput ( sPathBlat |’tiprocessdebug.txt’, sDOS  );

 

executecommand ( sPathBlat | sDOS, 0 );

 

#——————————-

# end of prolog code

#——————————-

 

Save the process as Sys.SendMail.

Fill in your values for sender and SMTP server and then you can test run it.

 

Above prolog code show two different way of calling the BLAT.EXE, direct from code, or if you change the ## it will call the CMD file startblat, than then will call the BLAT.EXE file.

 

To check the value in a TM1 Variable, you can write it to a file, this is why we have the debug line ###, unmark the ASCIIOUTPUT to create a txt file that contain the value of the sDOS variable.

 

More information:

http://www.blat.net/examples/install&profile.html

http://sourceforge.net/projects/blat/files/

http://www.blat.net/

http://blog.tm1tutorials.com/tag/asciioutput/

http://www.exploringtm1.com/tm1-archive-ti-process/

Always check files you download from Internet fro malware with your anti-virus software.