Monday 30 November 2015

Information required to Troubleshoot(logging) Maximo Integration (MIF) - IBM Maximo

Maximo.log file reproducing the problem with the following logging properties in Loggin application enabled:
Navigation: goto > System Properties > Plateform Properties > Logging

log4j.logger.maximo.integration=DEBUG
log4j.logger.maximo.sql=INFO
log4j.logger.maximo.crontask=DEBUG

If using a custom integration object, output containing the object definition information from the following queries:
select * from maxintobject where intobjectname='your custom integration object'
select * from maxintobjdetail where intobjectname='your custom integration object'
select * from maxintobjcols where intobjectname='your custom integration object' order by objectname,name

Application server log:

For WebSphere, the log is systemOut.log and is located in the server directory IBM\WebSphere\AppServer\Profiles\customprofilename\logs\servername.

Reference  IBM Technote https://www-304.ibm.com/support/docview.wss?uid=swg21393908

Extract Segments from GLCode - IBM Maximo

A requirement once occurred at integration level at one of my client, We use below mentioned select clause combination with in-built sql functions "substr" and "instr" to achieve this task.
Segments separator was used there as "."
Example GLCode is as "Asset.OC.AFE.Element.Dept.Account.GLAC"

Update DB Records without Rowstamp - IBM Maximo

To update tables records without rowstamp, we can enable a system property named

"mxd.db.updateWithoutRowstamp" to 1.

for example: Interface tables doesn't have rowstamp. then we set above mentioned system property to 1 and can update table easily without rowstamp.

Sunday 29 November 2015

Dynamic Query Variables can use in Query or Conditional Expressions – IBM Maximo



a list of variables we can use in Maximo for queries or we can use in Conditional Expressions:
:yes – true
:no – false
:&datetime& – current date/time
:&date& – current date
:&personid& – person ID of the logged in
:&user& – logged in user
:&ownername& – name of the owner business object
:&owner&.<attrname> – value of an attribute of the owner business object
:&owner&.<relationshipname>.<attrname> – value of an attribute of the related business object of the owner business object
:&appname& – application name
:&mboname& – name of the current business object
:<relationshipname>.<attrname> – value of an attribute of a related business object of the current business object
:$old_<attrname> – the initial value from the database of the attribute

Export (Import) 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. Enterprise Service
New > D-ESPerson Demo Enterprise Service Person AQ_PERSON_ES
Operation: Sync
Object Struction: D-Person AQ_PERSON_OS
Action > Enable Event Listner

Friday 27 November 2015

A List of JDBC Driver and URLs for Integration End Points - IBM Maximo

Oracle 
URL: jdbc:oracle:thin:@<HOST>:<PORT>:<SID>
DRIVER: oracle.jdbc.driver.OracleDriver
 
IBM DB2
URL: jdbc:db2://<HOST>:<PORT>/<DB>
DRIVER: COM.ibm.db2.jdbc.app.DB2Driver


Microsoft SQL Server
URL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
DRIVER: weblogic.jdbc.mssqlserver4.Driver

JDBC-ODBC Bridge
URL: jdbc:odbc:<DB>
DRIVER: sun.jdbc.odbc.JdbcOdbcDriver

MySQL (MM.MySQL Driver)
URL: jdbc:mysql://<HOST>:<PORT>/<DB>
DRIVER: org.gjt.mm.mysql.Driver

Thursday 26 November 2015

Default System Variables, Can be used to default a value - IBM Maximo

&SYSDATE& - This will default a field with the current system date/time
&USERNAME& - This will default a field to the current USERID value
&AUTOKEY& - This is used for attributes that are set to autonumber to default to the next autonumber value.
&PERSONID& - This will default the current user's PERSONID value.

How do I set field defaults in Maximo using Database Configuration? 
Solutions:
  
  1. Select the object the attribute exists in from Database Configuration Application
  2. Select the attribute for which the default is to be set
  3. Expand the details of the attribute
  4. In the right hand side of the Details section there is a Default field, type your desired default value 
OR
you can used system defaults (above given 4 variables) that work in the Database Configuration Default field.

Monday 23 November 2015

Read Only Fields, Attribute Restriction in Security Group – IBM Maximo


A simple way to make a field read-only is by using application designer and change Input Mode to READONLY from that specific attribute property.
But to achieve this task for a specific security group, for that we need to create a ATTRIBUTE RESTRICTION in Security Group.
  1. Launch Security Groups (Goto>Security> Security Group)
  2. Select a group name that you would like to change. (e.g. MAXADMIN)
  3. Click on Data Restrictions tab.
  4. Enter a new row for the Attribute Restriction subtab, with the desired field information.(in my example:
Object: Locations
Attribute: Description
Application: Location
Type*: READONLY --------------------- (Change the Type to read-only.)
Revaluate: Yes)

Friday 13 November 2015

Rapid BIRT Configuration with IBM Maximo 7.6 - IBM Maximo


1 install jre-7-windows-x64.exe into C:\java\jre7
2 Extract eclipse-reporting-kepler-SR1-win32-x86_64 into C:\birt_431\eclipse


#classes folder copy
cp -R C:\IBM\SMP\maximo\reports\birt\scriptlibrary\classes C:\birt_431\eclipse\plugins\org.eclipse.birt.report.viewer_4.3.1.v201309171028\birt\WEB-INF\

# oraclethin.jar driver copy
cp C:\IBM\SMP\maximo\applications\maximo\lib\oraclethin.jar  C:\birt_431\eclipse\plugins\org.eclipse.birt.report.viewer_4.3.1.v201309171028\birt\WEB-INF\lib\

Inventory Issue and Return Transactions deep inside – IBM Maximo



With Inventory Usage application, we can Issue and Return items between sites within the same organization.      
Maximo uses the date and time to Actual Date field to determine the Financial Period for transaction. And the Actual Date field defaults to the system date and time (sysdate).

1.            Issue Items: -     When we hit Save button, Maximo writes a record MATUSETRANS table in database with ISSUETYPE=ISSUE, negative QUANTITY, and LINECOST in positive. 
Example:
                Suppose we issue 20 items at the cost of 0.5$ each from storeroom.

Wednesday 11 November 2015

Find all Inventory Items with Current Balance is Less Than 1 To Reorder, – IBM Maximo


Its a simple trick to query all those record whose current balance is less or equal to 0. Its a good one to see whether we should run Reorder or not. 



Create a Save a Query with just a simple step.

  1. Click on where Clause in Advanced search button, and paste given code in it and then press Save Query Button, Enter Name (for example CURR BALANCE), Description and hit Save.
  2. Now Newly created query is displayed in your Action Menu. Just click on query name (CURR BALANCE in my case). 


inventoryid in (select inventory.inventoryid
from inventory
inner join invbalances
on inventory.siteid = invbalances.siteid
and inventory.itemnum = invbalances.itemnum
and inventory.itemsetid = invbalances.itemsetid
and inventory.location = invbalances.location
and invbalances.curbal < 1)