Friday, 17 March 2017

Launch in Context, Locate People with Google Map | IBM Maximo

Launch an external website or call an external API in a context. In our case, the context is an application record we are in.

it means the LIC is used to integrate with other products.
let us discuss it with an example, in People appliation, WILSON's addresses (bill to and ship to) will be displayed on google map.



org's address
ibmbrasil
ibmpakistan

1. in people, filer WILSON
set WILSON's workplace as shipto billto addresses.

2. we will use google api to show marker on map for WILSON's addresses. B for bill-to and S for ship-to
(https://developers.google.com/maps/maps-api-list)

Thursday, 16 March 2017

Child Dataset in BIRT using Scripted Data Source | IBM Maximo

developing complex reports for Maximo requires a number of data sets in Birt sometimes. And definately every second dataset is a subset/or dependent of Main dataset. therefore every child dataset takes a parameter as input from MainDataSet.

for example;
A PO data set,
and a POLINE dataset, poline dataset takes PONUM as InputParameter from PO.

1. create a Paramter in PolineDataSet "Edit DataSet"
PONUM, String, Input, NULL
2. In Layout tab, draw table, and in Table Data Binding
a Click on DataSet Parameter Binding (b)
b Click Edit (b)
c type/select row["ponum"]
3. In PoLineDataSet's Open event (4 things)
i data source provider
ii dataset open
iii set query
iv Query Parameters

3(i) SetQuery:
we need to append our where class in (iii) set query part
sqlText = "select * from PO where ponum = ?";

don't forget to comment this line in child dataset "where " + param["where"]

3(ii) Query Parameter:
name first paramater in this line
polineDataset.setQueryParamterValue(1,inputParams["ponum"]);

Friday, 10 March 2017

How do I detect whether 32-bit Java is installed on x64 Windows

java -d64 -version


If it's not a 64-bit version, you'll get a message that looks like:

This Java instance does not support a 64-bit JVM. Please install the desired version.

Monday, 13 February 2017

Inventory Issue and Return Debit/Credit Transaction | IBM Maximo

Maximo doesn't use a reverse entry approach but instead Maximo will change the SIGN(-) of LINECOST and GL accounts remains the same.

e.g.
Issuance:
GL Debit = org-222 $1,000
GL Credit = org-111 $1,000

Return:
GL Debit = org-222 $-1,000
GL Credit = org-111 $-1,000

Friday, 10 February 2017

Maximo 76 BI Documentation at Developer Works | IBM Maximo

This page lists BI (Business Intelligence) Documentation either introduced or updated for the Maximo 76 release.   Access this page for demo recordings of these features.  
*NEW* Or access or subscribe to the You Tube Channel of Maximo BI Development videos and more here!

Monday, 16 January 2017

Formula Average Cost of an Item | IBM Maximo

(Old Balance * Old Average Cost) + (Receipt Qty * Receipt Cost) /
(Old Balance + Receipt Qty)

for example:

Old Balance: 0
Old Average Cost: $1000.00
Receipt Qty(one new item purchased): 1
Receipt Cost: $4000.00

(0 x 1000) + (1 x 4000) / (0 + 1) = 4000

Saturday, 14 January 2017

Get Location data using REST API in External application | IBM Maximo

create a html file named index.html
paste this code into it.

<html>
<head>
</head>
<body>
<form action="http://maximo/maxrest/rest/mbo/locations?_lid=maxadmin&_lpwd=maxadmin" method="GET" >
GET LOCATION type location:<input type="text" name="location" value="SEG100" />
<input type="submit" value="SUBMIT" />
</form>

Post/Update Asset's Description using POST method:
<form action="http://maximo/maxrest/rest/mbo/asset/123?_lid=maxadmin&_lpwd=maxadmin" method="POST" >
POST/UPDATE ASSET<input type="text" name="description" value="new description HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap" />
<input type="submit" value="SUBMIT" />
</form>
</body>
</html>

Get Person Record using REST API | IBM Maximo

Create a file for example, index.html
paste this code into it.

<html>
<head>
</head>
<body>
<form action="http://maximo/maxrest/rest/os/MXPERSON/3?_lid=maxadmin&_lpwd=maxadmin" method="GET" >
GET person where personuid is 3:<input type="submit" value="SUBMIT" />
</br>
<form action="http://maximo/maxrest/rest/os/mxperson" method="GET" >
GET PERSON enter personid:<input type="text" name="personid" value="WILSON" />
<input type="submit" value="SUBMIT" />
</form>
</form>
</body>
</html>

How to Deploye a Web Service | IBM Maximo

first check this system properties, it should be set to 1
mxe.int.containerdeploy

Now go to integration, web servcies library application
New(b), Create Web Service, Create From Object Structure
select MXASSET > and hit Create(b) button

Open newly created MXASSET in list view
in select action menu > deploye to AS web Service Container > Generate Deployement File Entries

now copy this file fro c:\mif\jaxws\deplmodule.dar
to c:\ib\smp\maximo\deployement\ folder

redeploye EAR file (bulidmaximoear.cmd)

after if all goes good

hit this url: http://<host>:<port>/meaweb/wsdl/mxasset.wsdl

Common Question: "how do I define my locations?" | IBM Maximo

One of the most common questions that planners who are trying to implement Maximo have to ask is "how do I define my locations?".

This document helps you define your locations in Maximo. 

Defining Locations in Maximo

Configuring Multiple "Go To Application" Options with Lookup | IBM Maximo

suppose in invoice application, there is a PO field from where we can jump back to PO by clicking on "Go to >> Purhcase Order "

Today we are going to set multiple application in this "Go to" ;

A simple tip is here to do that, we just need to append the property of desired field in application designer named "Go to Application".

for example, Open Invoice application in application designer

right click to open properties of PO field
there is already entered a value (PO) in "Go to Application" property.
we just need to append another after PO like this (PO,RECEIPT)

note: don't type a space after comma;

and we are done :)

