Posts

Launch a dialog and enable end user select assignee on workflow route

Image
  Scenario : End user should be able to select the assignee from a group on workflow route and assignment needs to be created for the selected person on the run. Solution : Launching a dialog on workflow route, to provide a field with a lookup of the person group, so user could select the assignee.  Steps to follow: 1. Create a non-persistent attribute ex: PO.ABGROUPASSIGNEE to be same as PERSON.PERSONID. 2. Create a dialog in the PO.xml as below:     <dialog id=" abcgroupassignee " label="ABC Group Asignee">         <section id="1528394091">             <textbox dataattribute="ABGROUPASSIGNEE" id="1528394092" lookup=" ABGROUPASSIGNEE "/>         </section>         <buttongroup id="abcgroupassignee_buttongrp">             <pushbutton default="true" id="1528394093" label="OK" mxevent="dialogok"/>     ...

IBM Maximo | Modify the ToList details of a Communication Template dynamically | Automation Scripts

Scenario : To dynamically change the ToList : SendFrom, ReplyTo based on the record. This technote is intended to provide step by step process to achieve the functionality. Method & Reasoning : It is not ideal to update the Communication Template with the  ToList  details everytime the record is updated or on any trigger and then call mbo.SendMessage() method. If two records are being saved at the same time there could be a refetch error on the COMMTEMPLATE object. Hence we are going to have the sender details stored based on the record and send a notification with dynamic sender details using the communication template. Implementation : 1. Create a communication template: Go To --> Communication Templates Applications --> Create New  CT Name : WOSTATUSNOTIF Description: Notifies concerned group on Work Order status change Applies To: WORKORDER Accessible From: ALL #Adding person group to to,cc to: WOPERSONTOGRP cc: WOPERSONCCGRP bcc: NA Subject: Work Order :won...

Solving MaximoRMI system#notboundexception

Image
Problem Scenario : Getting system#notboundexception error while testing an RMI connection to Maximo from an external application Steps to Deploy and test an RMI connection with Maximo Successfully. 1. Maximo.properties file Edit or make sure these properties exist in the maximo.properties file that is built and deployed for rmireg.war and maximo-MIF.ear Note : Ports that are used for RMI needs to be added to firewall settings and the maximo.properties file. RMI is registered on a port,  mxe.registry.port. RMI uses the port added to  mxe.rmi.port while external system communicates with Maximo. Ex in my case I have added 1099 as a RMI communication port and it is registered on 13400. Make sure all the jvms, other than RMIRegistry have a  -Dmxe.name given in their jvm arguments. This will allow the jvms to be recognized by custom names. Ex.In my case MXMIF is the  -Dmxe.name  name for integration jvm. In the maximo.properties file, find or add // Name to bind th...

Maximo | Scheduling, Generating & Posting a report to server | #Maximo #AutomationScript #Cron

Scenario : Schedule a report to be saved in the server for user access. As user does not want to run and download a report every time.   Steps to achieve : 1. Create a path in server. 2. Create a script to create a report and post. 3. Associate the created script as a parameter to the cron.   Lets roll!   1. Create a folder under F drive in the server box :   F:\REPORTS\WOREPORTS   The report file that we are about to write will fall under the folder WOREPORTS that we have created under F drive, REPORTS folder.   2. Create a script : Go To Automation script and Click on Create Script > Script. This being a cron script it would not need a launchpoint. Script = CUSREPORTGEN Description = To write a Report file Script Language = Jython   ----Sample code looks like below---- #Library from   psdi.mbo import MboConstants from   com.ibm.tivoli.maximo.report.birt.runtime import ReportParameterData from ...

Writing a file to server path through an automation script & cron #Maximo #cron #automationscript #Maximofilewriter

Scenario : As part of integration we need to write a file at a regular interval to a server path. Steps to achieve  : 1. Create a path in server under MIF folder. 2. Create a script to create a file. 3. Associate the created script as a parameter to the cron. Lets do this! 1. Create a folder under F drive in the server box : F:\MIF\INTEGRATION_EX\OUTBOUND The file that we are about to write will fall under the folder INTEGRATION\OUTBOUND that we have created under F drive, MIF folder. 2. Create a script : Go To Automation script and Click on Create Script > Script. This being a cron script it would not need a launchpoint. Script = XXXINTEGRATION Description = To write an Integration file Script Language = Jython ----Sample code like below---- #Library import psdi.server.MXServer import java.io.BufferedWriter import java.io.File import java.io.FileWriter import java.io.IOException import java.util.Date from datetime import datetime, date #Defining Path & file name details dat...

BMXAA6445E - Cache INTOBJECT could not be initialized. Log out and then log in again to refresh your database connection #BMXAA6445E #BMXAA7733E

INTOBJECT could not be initialized can occur while  1. Restarting the instance, 2. Trying to save Object Structure. Error can be as below : BMXAA6445E - Cache INTOBJECT could not be initialized. Log out and then log in again to refresh your database connection. BMXAA7733E - There was an error loading the Object Structure cache: null Reason : There can be a component referenced in the object structure which is no more present in the db. Run the below queries to identify orphan entries and components that need not be linked with the Object Structure. Restart the instance after clearing the orphan entries. 1. Check for inconsistent MAXINTOBJCOLS entries and remove the orphan ones. select * from maximo.maxintobjcols where intobjectname not in (select intobjectname from maximo.maxintobject); select * from maximo.maxintobjcols where (intobjectname,objectname) not in (select intobjectname,objectname from maximo.maxintobjdetail) ; select * from maximo.maxintobjcols where (objectname,nam...