Skip to main content

Posts

Showing posts from 2018

Integration Control

Integration control used in making conditions for processing  provides a way to match xml field or object field with particular value. We have 4 types of integration control 1. Value 2.List 3. XRef 4.Boolean Value control is used to compare with single value. List control is used to compare with list of values which may come from domains. Boolean control is true or false value used to compare yorn field I personally never used it. XRef control i.e cross reference control is used to to swap values foe example we have different orgid in other system than we can define cross reference control inorder to translate. We create cross reference control and associate it with enterprise service or publish channel. We can also override these values at external system level.

Maximo Interview Questions - Maximo Technical and Functional Questions

Technical Questions How do you rate your self in :- 1. PL/SQL 2. Java 3. Automation Script 4. Mbo Customization 5. Admininstration Jobs 6. Funtional Concepts 7. Maximo Configuration Do not rate anything less than 7 unless you don't want interview to skip the topic Deployment / Administration  1. Explain LDAP integration? 2. Explain SSO and LTPA token? 3. What is global security? 4. How session is managed in Websphere or Maximo? 16. How to insert attributes from Backend? 5. How request is passed in Maximo? 6. How to do horizontal and vertical clustering? 7. Explain how you confire websphere for maximo manually? 8. What are Websphere MQ? 9. What is JMS, Connection Factory and Queues? 10. What is difference between vmm and ldap sync integration ? 11. What is Standalone and federated repository? 12. How to install a new language in Maximo? 13. What are the steps to apply a Fix pack in Maximo, Websphere or DB2? 14. Have you worked on any performance checking tools? 15

Maximo ESTDUR Calculation

Hi Recently I came across a requirement where I have to calculated estimated duration value based sum of planned labor for all tasks and work order. While implementing this I came across situation where I was not getting correct /modified values of planned labors via wplabor relationship. We should use relationship "SHOWPLANLABOR" or "SHOWTASKS" to get modified relationship. This will give modified values instead of WPLABOR.

Maximo Invoke Publish channel using automation script

Steps 1. Create an action. 2. Create an autoscript with below code Option 1  from psdi.iface.mic import PublishChannelCache PublishChannelCache.getInstance().getPublishChannel(pubChannelName).publish(mbo, true); Option 2  server.lookup("MIC").exportdata("MYPUBLISHCHN","MYEXTSYS","WHERECLAUSE", useirnfo,-1) 3. Create a object strucutre and Publish channel and External System. 4. Enable Publish channel and External System. 5. Apply autoscript on that action and Run that action.

List of Maximo Applications in 7.5

    ACTION   ACTIONSCFG   ACTIVITY   ACTUALCI   ASSET   ASSETCAT   BBOARD   CALENDR   CHANGE   CHANGEPSWD               CHRTACCT   CI   CITYPE   COLLECTION   COMMTMPLT   COMPANY   COMPMASTER   COND   CONDCODE   CONDEXPMGR               CONFIGUR   CONTLABOR   CONTLEASE   CONTMASTER   CONTPURCH   CONTSFW   CONTWARRTY   CRAFT   CREATEDR   CREATESR               CRONTASK   CURRENCY   DEPLGROUPS   DESIGNER   DM   DOMAINADM   DPAMADPT   DPAMMANU   DPAMOS   DPAMPROC               DPAMSW   DPAMSWS   DPAMSWUSG   DPLDASSET   ECOMMADAPT   EMAILSTNER   ENDPOINT   ESCALATION   EXCHANGE   EXTSYSTEM               FACONFIG   FAILURE   FEATURE   FINCNTRL   FORGOTPSWD   HAZARDS   IM   INBXCONFIG   INCIDENT   INTERROR               INTMSGTRK   INTOBJECT   INTSRV   INVENTOR   INVISSUE   INVOICE   INVOKE   ITEM   JOBPLAN   KPI               KPIGCONFIG   KPIL

Maximo what web-service to chose

