10/22/2017

How to clear the WebSphere class caches

Technote (troubleshooting)


Problem(Abstract)

Instructions on clearing the java class caches in IBM WebSphere Application Server. Both the JVM's shared class cache and WebSphere Application Server's OSGi class cache.

Resolving the problem

IBM Support may ask you to clear the class cache. There are several reasons for this. After an upgrade, it is possible that the class cache's are still holding onto previous versions of classes. It is also possible that the caches became corrupted.
Please remember there are two caches that will need to be cleared, the JVM's cache and the OSGi cache. The server has to be stopped before clearing the cache.

10/18/2017

Excel: Count the Number of Groups on a Report

To count the number of groups on a report:
  1. Add a control to the header or footer of the group to be counted and name it something like txtGroupCount. Make the control invisible, set its control source to =1, and set its Running Sum property to Over All. This effectively generates a running count of the number of groups.
     
  2. In the report footer, add a control with a Control Source of =[txtGroupCount]. This displays the value of txtGroupCount as of the last group that occurs in the report at which time it is equal to the number of groups in the report.
     
  Note that the group count can only be displayed in the report footer (not the header) since that is the only point at which txtGroupCount contains a value equal to the total number of groups.
  This technique can be modified to show the number of groups within the group immediately surrounding the group to be counted by setting the Running Sum property of the first control to Over Group, and placing the second control in the surrounding group's footer instead of the report footer.

10/11/2017

Scheduling automation scripts to run as part of cron tasks

Cron tasks are jobs that run automatically on a fixed schedule on the application server. For example, the ESCALATION cron task processes escalations to ensure that critical tasks are processed on time. You can use several predefined cron tasks and you can also define new cron tasks. For new cron tasks, you must provide a Java™ class implementation that contains the business logic that is executed on a schedule.
Automation scripts support new cron tasks by providing the com.ibm.tivoli.maximo.script.ScriptContask Java class. By using this Java class reference in your cron task definition, you can attach an automation script that provides the business logic that is executed by the cron task.

10/06/2017

MBOVALUEADAPTER – INITIAL, PREVIOUS AND CURRENT VALUE OF A FIELD

The Theory

Sometimes when you work with a Mbo in a MboSet and you change fields in a Mbo it can be useful to get the original value of the field before the change or the last value of the field before the change. So basically a field can have three different values we can ask for:
For that purpose we can use the MboValueAdapter and MboValue classes which are automatically initialized with every Mbo retrieved from the system

10/03/2017

Specifying the properties of wait nodes

You use the Workflow Designer or Workflow Designer (Advanced) application to specify the properties of wait nodes. Wait nodes specify that the process is halted until a specific event occurs.

About this task

You can specify the following properties for wait nodes:

Disabling Status Changes With Records In Workflow

Technote (FAQ)


Question

In earlier versions of Maximo you could not change status if a record was in Workflow, does it work that way in versions 6 and 7?

Answer

Problem Definition
The implementer wishes to block any manual status changes when the current record is in workflow. In 5.2, manual status changes were always blocked. In Maximo Versions 6 and 7 it is configurable within a process design.

Solution

Firing Maximo workflow event from code

So, how should I fire maximo.workorder.update?
In our Maximo workflow we have a few schemas in which work order reaches a Condition node with a check on a startdate. If current date is less than it's startdate then work order goes to a Wait node with "maximo.workorder.update" condition. So when the scheduled date for WO comes people need to go to WO tracking and save this WO manually. Only then it continues it's way through the workflow. Otherwise WO will sit on that Wait node till the end of time.
What I want to do is to trigger this update event by crontask everyday so when the right date comes WO will wake up by itself.
I inspected source code for a Save button in WO tracking application and found that no matter what there's MboRemoteSet.save() method call. I assumed that you need to get some changes done and then call save() on the right MboSet. Also I know that in DB there's table called EVENTRESPONSE that keeps track of WOs sitting on the Wait nodes in workflow. My crontask class contains this code: