Tuesday 29 September 2020

Change Status of Child Work Orders or Child Tasks from Parent Work Order using Automation Script || IBM Maximo

 This Automation Script will close all child Task work orders when the Parent work order is closed.

Based on Relationship, We can get Child Work orders or Tasks as we required.

When we are closing the work order if the child is complete. It will close the child WO or Tasks.

Launch Point: Attribute

Object: Workorder

Attribute: Status

Binding Variable: status

Body:

from psdi.server import MXServer

Thursday 17 September 2020

Do not Reinstate the PM Workorder if Cancel from Workflow | Maximo

One of the missing features we found is to NOT REINSTATE the work order generated from the PM.

Behavior:

1. Cancel from the Status Change Button:

If the user cancels a work order from the Change Status button, a Dialog box appears something like "do you want to reinstate " with Yes and No buttons. 

(you have the option to choose either Reinstate or Not)

2. Cancel from the Workflow Action

If the Assigned User of workflow wants to CANCEL the record. The system will cancel the workflow and with Reinstate option Yes. 

(No prompt/dialogs appear to ask for reinstating  Yes or No. )


Therefore below is the solution in Jython: 

Get PersonID of the Logged in User in Automation Script | Maximo

There are multiple ways  to get the person id in Automation script, one of the them is as below:

PersonSet = MXServer.getMXServer().getMboSet("MAXUSER", mbo.getUserInfo())

    PersonSet.setWhere("PERSONID=:&PERSONID&")

    vPerson = PersonSet.getMbo(0)

    service.error(user,vPerson.getString("personid"))

    PersonSet.save()

 

For Person ID: -                 :&PERSONID&

For Username  -                   :&USERNAME&

 

or we can also use the one of the implicit variable ( USER )fo the logged in user:

PersonSet = MXServer.getMXServer().getMboSet("MAXUSER", mbo.getUserInfo())

    PersonSet.setWhere("userID='" + user + "'");

    vPerson = PersonSet.getMbo(0)

    service.error(user,vPerson.getString("personid"))

    PersonSet.save()

Tuesday 15 September 2020

Automation for Restriction on Increasing PO Quantity for the PO Revision but Allow the Quantity Decrease || IBM Maximo

Recently we had a requirement of Increasing the PO quantity on the PO revision but allow the quantity increase. So, We used the automation script getPreviousValue() and getCurrentValue() functions in order to resolve this requirement.

Create Database Error Message on Database Config Application.

Object :         POLINE

Attribute:      ORDERQTY

Events:          Validate

Type:             Attribute Type Launch Point

Body:

Monday 14 September 2020

Extract web data using Free Web Scrapping Extension I used in Edge

Extract the data from the website easily with nocoding using https://webscraper.io/

Web Scraper - The #1 web scraping extension


Click here to Install and enable: 



1. open dev tools in any website, (f12), and click on WebScriping tab.

2. create sitemap, name: myWebsite, url: https://macc-fm.com/post_job.php

3. add selector: name: element-wrapper, type: element, select: shift + click 2 or 3 jobs. 

4. within the Element-wrapper, client child selector

a. name: title, type: text, select, click on job Title  > Done Selecting > Save selector.

  b. requirement, type:text ,select job requirement area > Done Selecting > Save selector.

c.expericne, type:text ,select job experience area > Done Selecting > Save selector.

d. degree, type:text > ,select degree area > Done Selecting > Save selector.

e. dept, type:text > ,select dept area > Done Selecting > Save selector.

f. job-desc,type:text > ,select description job > Done Selecting > Save selector.

Thursday 3 September 2020

How Maximo Populates Lead Attribute of Person Group on Work Order Application || IBM Maximo

  • Lead is inherited from PM if defined in PM.
  • Group Default Person in Person Group is selected based on person calendar availability between work order target start and complete dates of attached "Calendar/ Shift".
  • The alternate person will be populated if group default is not available.
  • if alternate is also not available, Lowest person  in the sequence of person group with calendar availability will be populated .
  • The Calendar and shifts should be properly applied.