Product:

Microsoft Windows 2019 Server

Issue:

I can not ping the server to check if the IP address or server DNS name is correct. How open ping in Windows Firewall?

Solution:

Windows Firewall
  • Search for Windows Firewall , and click to open it.
  • Click Advanced Settings on the left.
  • From the left pane of the resulting window, click Inbound Rules.
  • In the right pane, find the rules titled File and Printer Sharing (Echo Request – ICMPv4-In).
  • Right-click each rule and choose Enable Rule.

To allow TM1 architect access the TM1 server, the windows firewall need to open this ports:

5495,5498,5895,5898,12300-12400

Then you need to update the tm1s.cfg file for each TM1 instance to use above port range:

PortNumber=12345

HTTPPortNumber=12354

ClientMessagePortNumber=

By default, ClientMessagePortNumber port number is automatically and dynamically assigned when the TM1 server starts. You do not have to set ClientMessagePortNumber to a specific number unless firewalls or other network issues require the listener port to be a well-known number.

Note: Be sure to assign unique port numbers for the server and client message ports. If you have two servers running on the same machine with the same port number, the message activity may cause a system failure.

EnableTIDebugging=T

Setting the parameter to T (true) allows you to use any of the TurboIntegrator process debugging capabilities of the TM1 REST API.
More Information:

https://www.howtogeek.com/howto/windows-vista/allow-pings-icmp-echo-request-through-your-windows-vista-firewall/

https://activedirectorypro.com/allow-ping-windows-firewall/

https://optics.ansys.com/hc/en-us/articles/7144748040467-Adding-inbound-rules-to-Windows-Defender-firewall

https://www.veritas.com/support/en_US/article.100027250 

Product:

TM1

Microsoft Windows 2019 server

Issue:

How do i skip elements in a list/view in the data tab from a subset?

Solution:

If you have a subset named “DonaldsCoffe” that contain the stores-name that you want not to be transferred used in your data tab, in the TM1 TI process.
Use below statement to check if the element exist in the subset, and if it does skip that data.

IF ( DIMIX ('DonaldsCoffe',  vElementName) <> 0); 

Itemskip;

ENDIF;

In case you use =0 in above IF statement, that is that you will skip all elements that are not in the list.

DIMIX returns the position of the element in the subset list. 0 (zero) means the element is not in the list.

The comparison operators compare values in the formula portion of a rule calculation statement.

Operator

Meaning

>

Greater than

<

Less than

>=

Greater than or equal to

<=

Less than or equal to

=

Equal to

<>

Not equal to

To compare two string values, insert the @ symbol before the comparison operator, as in the following example:

IF (‘A’ @= ‘B’,0,1) yields the number 1.

 

More information:

http://tm1sir.blogspot.com/

https://www.tm1forum.com/viewtopic.php?t=15927

https://www.tm1forum.com/viewtopic.php?t=11902

https://quebit.com/askquebit/IBM/ibm-planning-analytics-dimix-function-when-and-how-to-use-it/

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=functions-dimix

https://exploringtm1.com/operators-tm1-ti-if-statements/

https://exploringtm1.com/if-tm1-ti-function-use-syntax/

Product:
Notepad++
Microsoft Windows 2019

Issue:

How do i add compare function to Notepad++?

Solution:

Start Notepad++

Go to plugin menu and select Plugin Admin.

Enter Compare to search for the plug in. Mark Compare in the list and click on install icon.

Click Yes, and Notepad++ will restart after it have downloaded from internet the compare files and put them in folder C:\Program Files\Notepad++\plugins\ComparePlugin

If the server does not have access to internet, copy above 3 files from a working installation, and add them to the plugins folder of your Notepad++ installation.

ComparePlugin.dll
\ComparePlugin\sqlite3.dll
\ComparePlugin\git2.dll

Then you can in Notepad++ use Plugins – Compare – Compare, to get a quick listing of the different rows between the two latest (on the right) open files.

