Search This Blog

Friday, December 1, 2017

PM

Create a New PM
Go to the Preventive Maintenance application, and from the Toolbar click “New PM” button
PM Number: The unique identifier of a Preventive Maintenance record. Every PM record is specific only to one Asset or Location record.
Location/Asset: Asset or Location where the preventive maintenance will be done.
Status: A new PM record will automatically have a DRAFT status.
Storeroom: If a Job Plan has estimated materials, Maximo needs to know the Storeroom to create the item reserved.
Route: A list of related asset or work locations. When a work order is generated from a PM with a route, a parent work order will be created for the asset or location and a child work order for each asset on the route. If the child work orders contain tasks, the task-type work orders will also be created.
Counter: The number of generated work orders from the PM since the first record is created.
Lead Time (Days):  The number of days before the actual work can be started. When using the Lead Time option, check the Lead Time Active check box.
PM Frequency
Preventive maintenance work is typically triggered by one or more conditions:
  • Time-based PMs: Elapsed time since previous work.
  • Meter-based PMs: Metered usage of assets.
  • A combination of elapsed time and metered usage. For example, you can schedule a PM that triggers work every six months or every 300 hours, whichever comes first.
Estimated Next Due Date: Specify a value if the PM is time-based. This date is the first date that the PM is scheduled to generate work orders.
Associate PM with a Job Plan
PMs can contain job plan and corresponding safety plan information that will be copied to work orders. We can choose an existing Job Plan from the PM application.
Information associated with a PM becomes part of the work order records you generate from the PM. For example, each Job Plan Task will become the task of the related work orders.
There are other features associated by adding a new PM, such as a PM hierarchy can be built by creating parent-child relationships between similar PMs, which enables the users to generate hierarchies of related work orders. You can also schedule PM work for assets on a route.
Create PM Work Orders
There are two ways to generate PM Work Orders: automatically or manually.  To generate it automatically, Maximo user with administrative privilege can schedule the generation of PM Work Order using the Cron Task (PMWoGenCronTask) Setup. To manually generate PM Work Order,  the PM status must be ACTIVE, and the asset or location listed on the PM must have a status of OPERATING.
In the Preventive Maintenance application, from the Select Action menu, select Generate Work Orders. In the dialog box, use the following fields to specify which PMs generate work orders:
Generate WOs Due Today Plus This Number of Days: Insert a “slack” time value in days to generate work orders in advance of their due dates.
Use Frequency Criteria: By default, this box is selected. When selected, the system evaluates the frequency criteria for the selected set of records to determine which PMs are due to generate work orders. If a PM is part of a hierarchy, it may trigger work order generation from the entire PM hierarchy.
When you generate work orders from a PM with an associated job plan, default safety and measurement point information is copied to the work orders.

Thursday, October 19, 2017

Watson IoT Support Link

Maximo Youtube Links


Add embedded YouTube videos to any Maximo / SmartCloud Control Desk application

The following article will show you how to create a custom control wrapper for an embedded YouTube player.

1.            Create the control and component registry declarations for the new control

The main registries are located in (all paths are relative to the installation directory/application server deployment location):

applications/maximo/properties/product/control-registry.xml
applications/maximo/properties/product/component-registry.xml

We'll declare our new control in a registry extension in order to keep the main registries clear. Registry extensions are placed in the following location:

applications/maximo/properties/registry-extensions

Find the complete Control and Component registry files in Tables 1 & 2.

2.            Create JavaServer Page (JSP) wrapper

The JSP file name is defined in the component registry xml; 'video' below corresponds to video.jsp:

="jsp-filename">
ault-value>video
fault-value>


All component JSP files are placed in the following location:

applications/maximo/maximouiweb/webmodule/webclient/components

Find the complete video.jsp file in Table 3 below.

•  Find the YouTube video you want to embed and retrieve the associated metadata

a. I'll use the following video as an example: navigate to YouTube by clicking the link:

http://www.youtube.com/watch?v=5KLnuaSJxG8

b. Click on 'Share' then click on 'Embed'





c. Note the width, height and src attributes, they will be used in step #4.

width="560" height="315" src="//www.youtube.com/embed/5KLnuaSJxG8"

•  Add the control to an existing application

Finally, we add the control element to an existing application. For example, if you wanted to add a quick tutorial video to the incident application for new service desk agents:

