Monday, May 15, 2017

User gets logged off after running BIRT report in Maximo


After running any OOB, QBR or custom BIRT report, user gets logged off automatically. It's very frustrating.

Solution is to check the System Property: mxe.report.birt.viewerurl

When you have clustered environment or you run BIRT reports on a dedicated server, you set the value of this property to that server address. However, if you don't have this kind of set up and you set this property to the address same as your Maximo URL address, you will face this issue.

My environment was not clustered so I removed this value and kept it blank and the issue was gone.

Tuesday, March 8, 2016

Data Export using Invocation Channel in Maximo


Invocation Channel requires the following:

1. Create an End Point

2. Create an Object Structure

3. Create an Invocation Channel - give Request and Response (Optional) Object Structure. Both can be different also.

4.  Create an Action - 
        ----- Value = psdi.iface.action.InvokeCustomClass
    ----- Parameter = Invocation Channel Name
        ----- Type = Custom Class
        ----- Object Name = As required

5. Create an Escalation having Object and Condition as required

6. Create Escalation Point and add an entry for newly created Action

7. This Escalation Point is now added as Cron Task Instance of Cron Task - Escalation. Set the frequency, activate and reload it.

8. Based on the End Point - data will be exported to external system or Global Directory.

Friday, October 30, 2015

WebSphere Installation - Port 80 is Not Avaialbe


while installing Maximo/WebSphere, you may encounter an issue with Availability of Port (mostly Port 80).

Resolution:

Generic about checking Port Availability:

To check which all ports are being used, run this on command prompt (in windows):
         netstat -an
Output of above command will show all the ports which are in use.

To check a specific port (e.g. Port 80), run the following command (in windows):
         netstat -an | find "port_number"
         netstat -an | find "80"
If above command returns any output, that means port is in us.
If above command doesn't return any output, Port is Free, and can be used.

Work Around for WebSphere Port 80 Issue:

Go to Administrative Tools in Windows
Open Internet Information Services (IIS) Manager
Expand Server Node (Host Name) on the left panel
Expand Sites
Click on Default Web Site
On right panel, click on Bindings
New window will open with List of Bindings, select http, click on Edit button
Change Port from 80 to 8080, click Ok, click Close
Select Server Node (Host Name) on the left panel again and click on Restart Server from the right panel to restart IIS Server,
No reboot is required.

Now you can proceed with the Installation, error should be resolved.


CTGIN8247E: Required Hostname: System hostname is not fully qualified


while Installing WebSphere, you may encounter this issue of Hostname qualifier.

WebSphere installation requires fully qualified hostname which means it should have a DNS entry or domain name i.e. .com after the hostname (computer name).

Workaround:

  1. Go to Computer Properties
  2. You will see a link Change Settings in front of Compute Name (admin access required here)
  3. In the Properties window, you will see a button called Change...,click that
  4. Below the Computer name, you will see another button called More..., click that
  5. This is the place where you give DNS Suffix which makes your Computer Name as Fully Qualified Hostname.
  6. Type com (no dot symbol)
  7. It will require a Reboot/Restart

Thursday, September 3, 2015

Creating a Menu in Maximo

Creating or Modifying a Menu in Maximo


  • The options other than Select Value, that appear when the lookup icon is selected next to a field come from the menu associated to that field.
  • In Application Designer, the properties for a textbox include an option called Menu Type. These Menu Type values are referencing a menu id in the MENUS.xml file.
  • In App Designer in the Select Action menu there is an option to Export System XML.
  • From this option you can select MENUS.xml, save the file to your desktop, and make a copy for a backup.
  • Open the MENUS.xml file to be changed with a text editor. Each menu in Maximo exists as a section in the MENUS.xml file and is referenced by a menu id.
  • If you wanted to modify a menu you could select the application the field that launches this menu resides in, find the field and select the Control Properties tool bar icon.
  • Find the Menu Type value in the properties for that textbox. Make note of this value. Open the MENUS.xml file with a text editor. 
  • Find the menu id from the previous step to find that menu section in the MENUS.XML file. 
  • Copy the menu section, and paste the copied section back into the MENUS.xml file. 
  • Give the copied section a unique menu id. 
  • Delete or Remove the options from the menu to modify the menu to your liking. 
  • Save the MENUS.xml and re import the xml file using the Import XML option in App Designer. 
  • To reference the new menu id you will need to change the Menu Type reference for the field you are associating and launching the menu from to the menu id created for the new menu.

Friday, August 7, 2015

Deleting Maximo Application

Deleting Maximo Application

Deleting an application in Maximo is not possible from Front End and it's not advisable too. You can remove the security rights of that application so that it doesn't appear in Go To list.

Still, if you want to delete an Application in Maximo, you have to accomplish it using SQL Scripts which will be executed in the back-end.

Following are the scripts:
delete from maxapps where app='<appName>';
delete from maxpresentation where app='<appName>';
delete from sigoption where app='<appName>';
delete from applicationauth where app='<appName>';
delete from maxlabels where app='<appName>';
delete from maxmenu where moduleapp='<appName>' and menutype !='MODULE';

To remove Label information from database, run the following queries:

delete from L_SIGOPTION where L_SIGOPTIONID in (select L_SIGOPTIONID from SIGOPTION,L_SIGOPTION  
  where (SIGOPTION.SIGOPTIONID=L_SIGOPTION.OWNERID AND app='<appName>'))

delete from L_MAXLABELSID where L_MAXLABELSID in (select L_MAXLABELSID from MAXLABELS,L_MAXLABELS
  where (MAXLABELS.MAXLABELSID=L_MAXLABELS.OWNERID AND app='<appName>'))

delete from L_MAXMENUID where L_MAXMENUID in (select L_MAXMENUID from MAXMENU,L_MAXMENU where (MAXMENU.MAXMENUID=L_MAXMENU.OWNERID AND moduleapp='<appName>'))

Tuesday, August 4, 2015

Changing maxadmin Password

Changing maxadmin Password


If you don't know maxadmin password then there is no way to get it from any of the property file or config file in maximo.

Then how can we reset it

Answer is - you have to update it to a known encrypted password in database using sql command.

Pre-requisite: you should have write access to MAXUSER table under maximo schema.

Procedure to reset the password:


1) Go to development or any environment for which you know the password of maxadmin or any user.
2) Run the following command to retrieve the encrypted password of known user

               Select userid, password from maxuser where userid = 'anyUser'
               For example: Select userid, password from maxuser where userid = 'MAXADMIN'

3) Copy the encrypted password
4) Go to the environment for which you don't know the maxadmin passwrod.
5) Run the following command to reset the password. Please note your update sql statement will depend on the database which you are working on due to hexa decimal value format of encrypted password.

         Oracle: UPDATE maxuser SET PASSWORD = '<value>' WHERE userid = '<user>';
         SQL Server: UPDATE maxuser SET PASSWORD = 0x<value> WHERE userid = '<user>';
         DB2: UPDATE maxuser SET PASSWORD = x'<value>' WHERE userid = '<user>';

Example:

         Oracle: UPDATE maxuser SET PASSWORD = '10fe6f4d7e6133e64' WHERE userid = 'MAXADMIN';

         SQL Server: UPDATE maxuser SET PASSWORD = 0x10f2121d7e6133e64 WHERE userid = 'MAXADMIN';

         DB2: UPDATE maxuser SET PASSWORD =x'10fe6f46507e6133e64' WHERE userid = 'MAXADMIN';


Thank you for reading...