from java.lang import StringBuilder
from psdi.mbo import MboConstants
from psdi.util import HTML
val = StringBuilder()
# retrieve attributes and writes them in HTML format in the buffer
#Work Order header row
val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>"
+ "<thead>"
+ "<tr>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "WO Number" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "SITE" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "STATUS" + "</b>" + "</font>" + "</td>"
+ "</thead>"
+ "</table>")
val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>"
+ "<tr>"
+ "<td width=10%><font size=-2>" + mbo.getString("WONUM") +
"</font></td>"
+ "<td width=10%><font size=-2>" + mbo.getString("SITEID") +
"</font></td>"
+ "<td width=10%><font size=-2>" + mbo.getString("STATUS") +
"</font></td>"
+ "</font></td>"
+ "</tr>"
+ "</table>")
val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>"
+ "<thead>"
+ "<tr>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Location" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Owner" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Status Date" + "</b>" + "</font>" + "</td>"
+ "</thead>"
+ "</table>")
val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>"
+ "<tr>"
+ "<td width=10%><font size=-2>" + mbo.getString("LOCATION") +
"</font></td>"
+ "<td width=10%><font size=-2>" + mbo.getString("OWNER") +
"</font></td>"
+ "<td width=10%><font size=-2>" + mbo.getString("STATUSDATE") +
"</font></td>"
+ "</font></td>"
+ "</tr>"
+ "</table>")
val.append("<hr>")
val.append("<font size=-2><b>DESCRIPTION</b></font><br>")
val.append(mbo.getString("DESCRIPTION") + "<br>")
val.append("<hr>")
##------------------------------------------------------------------------------
----
val.append("<font size=-2><b>RELATED RECORDS</b></font><br>")
# retrieve Related Records records and writes them in the buffer
relatedrecSet = mbo.getMboSet("RELATEDWO")
#related records header row
val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>" + "<col width=70%>"
+ "<thead>"
+ "<tr>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Class" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Recordkey" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Status" + "</b>" + "</font>" + "</td>"
+ "<td width=70%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Summary" + "</b>" + "</font>" + "</td>"
+ "</thead>"
+ "</table>")
currMbo=relatedrecSet.moveFirst()
while currMbo is not None:
val.append("<table border=0 width=1000>" + "<col width=10%>" +
"<col width=10%>" + "<col width=10%>" + "<col width=70%>"
+ "<tr>"
+ "<td width=10%><font size=-2>" +
relatedrecSet.getString("RELATEDRECWOCLASS") + "</font></td>"
+ "<td width=10%><font size=-2>" +
relatedrecSet.getString("RELATEDRECWONUM") + "</font></td>"
+ "<td width=10%><font size=-2>" +
relatedrecSet.getString("RELATEDRECWO.STATUS") + "</font></td>"
+ "<td width=70%><font size=-2>" +
relatedrecSet.getString("RELATEDRECWO.DESCRIPTION") + "</font></td>"
+ "</font></td>"
+ "</tr>"
+ "</table>")
currMbo=relatedrecSet.moveNext()
#retrieve work log records and writes them in the buffer
worklogSet = mbo.getMboSet("MODIFYWORKLOG")
worklogSet.setOrderBy("CREATEDATE")
val.append("<hr>")
val.append("<font size=-2><b>WORK LOG</b></font><br>")
# LOG records header row
#
# Changed the call from currmbo.getString for the longdescription to
HTML.toPlainText
# This is due to a problem with invalid HTML in the logs corrupting the
script and causing it to stop
#
val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>"
+ "<col width=10%>" + "<col width=70%>"
+ "<thead>"
+ "<tr>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Date Created" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Created By" + "</b>" + "</font>" + "</td>"
+ "<td width=10%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Log Type" + "</b>" + "</font>" + "</td>"
+ "<td width=70%>" + "<font color=#000000 size=-2>"
+ "<b>" + "Summary" + "</b>" + "</font>" + "</td>"
+ "</thead>"
+ "</table>")
currMbo=worklogSet.moveFirst()
while currMbo is not None:
val.append("<table border=0 width=1000>" + "<col width=10%>" +
"<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=70%>"
+ "<tr>"
+ "<td width=10%><font size=-2>" +
worklogSet.getString("CREATEDATE") + "</font></td>"
+ "<td width=10%><font size=-2>" + worklogSet.getString("CREATEBY")
+ "</font></td>"
+ "<td width=10%><font size=-2>" + worklogSet.getString("LOGTYPE")
+ "</font></td>"
+ "<td width=70%><font size=-2>" +
worklogSet.getString("DESCRIPTION") + "</font></td>"
+ "</font></td>"
+ "</tr>"
+ "<tr bgcolor=#C0C0C0>"
+ "<td COLSPAN=4 ><font size=-2>" +
HTML.toPlainText(currMbo.getString("DESCRIPTION_LONGDESCRIPTION")) +
"</font></td>"
+ "</tr>"
+ "</table>")
currMbo=worklogSet.moveNext()
# sets the formatted string in the attributes value
mbo.getMboValue("BPDSUMMARY").setValue(val.toString(),
MboConstants.NOACCESSCHECK | MboConstants.NOVALIDATION)