a. Go To → System Configuration → Platform Configuration → Application Designer
b. Search for application 'INCIDENT'
c. Export application XML
d. Find an appropriate place for the video (such as a new tab) and add the following element (by default the example below will render a SmartCloud Control Desk video

NOTE: According to the component description, the element must be enclosed in one of the following element containers:
section, sectioncol, sectionrow, tab, page

f. Save and import the XML file.

•  Finished





Table 1: control-registry_video.xml
dir="webclient\controls" package="psdi.webclient.controls">
  riptor-class="psdi.webclient.system.runtime.DatasrcDescriptor" instance-class="psdi.webclient.system.controller.DatasrcInstance">
  
      ="jsp-filename">
        ault-value>video
fault-value>
    
       
       
ontrol-descriptor>

Table 2: component-registry_video.xml
dir="webclient\components" package="psdi.webclient.system">
 mponent-descriptor name="video">
  
     ="jsp-filename">
       fault-value>video
efault-value>
    
omponent-descriptor>
mponent-registry>

Table 3: video.jsp

<%@ include file="../common/componentheader.jsp"%>

<%
  String pageid = control.getPage().getId();
  MboRemote mbo = control.getPage().getDataBean().getMbo();
  String src = control.getProperty("src");
  String height = control.getProperty("height");
  String width = control.getProperty("width");
%>



maximo links

Skip fields during duplication

This article describes how to skip the user-defined fields during duplication of a record.
To skip the user-defined fields during duplication of a record, complete the following steps:
  • Extend the existing MBO class, for example XYAsset.java

  • Define a static HashSet that contains the names of the fields whose values need not be copied from the source MBO to the target MBO. This HashSet is loaded in the loadXYSkipFieldCopyHashSet.
·         
private static HashSet<String> skipXYFieldCopy = new HashSet<String> ();

  • Define private boolean variable to check whether the HashSet has already been loaded. The HashSet is loaded only once since it is static. The same hashSet can be used by all duplicate methods after it has been loaded.
·         
private static boolean isXYHashSetLoaded = false;


  • Define method loadXYSkipFieldCopyHashSet() that loads the static HashSet with the names of the fields whose values need not be copied from the source Mbo to the target Mbo when a duplicate operation is performed.

private static void loadXYSkipFieldCopyHashSet() throws MXException,RemoteException

{

     isXYHashSetLoaded = true;

     skipXYFieldCopy.add("fieldname");

}
Override the skipCopyField() in the MBO. While this MBO is being copied, this method checks if each attribute needs to be copied by using the data from the static HashSet skipXYFieldCopy.

boolean skipCopyField(MboValueInfo mvi) throws RemoteException, MXException
{
      if(super.skipCopyField(mvi))
     {
         return true;
     }

      if(skipXYFieldCopy.contains(mvi.getName()))
          {
         return true;
      }
     return false;
}
Override duplicate method in the MBO to skip any user defined fields.
MboRemote duplicate() throws MXException, RemoteException
{
      if(!isXYHashSetLoaded)
        {
         loadXYSkipFieldCopyHashSet ();
        }
           MboRemote dup = super.duplicate();

            return dup;
}

MEA Web services do not automatically redeploy when application server restarted

Problem(Abstract)

Looking at your Maximo interfaces, the "deployed as web service" checkbox is checked, but the web service is not available for use.

Resolving the problem

WebSphere:
A generic JVM argument is required to be set for the JVM to automatically redeploy the web services after the application server is restarted.

In the WebSphere console, navigate to your application server instance.
On the right side of the screen select "Java and Process Management"
Then, select "Process Definition"
Under additional properties, select "Java Virtual Machine"
In the "Generic JVM Arguments" field, add the following parameter:

-Daxis.EngineConfigFactory=psdi.iface.webservices.WSEngineConfigFactory

Restart the application server.

WebLogic:

Modify your service script to add the axis engine class, following the instructions below:

1. from the bea/user_projects/domains/mydomain folder, run uninstallservice.cmd

2. Edit the file in the same folder called installservice.cmd using a text editor

3. Locate the "set CMDLINE" section of the file (you will see two so both lines should be modified to include the Java option).
Modify the command line to look as it does below (note that weblogic.Server must be the last entry on the line.

BEFORE:
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=\"%ADMIN_URL%\" -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

AFTER:
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=\"%ADMIN_URL%\" -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" -Daxis.EngineConfigFactory=psdi.iface.webservices.WSEngineConfigFactory weblogic.Server"

set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" -Daxis.EngineConfigFactory=psdi.iface.webservices.WSEngineConfigFactoryweblogic.Server"

4. run installservice.cmd and start the service.

Your web services should now deploy automatically upon a restart.

If starting WebLogic from a command line, edit the start script you use to start the application server in the same manner as above, making sure that weblogic.Server is the last entry on the command line in the script.

MAS and Manage custom resources are not reconciled

  After a change was applied to IBM Maximo Application Suite (MAS) or IBM Maximo Manage, the custom resources are not reconciled. For exampl...