Soap 1. Soap uses HTTP Post Methods or Operations. 2. Creating soap web service we get wsdl files which have data and operations. 3. Soap has overhead so should not be used for Mobile 4. Soap gives data in XML format. 5. We can create java files from Soap Web services. Rest 1. Uses Get and Post, Put and delete function to perform options. 2.  Here we get URI using which we can perform Get,Post or Put functions. 3. Rest is lightweight. 4. Rest gives data in XML, JSON and Text.

Maximo Status change in Future date

Maximo allows us to change status in future date using select action change status but with a catch that you can't go to next status in between dates For example If you select change status and change statusdate from todays date to 10 days after today.  Maximo will not allow you to change another status before these 10 days. Entry for this is done in wostatus table in status date for the 10 th day from today.

Eclipse Shortcuts

F2 :- To display java docs associated with a class or method Ctrl D:- To remove a line. Extract Method from lines Select lines --> Rt. Click refractor -----------> Select Extract Method -------> It will create method from these lines

Checks before Maximo Installation

Following checks should be done before Mximo installation 1. Stop antivirus. 2. Check domain name is defined. 3. Check ports, System space is available. 4. Installers are extracted properly in drive. Also please create installation document where you can maintain password and port details which will be helpful in case something messed up.

Unable to change Tool status to Obsolute, Workorder exists on this item

Hi If you are getting this  error you need to close,complete or cancel these workorders otherwise you will not be able to make this tool Obsolute. Below are other things you can check to make tools exists so as to not get error's like that:- 1. Check Workorders exists on it or not which are not in cancelled or complete or closed status Query 1. Workorder select * from maximo.wpitem where itemnum='YOURTOOLNUM' and wonum in (select wonum from maximo.wonum where status not in (SELECT MAXVALUE FROM SYNONYM domain where domainid ='WOSTATUS' AND maxvalue not in ('COMP','CLOSE','CAN')) 2. Check for invbalances Select * from maximo.invbalances where curbal>0 and itemnum='YOURITEMNUM' 3. Check if there is any asset exist on this item Select * from maximo.asset where  itemnum='YOURITEMNUM' 4. check for joptool Select * from maximo.jobitem where  itemnum='YOURITEMNUM' 5. Check for MR which are not c

How to start Apache tomcat server from command prompt

Hi All below are commands to run for starting apache  tomcate server C:\Program Files\Java\jre1.8.0_161\bin>set JAVA_HOME=C:\Program Files\Java\JDK1. 8.0_161 C:\Program Files\Java\jre1.8.0_161\bin>set CLASSPATH=C:\PROGRAM FILES\JAVA\JDK1. 8.0_161 C:\Program Files\Java\jre1.8.0_161\bin>set CATALINA_HOME=C:\Downloads \apache-tomcat-8.5.28-windows-x64\apache-tomcat-8.5.28 C:\Program Files\Java\jre1.8.0_161\bin>C:\Downloads\apache-tomcat-8.5 .28-windows-x64\apache-tomcat-8.5.28\bin\startup.bat

Error cannot change item number because location is inventory

This is a case where you were not able to change item number of this asset from change item number. This error comes when we use select action "change Item Number" on asset application and assets location is inventory. To resolve this error you need to transfer this item to non inventory location using inventory usage application only. Also you need to select asset number or given full quantity if you want to move all asset attached with same item number and complete this record then asset location will be changed to your mentioned location inventory usage line. Then you will be able to change item no. on asset application.

How to generate stup files from WSDL

TO generate wsdl files from stub use following procedure Go to bin directory in cmd prompt C:\Program Files\Java\jdk1.8.0_161\bin Enter command WSIMPORT <Your wsdl Path?WSDL> If you recieve error for space in program space files use this command Go to D: "C:\Program Files\Java\jdk1.8.0_161\bin" -Keep <Your wsdl Path?WSDL> To define path where you want your files to be placed use wdimport "C:\Program Files\Java\jdk1.8.0_161\bin" -Keep -s D:\MyProject <Your wsdl Path?WSDL>