If you use TM1, you can add support for TM1 syntax with download of a tm1.zip file , and unzip it and place the tm1.xml in folder C:\temp. Then from inside Notepad++ go to Languages – User Defined Language -Define your language.
https://npp-user-manual.org/docs/user-defined-language-system/

In the dialog, click import, and select the above tm1.xml file. Then restart Notepad++.

You should now have a new selection TM1 at the bottom of the languages menu.

You can create yourself what words should highlight or be suggested in the User Defined Language dialog.

 

More information:

https://www.wimgielis.com/tm1_tm1andnotepad++_EN.htm

https://www.tm1forum.com/viewtopic.php?t=15927

https://www.tm1forum.com/viewtopic.php?f=3&t=7540

https://www.tm1forum.com/viewtopic.php?t=4248

https://exploringtm1.com/notepad-for-tm1-rules-ti-updated/

Product:
Microsoft Windows 2019

Issue:

How copy only a folder structure and not the files therein?

Solution:

Use robocopy:

robocopy "source"  "destination" /e /xf *

Above will copy folder structure from source to destination folder, without the security.

/E copy subdirectories, including Empty ones.
/XF file [file]… eXclude Files matching given names/paths/wildcards.

Add /SEC and the security for the file is also copied.

/SEC Copy files with SECurity (equivalent to /COPY:DATS). Useful if you just want to copy over security changes.

More Information:

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

https://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx

https://www.pdq.com/blog/hitchhikers-guide-to-robocopy/

https://plataformaremota.wordpress.com/support/use-robocopy-to-migrate-windows-shares/

Product:

Microsoft SQL server 2019

Issue:

How create a store procedure, than when run will add username and date to a row?

Suggested solution:

Paste below code in SQL management studio and edit it to your needs:

CREATE PROCEDURE [dbo].[A_AddDataToTable] 
AS
BEGIN
---- create the variables
DECLARE @TableName as nvarchar(50)
DECLARE @SqlCode as nvarchar(200)
DECLARE @TimeValue as nvarchar(50)
DECLARE @Userman as nvarchar(50)

---- enter the name of your table below instead of Donald
SET @TableName = 'Table_'+'Donald'

BEGIN
---- check if the table exist, then not create it
IF NOT EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME = @TableName) 

---- fill variable with the SQL code to create the table
set @SqlCode=''
set @SqlCode= @SqlCode + 'CREATE TABLE ' + @TableName + ' '
set @SqlCode= @SqlCode + ' (Rowid int IDENTITY(1000, 1) PRIMARY KEY, '
set @SqlCode= @SqlCode + ' ProUser nvarchar(50) , '
set @SqlCode= @SqlCode + ' ProDate nvarchar(50) ) ;'


---- execute the code in the string
EXEC sp_executesql @SqlCode

END
---- every time the processes is run, do below
---- add a row with date and username

---- get the values for date
SELECT @TimeValue = convert(varchar, getdate(), 0)
---- get the name of the user who run the process
SELECT @Userman = CURRENT_USER

