Tuesday 27 December 2016

ESCALATION: Cancel Workdorders after 1 minutes | IBM Maximo

Objective:
change status to CAN after 1 minutes; all new workorder which are create in last 1 days.
Object Name:         which object's record to monitor i.e. WORKORDER
Where:                 a Filter the identifies the set of records of objects, each escaltion point futher filter these records.
Event Attribute:        a date/date-time attribute of selected records; i.e. STATUSDATE of WORKORDER

 Event Condition:    A further filter in above filtered set of records. if any
Elapsed Interval:     A time period to measure against event attribute(elapsed time attribute).  +ive integer in past, -ive in future
Interval UOM:          in days, hours etc.
Repeat:                continue monitoring or not , the same record of condition met.

Thursday 22 December 2016

Alert Lead in PM; a warning message before approval | IBM Maximo

Alert Lead in PM; a warning message before approval | IBM Maximo

It will prompt an alert 4 days before the PM is due to Generate a Work order that PM exists for asset.

for Example in Preventive Maintenance Application :
  1. create a new record
  2. Asset ENG100 to the PM tab.
  3. Go to the Frequency tab and add the following info:
    1. Frequency = 1
    2. Frequency Units = MONTHS
    3. Alert Lead (Days) = 4 (it will alert you 4 days before the PM is due to Generate a Work order)
    4. enter Estimated Next Due Date for example tomorrows date  

Search NULL values in filter or Advanced Search | IBM Maximo

simply by using below mentioned techiniuqe in search/filter in any application.

~null~ for NULL

!=~null~ for NOT NULL

Saturday 17 December 2016

Maximo 7.6 Development Environment for MBO Customization | IBM Maximo

Maximo 7.6 Developement Environment and Deployement with Example | IBM Maximo

Download Eclipse Kepler (64bit) from: http://www.eclipse.org/downloads/ 
run eclipse.exe if java is already installed, or copy websphere/Appserver/jre in c:\eclipse\ folder.
start eclispe.exe and set java compiler settings, (Windows > Preferences > java > compiler > 1.7)

1. create a new java project Proj01, Finish
2. extract maximo.ear file into this workspace/Proj01/maximo folder (C:\IBM\SMP\maximo\deployment\default\maximo.ear)
3. Add JARS in Project Properties > Java Build Path > Add Jars(b)
i. Add the following jars  (from workspace/Proj01/maximo folder)
maximo/lib/*.jar
maximo/businessobjects.jar
Done :)
thanks to Brunu http://maximodev.blogspot.com/2010/09/quick-maximo-development-environment.html

Wednesday 14 December 2016

Push Button to Call Action Script | IBM Maximo

1ActionScript:
ACTION LP: PTWBUTTON
Language: jython
Object: PLUSGPERMITWORK
Action: PTWBUTTON (it will create an action automatically in Actions application, see belowin step 2)
Source: our code goes here

2Action:
NAME: PTWBUTTON
OBJECT: PLUSGPERMITWORK
TYPE: Custom Class
Value: com.ibm.tivoli.maximo.script.ScriptAction
Parameter: PTWBUTTON (automation script name, created in step 1)

Tuesday 6 December 2016

Automatically populate default user's Site on SR | IBM MAXIMO

1 create a Cross over domain
Domain: MAXUSER2SR
object: MAXUSER
Validation Where Clause: USERID = :user # (:USER means current logged in user)
Source Field: DEFSITE # (attribute in maxuser table)
Destination Field: SITEID

2 In Database Configuration; attach this domain (MAXUSER2SR) with attribute TICKETID in SR object

Friday 11 November 2016

Simplified Procedure to Generate Maximo Logs | IBM Maximo

Logger = sql
Log Level = INFO
Appenders = Console,Rolling

Logger = application
Log Level = DEBUG
Appenders = Console,Rolling

Hit Save button
 
Select Action > Apply Settings
Done :)

Reference:

Tuesday 18 October 2016

Send an email to the person in the reportedby field of a ticket? | IBM Maximo

 Is it possible to send an email to the person in the reportedby field of a ticket?

Answer

Steps:
1. Go to Roles application.
2. Create a new role called REPORTEDBY under Administration module > Workflow.

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

Monday 10 October 2016

Tuesday 4 October 2016

Sorting data of the relationship attributes | IBM Maximo

Sorting:
You cannot sort data of the relationship attributes or non-persistent attributes.

Filtering:
you can filter relationship attribute but not non-persistent attributes.  


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

Friday 9 September 2016

Conditional expression syntax | IBM Maximo

You enter conditional expressions using a syntax similar to Structured Query Language (SQL) with some additional variables.
When you create a conditional expression, use a colon (:) to define a variable. The colon is used to avoid ambiguity when you create expressions that relate the current record to a different, specific record.
You can have subselect in an expression,
exists (select 1 from workorder where wonum=:wonum).
The first wonum is the wonum attribute on the work order object. At run time, the second wonum is replaced with the value of the wonum attribute for the current record.

Wednesday 7 September 2016

Display Assigned GROUPNAME with WONUM in Workorder Tracking | IBM Maximo

 I had a requirement from my client to show the Workflow Assingee PERSONGROUP in front of WONUM in Workorder tracking applicaton's list view.

display assigned PERSONGROUP name in WORKORDER application's list view.

 1. create a new Relationship from ASSIGNEE to PERSONGROUPTEAM, remaining are OOTB

Tuesday 6 September 2016

How to Delete Custom Applications from Maximo | IBM Maximo

Note: First of all shut down application server before going to delete an application.

run these SQL commands one by one:

delete from maxapps where app='CSPINSPECTION';
delete from maxpresentation where app='CSPINSPECTION';
delete from sigoption where app='CSPINSPECTION';
delete from applicationauth where app='CSPINSPECTION';
delete from maxlabels where app='CSPINSPECTION';
delete from maxmenu where moduleapp='CSPINSPECTION' and menutype!='MODULE';
delete from maxmenu where elementtype='APP' and keyvalue='CSPINSPECTION';
delete from appdoctype where app= 'CSPINSPECTION';
delete from sigoptflag where app='CSPINSPECTION';
delete from wfapptoolbar where appname='CSPINSPECTION';

Now just start the application server, deleted application is now longer available. Wasn't that simple.

if you added any system XMLs for your app (like lookups), then you will need to export the System XML and manually remove them and then re-import. (Or just import the copy of the system XML you should have made before you started. 

Add a Combo-box Control in PR using ALN Domain or Object in Database Configuration | IBM Maximo

My client requirement is to have of combo-box (dropdown control) instead of domain(magnifier) for SHIPVIA in Purchase Requisition application Main tab.


Object is: PR
attribute is: SHIPVIA of PR object
DOMAINID in database configuration attach to SHIPVIA of PR object: SHIPVIA  (ALN domain name)

Monday 5 September 2016

Enabling an existing Hover Window in any Attribures | IBM Maximo

By default a some of hover dialogs are set on various application. You can enable existing hover windows on fields to suit your needs. For example, you can add a hover window to show the contact details for the owners of service requests. In general, you can show related information on any fields that support lookup.
If we analyze the properties Advance Tab of these text fields in application designer, we will get to know that there is something in Hover Window ID: field

below is a sample of these four examples and Hover dialog keywords
Hover Window ID:
- Asset               ASSET_RECORDHOVER
- Item                ITEM_RECORDHOVER
- Person             PERSON_RECORDHOVER   
- Work Order    WO_RECORDHOVER

Wednesday 31 August 2016

How to Add lookup to a custom field? | IBM Maximo

In this example we are going to create a new custom field in work order tracking application. And then we are going to attach a lookup to select existing people records.

  1. Create a new Table domain in Domain Application
    • Domain:    myPersonDomain
    • Object:        PERSON
    • Validation where clause:    personid = :myCustomField (same name as field in application) 

Tuesday 30 August 2016

Restrict default behaviour, Auto-Population of Asset Field everytime I select Location | IBM Maximo

use a simple Automation script to restrict this behavior because sometime work orders are opened against Location only.


A small Attibute automation script (ALP):
Business object:  WORKORDER
Attribute: LOCATION
Variable: vASSETNUM bind with ASSETNUM of object WORKORDER

copy and paste below mentioned code:
if  vASSETNUM is not None:
        vASSETNUM=None

Monday 22 August 2016

Custom Field in Non-persistent Object ISSUECURRENTITEM | IBM Maximo

Add a new field in ISSUE CURRENT ITEM dialog and capturing the data in the MATUSETRANS table using automation script.

if owner and owner.getRecordMboName()=="INVENTORY": issueitemMbo=owner.getMboSet("ISSUECURRENTITEM").getMbo(0) if issueitemMbo: mbo.setValue("MATUSETRANScustomaFieldName", issueitemMbo.getString("ISSUECURRENTITEMcustomFieldName"))

Thanks to SASHULL

Maximo Safetyplan and associated Hazard n Precautions SQL | IBM Maximo

select
      sp.safetyplanid
      , sp.description
      , h.hazardid
      , h.description
      , p.precautionid
      , P.description
      , p.siteid
  from
      safetyplan sp
  join
      spworkasset spwa
      on sp.safetyplanid = spwa.safetyplanid
  join
      splexiconlink spll
      on spwa.spworkassetid = spll.spworkassetid

Thursday 26 May 2016

Modify Label using Conditional Expression | IBM Maximo

1. signature option new or existing (e.g. READ)
2. In Advance:
Security Group: EveryOne
Condition: our condition (e.g. :status = 'APPR')
Property: label (if condition true)
value "status is approved"
Property(if false) label (if condition false)
value "Status is not approved"
 

Tuesday 10 May 2016

Invoke an Action (i.e. Change Status) with Push Button | IBM Maximo

1. Create New Action:
    Name: statusApprAction ( for example)
    Object: PR
    Type: 'Change Status'

    Value: 'APPR'

2. Open desired application  (for example, Purchase Requisition in Application Designer
    Create a new Signature Option in desired application using application designer
    New/Option: statusApprSig
    Advanced Signaure Option: Check This is an action that must be invoked by user in the UI

Tuesday 19 April 2016

Wrong Date Format When We Download from List Tab | IBM Maximo

  1. Go to System Configuration > Platform Configuration > System Properties
  2. Find/filter property : webclient.downloaddatetimeastext
  3. In "Global Value" field change the value to 1
  4. Select the row and click "Live Refresh" action
  5. We are done :)

Thursday 14 April 2016

Excluding Attributes Data (user-defined) When Duplicating Records | IBM Maximo

This is only for user-defined attributes and not for out of the box attributes.

1. In Database Configuration, filter your object e.g Assets
2. Click Exclude Attribute Data from Select Action
3. select the attributes that you want to exclude for this object, even you can use conditional expression over here.
4. run Apply Configuration Changes to take effect
you are done :)

DOCLINKS Configuration (Attachments) | IBM Maximo

1. Create your doclinks folder
Create a folder, e.g. c:\doclinks
and a sub-folder, e.g. c:\doclinks\default

2. Configure System Properties
You need to configure the following system properties
  • mxe.doclink.doctypes.defpath => c:\doclinks\default
  • mxe.doclink.doctypes.topLevelPaths => c:\doclinks
  • mxe.doclink.path01 => c:\doclinks=http://<servername>/doclinks

Restart your MXServer.

3. Change httpd.conf (e.g. in my case C:\IBM\HTTPServer\conf\httpd.conf)
Open the httpd.conf and add the following section to the end of the file
Alias /doclinks "D:/doclinks"
<Directory "D:/doclinks">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Wednesday 13 April 2016

Custom Power App for Desktop Requisition XML | IBM Maximo

Once we modified OOB Desktop requisition  to Power App, Presentation is as below:
<?xml version="1.0" encoding="UTF-8"?>
<presentation id="mymr" ismobile="false" mboname="MR" resultstableid="results_showlist" version="6.0.0">
<page id="mainrec" scroll="false">
<include controltoclone="pageHeader" id="INCLUDE-pageHeader"/>
<clientarea id="clientarea">
<tabgroup id="maintabs" style="form">
<tab default="true" id="results" label="List" type="list">
<menubar event="search" id="actiontoolbar1" sourcemethod="getAppSearchOptions"/>
<table id="results_showlist" inputmode="readonly" label="Requisitions" mboname="MR" selectmode="multiple">
<tablebody displayrowsperpage="20" filterable="true" filterexpanded="true" id="results_showlist_tablebody">
<tablecol dataattribute="MRNUM" filterable="false" id="results_showlist_column_select" mxevent="toggleselectrow" mxevent_desc="Select Row {0}" sortable="false" type="event"/>
<tablecol dataattribute="MRNUM" id="results_showlist_column_link" mxevent="selectrecord" mxevent_desc="Go To %1" type="link" usefieldsizegroup="false"/>
<tablecol dataattribute="DESCRIPTION" id="results_showlist_column3"/>
<tablecol dataattribute="SITEID" id="results_showlist_column1"/>
<tablecol dataattribute="REQUESTEDBY"

Thursday 17 March 2016

How to setup e-signature on Asset Application | IBM Maximo

Goto > System configuration > Platform configuration > Database Configuration
1 filter Asset application
  and in Attribute Tab, find desired
2 and Enable Check Box "E-Signature Enabled"
Save
3 Now Manage eSig Actions from Select Action
 filter Asset application
 and filter "Save Asset" in Option for Add Assets in Collection
4 and Enable Check Box "E-Signature Enabled"
5 Run Database Configuration, and you are done :)

Launch in Context, Add Hyperlink on SR to IBM Portal | IBM Maximo

navigation: Goto > System configuration > Platform configuration > Launch in context
1 click new
Launch Entry Name: IBM    Description: IBM Support Portal
console URL: http://www.google.com/portal :) hehe
Target Browser Window: _blank
2 Click New Row button to add Launch Context for Launch Entry
Resource Object Name: SR
3 Hit Save
----------------------------------------------
Navigation: Goto > System configuration > Platform Configuration > application Designer
open SR application
1 Add new Signature Option from action menu
     i New Row button to add new row
        Option: IBM    Description IBM Support Portal
    ii Expand Advanced Signature Option
        Check radio button: Associate to launch entry to enable launch in context
    Launch in Context Name: IBM
2 Hit OK

Monday 14 March 2016

Insert Image in PEOPLE application like in ITEMMASTER | IBM Maximo


Insert Image in PEOPLE application like in ITEMMASTER | IBM Maximo

1.    Create a Relationship on PERSON Object to IMGLIB
(REFOBJECT = 'PERSON' AND REFOBJECTID = :PERSONUID)

Thursday 10 March 2016

Embed Maximo into your own webpage PORTALMODE | IBM Maximo

client requirement is to embed Maximo Login Page into his company's website, for that Maximo offer a switch PORTALMODE=true to append into URL.

for example, in html as a hyperlink

 <body>
<A href="http://10.50.87.20:9080/maximo/ui/maximo.jsp?portalmode=true" target="ifr">Maximo Login</A><BR>

  <TD>
    <IFRAME name="ifr" width="700" height="500"></IFRAME>
  </TD>

</body>

Tuesday 8 March 2016

Reassign button in Workflow (Display One) | IBM Maximo

A Reassign button in workflow at Manual Input Node, sometime we need or sometimes we don't.
Reassignment of an assigned task from your inbox to other is a useful option in Maximo;

below mentioned is the way to enable or disable this option when you click on Route button.
Open your desired workflow in Workflow designer,

Wednesday 2 March 2016

Disabling e-Signature When Managing Admin Mode | IBM Maximo

Navigation: Go to > System Configuration > Platform Configuration > Database Configuration

Click on Manage eSig Action from Select Action Filter Database Configuration and below you will find enabled E-signatures for Manage Admin Mode and all like that. Deselect them and hit Save. You are done.

Thursday 28 January 2016

Import/Re-import a Modified BIRT Report | IBM Maximo



Goto > Administration > Report Administration
Filter desired report with attached Application (for example podetail.rptdesign, with PLUSGPO application)
  1. Click to open that report

Wednesday 27 January 2016

How to take Maximo DB2 Offline Backup - IBM Maximo

FIRST we have to stop maximo server to take offline backup, you can do it by using websphere GUI or by using ServerStop.bat, its totally up to your choice

now copy these below mentioned lines in notepad and save it with dot bat (i.e DB2BackupScript.bat) extension.
DB2 CONNECT TO MAXDB76 USER Administrator USING Maximo76
DB2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
DB2 CONNECT RESET
DB2 BACKUP DATABASE MAXDB76 USER Administrator USING Maximo76 TO "C:\Backup" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS EXCLUDE LOGS WITHOUT PROMPTING
DB2 CONNECT TO MAXDB76 USER Administrator USING Maximo76
DB2 UNQUIESCE DATABASE
DB2 CONNECT RESET

 run these this file by using this command
db2cmd /c /w /i DB2BackupScript.bat
Note: you also can make a bat file for this command also.

LAST: now Start WebSphere back by using GUI or StopServer.bat script. whatever you like. 

Websphere Start Stop Scripts | IBM Maximo

Save these scripts into dot bat file to create as script

Start Script:
C:\IBM\WebSphere\AppServer\profiles\ctgAppSrv01\bin\startServer.bat MXServer 

Stop Script:
C:\IBM\WebSphere\AppServer\profiles\ctgAppSrv01\bin\stopServer.bat MXServer -username wasadmin -password ******

Or

We also can use Websphere jython scripts with wsadmin.bat

Start Script:
AdminControl.invoke('WebSphere:name=NodeAgent,process=nodeagent,platform=common,node=ctgNode01,diagnosticProvider=true,version=8.5.5.3,type=NodeAgent,mbeanIdentifier=NodeAgent,cell=ctgCell01,spec=1.0', 'launchProcess', '[MXServer]', '[java.lang.String]')

Monday 25 January 2016

Find Your Own Records | IBM Maximo

for example in SR request, logged in user wants to filter his own records,

Create a new query and paste below mentioned line
reportedby= :&USERNAME&

or

:&PERSONID&

Thursday 14 January 2016

Import Data into Maximo using INTERFACE tables MIF – IBM Maximo



First of all, we need to have interface/intermediate tables to import something into Maximo from an external/3rd party database. Suppose we want to import some inventory data or for instance we try to figure out with a real example. Let’s assume we need to import data from a legacy application into Maximo. That legacy application is actually an inventory issuance system already implemented somewhere, we have to integrate it with New Maximo Inventory system.
MATRECTRANS tables is actually the main table to
To import data into Maximo, few steps are required to configure step by step.
1.            Object Structure (OS)
2.            End Point (EP)
3.            Enterprise services (Inbound or to import data) (ES)
4.            Publish Channel (Outbound or export data, we will not use in this case) (PC)
5.            and Combine above all into an External System (ExS)
6.            Generate Interface tables
7.            Configure Cron task for Scheduling (CT)
8.            Done. Now insert data into Interface tables and Maximo will read as per given schedule in CT.

Object Structures (OS)

Saturday 9 January 2016

Fixes by Versions for Maximo and TAMIT - IBM Maximo

On December 11, 2015, IBM Software released the 7.6.0.3 Feature Pack for Maximo Asset Management

Click here: This list reflects latest and recommended fixes for Maximo Asset Management and Maximo Asset Management for IT 

Wednesday 6 January 2016

Document Sequence in Maximo with DB Trigger - IBM Maximo

Maximo uses Autonumbering, which basically a Unique value with optionally prefix or suffix. 
Whenever a user hit the New (#) button in any application, Maximo generate a AutoNumber, user can change that number but the CurrVal of sequence has moved to NextVal. 

One of my client's audit requirement is to have an auto incremented unique sequencial document control numbering without jumping(missing numbers), without losing even a signal number.  

We handled this situation at database level to insert into a new field with an increment of number before insert.

1. create a DOCNUM field in PO Object by using Database Configuration, check filterable and Wildcard.
2. Create a trigger with below mentioned code to fire on PRE-INSERT, get max(DOCNUM) from all POs , increment with 1 and Assign value to DOCNUM. 
3. If PO type is STD then a word 'PO' will be prefixed with Number else 'SO'
4. also Concat the fiscal year between prefix and actual number (SO-16-12345)

Trigger Code is as below:

CREATE OR REPLACE TRIGGER MAXIMO.PO_TEST
  NO CASCADE BEFORE INSERT
  ON MAXIMO.PO
  REFERENCING
    NEW AS N
    OLD AS O
  FOR EACH ROW
BEGIN
DECLARE POTYPE1 VARCHAR(10);
DECLARE YY INTEGER;
  IF N.POTYPE = 'STD' THEN
    SET POTYPE1='PO';
  ELSE
    SET POTYPE1='SO';
  END IF;
  Select to_char(add_months(sysdate,7),'YY') INTO YY from sysibm.sysdummy1;
SET N.ROWSTAMP = NEXTVAL FOR MAXSEQ
   ,N.DOCNUM = POTYPE1||YY||(select LPAD(MAX(SUBSTR(DOCNUM,7,3))+1,5,'0') from PO);
END;