Skip Copy Field Method

This method is used to skip certain attributes on duplication. @Override protected boolean skipCopyField(MboValueInfo arg0) throws RemoteException, MXException { // TODO Auto-generated method stub boolean b=super.skipCopyField(arg0); String attributeName=arg0.getAttributeName(); for (int i = 0; i < dup.length; i++) { if(dup[i].equalsIgnoreCase(attributeName)) return true; } return b; }

Creating button to make workorder to WSCH status

You need to extend statefull bean class for this Sample class would be package custom.webclient.beans.workorder; import java.rmi.RemoteException; import psdi.mbo.MboSetRemote; import psdi.mbo.StatefulMboRemote; import psdi.util.MXApplicationException; import psdi.util.MXException; import psdi.webclient.system.beans.DataBean; public class CustStatefulAppBean extends StatefulAppBean { public int WSCH() throws RemoteException, MXException { DataBean db = app.getAppBean(); StatefulMboRemote mbo = (StatefulMboRemote) db.getMbo(); targetStatusOption = "WPCOND"; statusChangeButtonSigoption = "WPCOND"; mbo.setTargetStatusOption("WPCOND"); mbo.setStatusChangeButtonSigoption("WPCOND"); STATUSSUB(); clientSession.loadDialog("status"); return 1; }           public int STATUSSUB() throws MXException, RemoteException {      DataBean appBean = app.getAppBean();    StatefulMboRemote statefullRemote = (

Rewritting in Customization

Quite often peple write redundant code Example MboSetRemote invoiceLineSet=invoice.getMboSet("invoiceline"); if(invoiceLine.isEmpty()){ MboRemote invoiceLineMbo=invoiceLineSet.moveFirst(); while (invoiceLineMbo!=null) { Long constransId=invoiceLineMbo.getLong("CONSTRANSID"); if(constransId>0) { StringBuilder sb=new StringBuilder(); sb.append(String.ValueOf(constransId)); } } Here this line if(invoiceLine.isEmpty()){ is not nacessary because we are not taking string value of out of mboset or calling any moethod  from it sb.append(String.ValueOf(constransId)); this is also not required because sb.append method can handle Long values.

Query to Create New Synonym domain

Create Maxdomain :--------- insert into maxdomain ( domainid, description, domaintype, maxtype, length, scale, maxdomainid, internal, rowstamp) values ('APPSTATUS', 'App Status', 'SYNONYM', 'UPPER', 20, 0, maxdomainseq.nextval, 1, maxseq.nextval) ; Query for inserting values in domain insert into synonymdomain ( domainid, maxvalue, value, description, defaults, siteid, orgid, synonymdomainid, valueid, rowstamp) values ('APPSTATUS', 'WAPPR', 'WAPPR', 'Waiting on Approval', 1, null, null, synonymdomainseq.nextval, 'APPSTATUS|WAPPR', maxseq.nextval) ;

Apprestriction

In Maximo Application XML you can restrict records to be display in list tab For example to restrict records of workorder you can use <presentation apphelp="com.ibm.mbs.doc,wotrack/c_wo_tracking_application.html"  apprestriction="status!='CAN'" beanclass="psdi.plusp.webclient.beans.pluspwo.PlusPWorkorderAppBean" id="wotrack" mboname="WORKORDER" resultstableid="results_showlist" version="7.1.0.0">

Reciept Tolerance

We can specify receipt tolerance for an item in item application. This will allow us to receipt  Item more than we define on Po line. Steps Specify reciept tolerance for an item and vendor details for example 10. Create a PO and select vendor specified above, select vendor items to create POLINE with central as storeroom.Specify quantity as 100 Approve PO and Go to recieving application and select above and recieve those items.  On recieving enter quantity 120 and select OK. Maximo displays a message Quantity specified on PO is greater and quantity ordered and reciept tolerance by 10 Click "OK" to receive 110 Qty. Go ahead and Create an invoice on this PO an approve it with quantity 110 Go to invoice main tab and you will be able to see invoice amount .Also you will be able to see univoiced quantity which is for those 10 extra items you recieved. Calculation of Uninvoiced Amount is  Uninvoice Cost=PoTotalCost-InvoiceTotalCost We can specify receipt tolera

Measurement Point Cron Not generating Workorder

Reason can be 1. Job plan not active 2. Site is not enabled  for Condition Monitoring WO gen.. 3. Admin Email or vars 'AUTOMPWOGEN', 'MPWOGENEMAIL', 'MPWOGENUSECRITERIA' not specified  or Log file  access for users is not there . 4. PM  not active. 5. Asset is not in desired status. To get More see data from below Queries select * from maximo.maxvars where varname in ('AUTOMPWOGEN', 'MPWOGENEMAIL', 'MPWOGENUSECRITERIA') select * from maximo.MEASUREPOINT ; select * from maximo.pointwo; select * from maximo.measurement select * from maximo.CHARPOINTACTION

Create Inventory Usage Records from workorder

Go to Organiation and set inventory defaults to automatic create inventory reservation records. Create a workorder and it will create inventory Usage  record in Maximo when you approve workorder. InvreserveUpdate Cron will make automatic order to APHARD or APSOFT. When you approve workorder it will create records in INVRESERVE table. Once you complete Inventory Usage record and Complete it this will delete records from INVRESERVE Table. You can also create an invusage record to transfer one item from one storeroom to another. For this you need to select usage type as Transfer then only you can specify to storeroom value. Once specified you can either change status to complete or change status to shipment when you change status shipment you need to go to shipment recieving application to complete shipment for this record. Check balance of your new storeroom for verifying values are updated or not. It will also create a record in matrectrans with issuetype SHIPRECEIPT a

Maximo ways to create Invoice

Hi Following are ways to create invoice in Maximo :- 1. Create a PO and select pay on receipt, select items non consignment and receive those item. In receipt you can check invoice. 2. Return one of item it will again create a credit invoice. 3. Create a item and add it to inventory and check consignment option  and add vendor and type in consignment details option Type 1. Consumption 2. Manual 3. Frequency For all type you can create an invoice. Select consumption for now. For consumption, create a WO and in actuals enter above item, this will create a invoice. 4. Select frequency in type field Active consignment cron and add item to actuals. This will create a invoice. 5. Select Manual and create a invoice and select consignment item option in invoice line for this you can create a inventory usage record. 6. Create a Po and receive it and create invoice for this PO. 7. Create invoice for labor transaction based on contract. 8. Adjust balance of consigmen

Interface table integration

Points on interface table integratio :- 1. While doing interface table integration we will create interface table. 2. Maximo Iface table cron pics data from this table and process them based on MXOUT_INTER_TRANS table accordingly. 3. When you make any change in obj structure, you need to recreate interface table. 4. While creating interface table again if you check rename option interface table creates backup table with interfacename_back. 5. Data will no delete from MXOUT_INTER_TRANS table when you regenerate interface table. 6. Interface table can also be seen as a object in database configuration.

Advance Configuration in Integration Framework

Exclude parent key attributes : This will exclude parent's key attributes in child object Create a objectstructure with asset and spareparts as object. Create publish channel and configure outbound transaction. XML where parent key are excluded <?xml version="1.0" encoding="UTF-8"?> <max:CreateBOSASSET xmlns:max="http://www.ibm.com/maximo" creationDateTime="2008-09-29T07:19:45" baseLanguage="string" transLanguage="string" messageID="string" maximoVersion="string">   <max:BOSASSETSet>     <max:ASSET action="Delete" relationship="string" deleteForInsert="string" transLanguage="string">       <max:MAXINTERRORMSG>string</max:MAXINTERRORMSG>       <max:AMCREW changed="true">string</max:AMCREW>       <max:ANCESTOR changed="true">string</max:ANCESTOR>       <max:ASSETID ch