---- build the string of values
set @SqlCode=''
set @SqlCode= @SqlCode + 'INSERT INTO '+ QUOTENAME(@TableName) +' (ProUser,ProDate) ' 
set @SqlCode= @SqlCode + 'VALUES ( ''' + (@UserMan) + ''' , ''' + (@TimeValue) + ''' ) '

-- execute the code in the string
EXEC sp_executesql @SqlCode

END


The result in the table will be like this, after a few run of the SP.

 

More Information:

https://www.sqlshack.com/introduction-to-sp_executesql-stored-procedure-with-examples/

https://codingsight.com/10-sp_executesql-gotchas-to-avoid-for-better-dynamic-sql/

Product:
Cognos Controller 10.4.2
Microsoft Windows 2012 Server

Issue:

When run a standard report, the BI session start, but you get a error that you do not have rights to the package.

QE-DEF-0157

/messageString></message></messages> http://www.ibm.com/xmlns/prod/cognos/reportService/202004/.sessionRSV-SRV-0042 Spåra bakåt:RSReportService.cpp(734): QFException: CCL_CAUGHT: RSReportService::processImpl()RSReportServiceMethod.cpp(254): QFException: CCL_RETHROW: RSReportServiceMethod::process(): asynchRunSpecification_RequestRSASyncExecutionThread.cpp(887): QFException: RSASyncExecutionThread::checkExceptionRSASyncExecutionThread.cpp(331): QFException: CCL_CAUGHT: RSASyncExecutionThread::runImpl(): asynchRunSpecification_RequestRSASyncExecutionThread.cpp(932): QFException: CCL_RETHROW: RSASyncExecutionThread::processCommand(): asynchRunSpecification_RequestRSRequest.cpp(1656): QFException: CCL_THROW: RSRequest::executeInteractivePrompting()RSQueryMgr.cpp(840): QSModelNotFound: CCL_RETHROW: RSQueryMgr::getListIteratorRSQueryMgr.cpp(912): QSModelNotFound: CCL_RETHROW: RSQueryMgr::getResultSetIteratorRSQueryMgr.cpp(1020): QSModelNotFound: CCL_RETHROW: RSQueryMgr::createIteratorRSQueryMgrBasic.cpp(296): QSModelNotFound: CCL_RETHROW: RSQueryMgrBasic::executeRsapiCommandRSQueryMgrBasic.cpp(669): QSModelNotFound: CCL_THROW: RSQueryMgrBasic::processExceptionRSQueryMgrExecutionHandlerImpl.cpp(167): QSModelNotFound: CCL_RETHROW: RSQueryMgrExecutionHandlerImpl::execute()RSFaultHandler.cpp(193): QSModelNotFound: RSFaultHandler::handleNonCriticalExceptionQFSSession.cpp(1190): QSModelNotFound: CCL_RETHROW: QFSSession::ProcessDoRequest()QFSSession.cpp(1188): QSModelNotFound: CCL_CAUGHT: QFSSession::ProcessDoRequest()QFSSession.cpp(723): QSModelNotFound: CCL_RETHROW: QFSSession::ProcessDoRequest()QFSXQEModelChecker.cpp(90): QSModelNotFound: CCL_RETHROW: QFSXQEModelChecker::IsModelPointingToTheNewStack()Source/QECMAuthentication_4.cpp(6149): QSModelNotFound: CCL_THROW: QE

Solution:

The Cognos Controller server have lost the knowledge of that the package name is “Controller”, go into the Cognos Controller configuration.

Go to report server tab.

Ensure the package name is Controller.

And press SAVE anyway to ensure the settings are saved.

Exit Cognos Controller Configuration.

Start Cognos Controller Client and test the standard report again.

More Information:

https://www.ibm.com/support/pages/qe-def-0157-model-abcdefgh-does-not-exist-when-trying-run-standard-report-caused-renaming-package-controller-configuration

 

Product:
Cognos Controller 10.4.2 fix pack 2
CONTRL_UPDATE_version=CCR-AW64-ML-RTM-10.4.2200.70-0
CONTRL_UPDATE_name=IBM Cognos Controller Update
Microsoft Windows 2019 server

Issue:

When run a standard report in Cognos Controller program, the adobe program starts up and give an error message.

Solution:

Change the Cognos Controller server to use the internal pdf viewer.

Steps:
1. Obtain a short amount of downtime (nobody logged onto Controller)
2. Logon to the Controller application server
3. Browse to the folder C:\Program Files\ibm\cognos\ccr_64\ControllerProxyServer
4. As a precaution, create a backup copy of the file:  web.config
5. Use Notepad to edit the file   web.config
6. Locate the section   <appSettings>
7. Add the following line into that section:
    <add key="useInternalPdfViewer" value="true" />
Save the file, and restart the server to test again.
More Information: