Category: Setup (Page 1 of 2)

Setup Cognos 11 to send email with Gmail (2020)

When I tried to set up Cognos 11 to send notifications via Gmail, it failed because
Google blocked access from Unsecured App. Even if I tried to turn off this option
and tried again, it still failed because Google automatically turned this setting
off again. So I had to create an App Password for my Gmail account to make it
work by following the steps below:
Step 1: Configure Gmail account
  • Log in to my Gmail account, go to “Manage your Google Account page”, then go to “Security” section
  • Enable 2-Step Verification
  • Once 2-Step Verification is enabled, the App Passwords option will be visible under the 2-Step verification option
 
 

  • Click on “App Passwords” to generate a new one. 
  • On the next page, choose “Mail” app, and “Other (Custom Name)” in the Select Device drop-down
  • On the next page, enter “Cognos” for the name of the app, then click on “GENERATE”
  • On the next page, copy the password, paste it to Notepad, then click on Done
 
 
Step 2: Configure Cognos:
  • Open “IBM Cognos Analytics” > “IBM Cognos Configuration” (not the one with the same name under “Framework Manager”)
  • Open “Notification” on the left side Explorer bar, enter
    the configuration as follows:

    • SMTP Mail Server: smtp.gmail.com:465
    • Account and Password:
      • User ID: <account_name>@gmail.com
      • Password: <Generated app password
        from the previous step>
    • Default Sender: <account_name>@gmail.com
    • SSL Encryption Enabled: True
  • Click Ok. Then Save the setting
  • Right-click “Notification” on the left Explorer menu again, and click on “Test” to check if the connection is working.
  • After the SMTP connection has been tested, to send a report from Cognos via email, we have to restart Cognos service for the change to take effect.

“This portlet has not been setup” error in Maximo Start Center

Introduction

When creating Start Center Template, I often run into the issue of users not being able to see data in result sets with the error ‘This portlet has not been setup‘. I often waste a bit of time to troubleshoot the issue and then forget about it. Repeatedly, I would run into the same issue. This post provides a check list to troubleshoot this problem in the case I hit with this issue in the future. Hopefully it will help some of you Maximo technies out there.

The dreaded “This portlet has not been setup” error

When and Why does it happen?

This issue often occurs to the normal users after deploying a new Start Center to Production. During development, it usually works fine. For a resultset to display on a user’s Start Center several things happen in the background:

  • The user’s Start Center / Resultset need to be generated from the Start Center template.
  • The user must have the permissions to access the data displayed by the Result set

Because of that, several different access permissions must be given to the user for he/she to be able to see the data

Troubleshooting Checklist

To allow the user to access the data, and generate start center from the template, the user must be given the following access:

  • Read‘ access to the main application. For example Work Order Tracking if the result set is for listing work order.
  • Run Report‘ and ‘Create Report‘ signature option in the main application. If the main app is a custom app, you’ll need to create the same Signature Option in App Design first.
  • Access to ‘All Site‘ or at least one Site.
  • Access to the ‘Layout and Configuration‘ application
  • Access to the Report Object structure used by the result set (which is given in the ‘Report Administration’ app > Select Action > Set Report Object Structure Security
  • The Saved Query used by the portlet must be marked “Public

Maximo Crash Course on Youtube – Starting point for a complete beginner

After posting a bunch of Maximo training videos in Vietnamese on Youtube, I got some requests for similar contents in English. On the web, there are plenty of Maximo resources in English; so I didn’t think it is necessary to create new duplicated content. But someone recently pointed out to me that as a beginner, he doesn’t know where to start. So here it is, a bunch of *super short* videos to get you started with Maximo. After going through these, I’m sure you will have a better idea on which direction you want to learn more about the software.

 Basic concepts in Maximo asset management: These tutorials are done on the IBM public Maximo preview site, so you don’t need to set up anything to do some exercises




 Basic Maximo configuration tutorials: 



Setting up development environment and writing customized java code for Maximo:

For configuration and customization, you’ll need MAXADMIN access to a Maximo environment to do the exercises. This shouldn’t be a problem if you are working for a company that already has Maximo. But if you are a student or freelance developer, at this point I don’t know of an easy and relatively cheap way to get this. The cheapest option is to buy an IBM Value Package for $999 which will give you access to *all* IBM software and support services. But I guess that’s too expensive for an individual just to learn about a system.
I guess you can ask somebody you know who have a development environment VM to give you a copy. Although this may not be completely legitimate. I believe IBM should allow free download to a trial version or demo VM like Microsoft or Oracle. It only helps them to expand the popularity of the product. Anyway, that’s enough for complaining. 
I hope these stuffs help you get started.

Basic steps integrating Maximo Spatial and ArcGIS

Due to many changes in different versions, the documentation provided by IBM for Maximo Spatial integration is scattered and inconsistent. This video is a quick demo on how to carry out the most basic configuration to enable integration between Maximo Spatial version 7.6 and ArcGIS.

In the video, what we have is a sample non-secured ArcGIS online server, made publicly available by ESRI. However, enterprise GIS map services are often provided via an SSL layer and can use token-based authentication. Thus, below are some of the common problems that you can have when configuring Map Manager with a secured map services:

  • If HTTPS is used, the SSL Certificate must be added to WebSphere trust store for Maximo to be able to send requests to the GIS server. If you don’t add the Certificate, when trying to add Map Service in Map Manager, it will give you a ‘BMXAA4199E – The remote object of the server cannot be accessed. A network error has occurred…’. You can follow the steps in this link to add the certificate. After that remember to restart the WebSphere for the change to take effect
  • If Map Server uses Token-based authentication, it doesn’t work with HTTP. Thus, you must use HTTPS, otherwise, it will give you a confusing error: ‘BMXAS0467E – Token is required to access this Map Service. Enable token security for this Map Manager’. Some old IBM sources mention that you have to add the ‘tokenEnabled’ and some other properties to System Properties. With Maximo Spatial 7.6.0.1 or newer, it is not required as you can tick the check box and enter username and password directly in the Map Manager app.
  • If you have a strange java.lang.ArrayIndexOutOfBoundsException when trying to add Map Service with HTTPS, it is because WebSphere is using TLSv1 and doesn’t support 2048DH key. Follow the steps in this link to change SSL protocol to TLSv1.2 or v2.
  • If your GIS provider uses self-signed certificate instead of a certificate issued by a Certificate Authority, users may get a blank screen when opening the Map tab. It is because the browser doesn’t trust the source (GIS service) and blocks it from loading. To work around this issue, try to open the GIS Map service directly on the browser, it will ask if you like to add the untrusted certificate to your exception list. After that, the map will be able to load in Maximo. The best solution is to use an SSL certificate provided by a Certificate Authority. In this case, Maximo users don’t have to worry about adding exceptions to the browsers. You can also enable the “Use Proxy” flag in Map Manager to address this issue.

If you have any other problems with the map control and integration, the first step would be to see the SystemOut.log file and the logs displayed in the ‘Developer Console’ of the browser. Most of the time it will give you some extra information to identify the cause of the problem.

I hope this helps.

Solving problems with Update DB process when install or upgrade Maximo

When upgrading Maximo or installing new add-ons or fix packs, new source files will be copied to SMP folder which include Java classes and DBC (database configuration) script files. After that, the installer will run the UpdateDB process to update the database, run the BuidMaximoEar process to build the EAR file, and then deploy the EAR file to Websphere.
 
The DBC script files contain incremental changes to the Maximo database which add changes to GUI, update data, and modify DB configuration objects. Most of the problems you get when installing fix packs or upgrading Maximo come from the UpdateDB process which execute these DBC files in a set order.

Thus, if you have a problem with this process, you can follow the below general steps to troubleshoot and fix the problem:

 
  • When you have an error with UpdateDB process, note down the name of the log file that contains the error message. It has this format: [Process Name][YYYYMMDDhhmiss].log
  • If you have a problem with the UpdateDB process when running the installation program and don’t know the log file name, locate the [SMP]/maximo/tools/maximo folder and run the updatedb.bat (.sh) tool
    again. It will produce the same error
  • Open the log file which is located under
    [SMP]/maximo/tools/maximo/log folder to get the detailed error message.
  • Fix the problem then run the UpdateDB tool again from the command line. It will continue from the last success point.
 
Following is an example on how I got a problem when trying to create a demo database from an SMP copy I received from my client just a few hours ago. When installing demo instance by executing maxinst.bat, Maximo will create a standard initial  database by running a bunch of SQL statement from [SMP]/maximo/tools/maximo/en/maxdemo.ora for Oracle (or maxdemo.db2, or maxdemo.sqs for DB2 and SQL Server respectively). Then it will call the UpdateDB process to apply incremental changes to this database to install add-ons/fix packs which are already installed in this SMP folder).
 
During this process, I got the follow error:
 
 
To get more details about the error, I locate the Updatedb20180712173523.log in folder: [SMP]/maximo/tools/maximo/log. It gives me more details about the problem:
 
 
The problem occurred while it tried to execute the file V7110_03 script for the Oil & Gas add-on. In this case, if I scrolled up several lines, I can quickly see the problem, which is caused by an ORA-01000 – maximum open cursors exceeded. Basically, I forgot to set open_cursors parameter to 1000 as recommended by IBM, leaving it with default value = 300 when creating a new database. Thus, all I have to do in this case is increase it to 1000, then run the UpdateDB tool again. With real production database, sometimes I have to increase it to 5000 or 10000 in order to apply some fix packs.
 
In many cases, the problem is not easily identified by just looking at this log file. So we have to scroll up to a bit further, to identify which statement is causing the issue. Then, we will have to open the DBC script file which can be found under [SMP]/maximo/tools/maximo/en/[add-on folder]/[dbc script file]. For example, in this case, it is …/en/oilandgas/V7110_03.ora
 
 
 