Save Record When User Moves from One Tab to Another | IBM Maximo

for example in Workorder Tracking Application, when user moves to PLAN tab, record should save.

Export presentation XML file from application designer, 
filter workorder tracking application, 
note: make a copy (backup)
open XML in notepad

find 'tab' element i.e. <tab id="plans"
add tabchangeevent="save" property in tab element

it will look after adding
<tab id="plans" label="Plans" tabchangeevent="save">

Export Flat file with Enable Event Listner MIF - IBM Maximo

1. Object Structure 
New > D-Person  Demo Person AQ_PERSON_OS
Consumed by : Integration
Support Flat structure Flag : True
Source Person
Exclude all column except , personid, firstname, lastname

2. Publish Channel
New > D-Person Demo Publish Channel Person AQ_PERSON_PC
Operation: Publish
Object Struction: D-Person AQ_PERSON_OS
Action > Enable Event Listner
Action > Message Tracking > Enable Message Tracking Flag : True > Ok(b)

Tuesday, 10 January 2017

Change Status using REST API integrated in HTML | IBM MAXIMO

REST API (Representational State Transfer) (Application Programming Interface)
it was introduced in 7501, a new protocol to integrate Maximo with external systems.
Its a part of Maximo Integration Framework (MIF) works and can be use to CRUD.
With Business objects (Mbo) and Object structures (OS)

Useful Links



For example, lets try to change the stautus of a Workorder using REST API

create a html file named index.html
paste this code into it.

Monday, 9 January 2017

Modify "Change Status" Description | IBM Maximo

1. In Domain Application, filter PR Status
2. Modify Description and hit OK
We are done :)

Maximo 7.6 Installation Procedure Step by Step | IBM Maximo

with new features Maximo 7.6 has introduced a number of technology updates, first look is and updated installer.

A document describes how to download IBM® Maximo® Asset Management 7.6 using the IBM Passport Advantage web site. https://www-304.ibm.com/support/docview.wss?uid=swg24038431

DEOCK YONG SHIN (ExInEx) has published a very detailed screen by screen installation procedure to Install Maxio 7.6 at IBM Developer Works
 https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Anything%20about%20Tivoli/page/Maximo%207.6%20installation%20procedure
Another published article and very documented step by step procedure to install Maximo 7.6 by Richard Lesses 


  1. Installing Maximo 7.6: A first look, part 1
  2. Installing Maximo 7.6: A first look, part 2
  3. Installing Maximo 7.6: A first look, part 3
  4. Installing Maximo 7.6: A first look, part 4


Wednesday, 4 January 2017

Disable Emailing of Password when Updating Password | IBM Maximo

in Security > Users Application
Click Security Controls from Select Action
Select " Allow Generated Passwords to Be Displayed On Screen option"
and hit OK.

we are done :)

By disabling this option, you do not need to set up the SMTP server or provide email information for the user when creating a new user and password or updating an existing password.
Reference: http://www.ibm.com/support/knowledgecenter/SS2GNX_7.2.2/com.ibm.tivoli.tpm.scenario.doc/security_troubleshooting/trcom_disablingpsswd4update.html

Monday, 2 January 2017

Maximo 7.6 Developement Environment, EAR Deployment and Mbo Customization | 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 c:\eclipse\ folder.
start Eclipse.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)
    Add the following jars
        maximo/lib/*.jar
        maximo/businessobjects.jar
Done :)
thanks to Bruno Quick Setup Development Environment

Sunday, 1 January 2017

Create a Child Table Using Table Control | IBM Maximo

1. First, drag and drop a table control in Maximo, set properties as below:


Data Source Id:            main_tasks_table
Relationship:               Master_Detail_Relation (master to detail main relationship)

2. Drag a Default value control and set properties as below:
From Data Source ID: MAINRECORD
From Attribute: ParentTableID
Attribute: ChildTableID
--------------


or it can be done with an automation script.

For instance, the table ( prchild ) is a child of the PR table. So just write an automation script and name it as below:

NAME: PRCHILD.NEW

owner=mbo.getOwner()
if owner and owner.isBasedOn("PR"):
    mbo.setValue("PRNUM",owner.getString("PRNUM"))
    mbo.setValue("SITEID",owner.getString("SITEID"))

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