Automation Script for WO Summary in Maximo

  • 1.
    from java.lang importStringBuilder from psdi.mbo import MboConstants from psdi.util import HTML val = StringBuilder() # retrieve attributes and writes them in HTML format in the buffer #Work Order header row val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<thead>" + "<tr>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "WO Number" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "SITE" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "STATUS" + "</b>" + "</font>" + "</td>" + "</thead>" + "</table>") val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<tr>" + "<td width=10%><font size=-2>" + mbo.getString("WONUM") + "</font></td>" + "<td width=10%><font size=-2>" + mbo.getString("SITEID") + "</font></td>" + "<td width=10%><font size=-2>" + mbo.getString("STATUS") + "</font></td>" + "</font></td>" + "</tr>" + "</table>") val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<thead>" + "<tr>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Location" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Owner" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Status Date" + "</b>" + "</font>" + "</td>" + "</thead>" + "</table>") val.append("<table border=0 width=500>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<tr>" + "<td width=10%><font size=-2>" + mbo.getString("LOCATION") + "</font></td>" + "<td width=10%><font size=-2>" + mbo.getString("OWNER") + "</font></td>" + "<td width=10%><font size=-2>" + mbo.getString("STATUSDATE") + "</font></td>" + "</font></td>" + "</tr>" + "</table>") val.append("<hr>") val.append("<font size=-2><b>DESCRIPTION</b></font><br>")
  • 2.
    val.append(mbo.getString("DESCRIPTION") + "<br>") val.append("<hr>") ##------------------------------------------------------------------------------ ---- val.append("<fontsize=-2><b>RELATED RECORDS</b></font><br>") # retrieve Related Records records and writes them in the buffer relatedrecSet = mbo.getMboSet("RELATEDWO") #related records header row val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=70%>" + "<thead>" + "<tr>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Class" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Recordkey" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Status" + "</b>" + "</font>" + "</td>" + "<td width=70%>" + "<font color=#000000 size=-2>" + "<b>" + "Summary" + "</b>" + "</font>" + "</td>" + "</thead>" + "</table>") currMbo=relatedrecSet.moveFirst() while currMbo is not None: val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=70%>" + "<tr>" + "<td width=10%><font size=-2>" + relatedrecSet.getString("RELATEDRECWOCLASS") + "</font></td>" + "<td width=10%><font size=-2>" + relatedrecSet.getString("RELATEDRECWONUM") + "</font></td>" + "<td width=10%><font size=-2>" + relatedrecSet.getString("RELATEDRECWO.STATUS") + "</font></td>" + "<td width=70%><font size=-2>" + relatedrecSet.getString("RELATEDRECWO.DESCRIPTION") + "</font></td>" + "</font></td>" + "</tr>" + "</table>") currMbo=relatedrecSet.moveNext() #retrieve work log records and writes them in the buffer worklogSet = mbo.getMboSet("MODIFYWORKLOG") worklogSet.setOrderBy("CREATEDATE") val.append("<hr>") val.append("<font size=-2><b>WORK LOG</b></font><br>") # LOG records header row # # Changed the call from currmbo.getString for the longdescription to HTML.toPlainText # This is due to a problem with invalid HTML in the logs corrupting the script and causing it to stop # val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=70%>" + "<thead>" + "<tr>"
  • 3.
    + "<td width=10%>"+ "<font color=#000000 size=-2>" + "<b>" + "Date Created" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Created By" + "</b>" + "</font>" + "</td>" + "<td width=10%>" + "<font color=#000000 size=-2>" + "<b>" + "Log Type" + "</b>" + "</font>" + "</td>" + "<td width=70%>" + "<font color=#000000 size=-2>" + "<b>" + "Summary" + "</b>" + "</font>" + "</td>" + "</thead>" + "</table>") currMbo=worklogSet.moveFirst() while currMbo is not None: val.append("<table border=0 width=1000>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=10%>" + "<col width=70%>" + "<tr>" + "<td width=10%><font size=-2>" + worklogSet.getString("CREATEDATE") + "</font></td>" + "<td width=10%><font size=-2>" + worklogSet.getString("CREATEBY") + "</font></td>" + "<td width=10%><font size=-2>" + worklogSet.getString("LOGTYPE") + "</font></td>" + "<td width=70%><font size=-2>" + worklogSet.getString("DESCRIPTION") + "</font></td>" + "</font></td>" + "</tr>" + "<tr bgcolor=#C0C0C0>" + "<td COLSPAN=4 ><font size=-2>" + HTML.toPlainText(currMbo.getString("DESCRIPTION_LONGDESCRIPTION")) + "</font></td>" + "</tr>" + "</table>") currMbo=worklogSet.moveNext() # sets the formatted string in the attributes value mbo.getMboValue("BPDSUMMARY").setValue(val.toString(), MboConstants.NOACCESSCHECK | MboConstants.NOVALIDATION)