There are a number of script file types:
 
  • Files with .ora, .sqs, .db2 extensions: are just normal SQL files applicable for Oracle, SQL Server, and DB2 respectively. You can run the SQL statement from this file against the database to check for problems directly.
  • Files with .msg extension: are used to
    add/modify existing messages. You normally don’t have a problem with these.
  • Files with .mxs, and .dbc extensions: are used to
    modify application GUI design, and apply data updates or database
    configuration changes.
 
Most of the problems come from .dbc files. To understand DBC script and identify what each statement does, you can refer to this DBC XML Format Technical Reference 
 
Some common problems we have when running UpdateDB include:
 
  • Error when creating a unique index: in this
    case, we have to query and update the data to remove or fix records with
    duplicated keys
  • Error when creating existing objects: most of the
    time, we can drop the existing object as a new object will be created by the
    script anyway
  • Missing script files, or script file doesn’t follow naming convention, which have ordered number. If there’s a missing script file, you can create an empty file by copy/paste from an existing dbc file, and rename it to have a missing ordered number. For files which don’t follow naming convention, I got get this java.lang.ClassCastExeption a few times when updatedb with Linear add-on, turns out there is a file named V7500_linear.dbc which updatedb expects to have a number after V7500, so all I have to do is change it to V7500_02.dbc and it doesn’t complain any more
  • DB operation fails due to maximum open_cursors or processes exceeded (in Oracle): increase the open_cursors, processes parameter and try to run UpdateDB again.
  • Java NullPointerException: this one is quite difficult to figure out. We have to look at the DBC file to understand what it’s trying to do. This is often caused by bad data, such as orphan records referencing a non-existence parent.
  • Error with certain DB operations like when it is unable to create a new Workorder table after Drop the table (when there’s a change to the table
    structure): I’m not exactly sure what mechanism causes this, but I found the
    problem goes way if I run the UpdateDB process again (and again). I only
    attempt to fix it if the problem persists after the 3
    rd run.
 
I hope this helps you when the going gets tough.
 

Maximo’s ABC Analysis and Physical Count

A friend recently asked me on LinkedIn about Inventory ABC analysis on Maximo and how to setup physical cycle count. After responding to him, I thought it could be posted on this blog to share with other Maximo users who like to know more about this function.
 
First page of the ABC Analysis Report
 
 
ABC Analysis is the method of categorizing inventory items into three groups: fast-moving, average, and low moving. This method is commonly used in ERP systems like SAP or Oracle. However, it is less frequently used in Maximo Inventory.
 
The concept of fast-moving or slow-moving refers to the total financial movement of inventory. For example, if the inventory has 3 items:
  • Toilet paper: $2 per Roll, company uses 10 roles/day or $20/day, movement of this item is $7300 per year
  • Printer toner: $100 per Each, company replaces them every 2 months, thus movement is $600 per year
  • Computer laptop: $2000 per Each, company issues only two items a year, thus $4000 movement a year

Total movement is $13.900

If A, B, C is defined as the items that accounted for the top 30% of the movement, middle 40%, and bottom 30%, Toilet paper is a fast-moving item and belongs to Category A, and Toner is a slow-moving item.

In Maximo, there’s a standard out-of-the-box report for ABC Analysis. After the report calculated the consumption value and produced A,B,C values associated with each item, we can update the ABC values back to the inventory by clicking on the link at the bottom of the list.

Link to update ABC values back to Maximo Inventory Screen
 
 
For physical count, we can set in organization settings to define the physical cycle duration for each ABC category so that Maximo will automatically set a due date to do physical count for each item depending on its category. Some companies only carry out physical count as part of inventory/accounting audits, thus they only do it once per year, for the whole inventory, usually before fiscal year-end. Other companies with more mature processes have different cycle counts duration for each category, such as 3 months for fast-moving item, and 1 year for slow-moving items, this varies a lot depending on each industry.
 
 
ABC break point and Cycle Count Settings
With the Anywhere Physical Count mobile app or other 3rd party mobile solution, the app will download the items that are due to count so that warehouse staff can go out after a specific list of items do a physical check then update the actual count. This value is synchronized to Maximo, and if there is a difference in Maximo’s current balance vs actual count (usually actual count is less than the real balance due to theft, loss, or temporary issues that are forgotten and or issues that aren’t entered into the software), we can run Reconciliation process to update new balance and record the “loss” to shrinkage account. 
 
ABC Type value of an item in the Inventory app
 
 
In practice, many companies prefer to record this “loss” as a standard “Issue” transaction against shrinkage accounts because it is simpler to do so. Besides, if there’s integration with ERP/Finance system, this makes things simpler as the transactions will be posted to the ledger without having to build another interface (Issue transactions and Reconciliation transactions are stored in two different tables). We can also create a logical “Shrinkage” location with the right GL account so the user only has to issue against this location and thus doesn’t have to remember the GL account combination.
Some companies also combine the ABC category with the criticality of items (High, Medium, Low), so in their Maximo system, you will see strange values such as CH, AM, or BL. The idea is for process or safety-critical items, in many cases, even if they are slow moving, it is still important to do frequent physical checks to ensure they are always available to use in case needed.
« Older posts