Thursday, October 24, 2013

How to send e-mail Sending with Report

This is a comprehensive tutorial. Meaning it will be lengthy as I walk you through the entire process from start to finish. Since it is impossible for me to cover every single detail, I expect you to know some basics.

Please check out the Below Link for further details.

For more knowledge base please visit

You can also install the Q&A app by techmcq for exploring your knowledge.

Upgrading databases

To upgrade a DB2 database to DB2 Version 9.7:
  1. Log on to the DB2 server as the instance owner or a user with SYSADM authority.
  2. Optional: Rename or delete the db2diag log files so that new files are created. Also, remove or move to another directory any existing dump files, trap files, and alert log files in the directory indicated by the diagpath parameter. By doing this, the files only contain information about the upgrade process that helps you to isolate and understand any problem that might occur during database upgrade.
  3. Upgrade the database using the UPGRADE DATABASE command:
       db2 UPGRADE DATABASE database-alias USER username USING password
    where database-alias is the name or the alias of the database you want to upgrade and the username and password to authenticate a user with SYSADM authority.
  4. If the UPGRADE DATABASE command fails and returns the SQL1704N error message with a reason code that describes the cause of the failure, find this SQL error code and determine the action to take from the list of the possible solutions for each reason code. One of the most common causes of upgrade failure is that the log file space is not large enough, in which case the following error is returned:
    SQL1704N  Database upgrade failed.  Reason code "3". 
    You must increase log file size and execute the UPGRADE DATABASE command again. After the database upgrade is complete reset the value of logfilsizlogprimary and logsecond database configuration parameters.
    There are additional error codes that are returned by the UPGRADE DATABASE command for specific cases not supported by database upgrade. These cases are described in the upgrade restrictions.
  5. If the UPGRADE DATABASE command returns the SQL1243W warning message, you need to drop or rename the SYSTOOLS.DB2LOOK_INFO table. Otherwise, the ALTER TABLE and COPY SCHEMA statements will fail to run. Check if the SYSTOOLS.DB2LOOK_INFO table exists by running the following command:
       db2 "SELECT tabname, tabschema, definer FROM syscat.tables 
              WHERE tabschema = 'SYSTOOLS' AND tabname = 'DB2LOOK_INFO'"
    If you created this table, rename it by running the RENAME statement:
       db2 RENAME SYSTOOLS.DB2LOOK_INFO TO new-table-name
    If you did not create this table, remove it by running the DROP command:
  6. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM4100W warning message with all the details to the administration notification log, you have external unfenced routines on Linux or UNIX that have no dependency on the DB2 engine libraries and the UPGRADE DATABASE command redefines your external routines as FENCED and NOT THREADSAFE. Also, the DB2_FENCED option is set to 'Y' for all user-defined wrappers.
    This command also generates a script called alter_unfenced_database-name.db2 with all the SQL statements to redefine external unfenced routines, altered during the database upgrade, as NOT FENCED and THREADSAFE. This script is created in the directory specified by the diagpathdatabase manager configuration parameter. If the diagpath parameter is not set, the script is created in the INSTHOME/sqllib/db2dump directory where INSTHOME is the instance home directory.
    If you need to define your routines as NOT FENCED and THREADSAFE, refer to Upgrading C, C++, and COBOL routines for details on how to safely run your routines in the new multithreaded database manager and then use the generated script to redefine your routines.
  7. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM4101W warning message to the administration notification log, take note of the system catalog tables reported in the ADM4101W message so that you collect statistics on these tables as part of the post-upgrade tasks.
  8. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM4102W warning message to the administration notification log, qualify or delimit with quotes the identifiers called NULL in your SQL statements to avoid conflict with the NULL keyword.
    If you use identifiers called NULL for column names, routine parameter names, or variable names in an SQL statement that are not fully qualified or delimited with quotes, the identifier name might resolve to the NULL keyword instead. This would result in a change in behavior from previous releases. Refer to Upgrade essentials for database applications for details.
  9. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM4106W warning message to the administration notification log, drop all references to the XML Extender user-defined data types and drop all XML Extender database objects under the DB2XML schema. Starting with DB2 Version 9.7, XML Extender is discontinued.
    To avoid this error, perform all the steps in Upgrading a DB2 server with XML Extender to DB2 Version 9.7 to completely disable XML Extender and remove XML Extender functionality before upgrading your instance and databases.
  10. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM4105W warning message to the administration notification log, create new MQ functions for the XML data type by running the enable_MQFunctions command with the -xml parameter. The set of DB2 WebSphere® MQ functions for XML Extender are dropped during database upgrade.
  11. If the UPGRADE DATABASE command returns the SQL1499W warning message and writes theADM9516W warning message to the administration notification log, verify that the indexrecconfiguration parameter is set to RESTART and issue the RESTART DATABASE command to rebuild indexes marked as invalid during database upgrade. Otherwise, index rebuild starts on your first access to the table and you might experience an unexpected degradation in response time.
    Type-1 indexes and indexes with an index page that could not be upgraded are marked invalid during database upgrade.
  12. If the UPGRADE DATABASE command returns the SQL0473N error message, you need to reverse the database migration and re-create all user-defined data types that use a system built-in data type name with a different name that is not restricted.
    To avoid the UPGRADE DATABASE command failure, re-create these user-defined data types duringVerifying that your databases are ready for upgrade.
  13. If the UPGRADE DATABASE command returns the SQL1700N error message, you need to reverse the database migration and re-create database objects that use restricted schema names with a schema name that is not restricted.
    To avoid the UPGRADE DATABASE command failure, re-create these database objects duringVerifying that your databases are ready for upgrade
  14. Compare your database configuration settings after upgrade with the configuration settings you had before you upgraded your database. Verify the following settings and database information are the same:
    • Database configuration parameter settings
    • Table spaces information
    • Packages information for your applications only
    You do not need to check package information for system generated packages. The information about system generated packages can change after upgrade.
  15. Verify your database upgrade is successful. Connect to the upgraded databases and issue a small query:
       db2 connect to sample
         Database Connection Information
        Database server        = DB2/AIX64 9.7.0
        SQL authorization ID   = TESTDB2
        Local database alias   = SAMPLE
       db2 "select * from syscat.dbauth"
    Alternatively, if you have sample files installed, run the testdata.db2 script:
       cd samplefile-dir-clp
       db2 connect to sample
       db2 -tvf testdata.db2
    where samplefile-dir-clp is DB2DIR/samples/clp on Linux and UNIX andDB2DIR\samples\clp on Windows, DB2DIR represents the location specified during DB2 Version 9.7 installation, and sample is the database name.

EAM Implementation Approach

From developing the Maximo “footprint” to conducting end user training, we have to involved in almost every aspect of Maximo based project execution.  we can make project succeed in the areas such as:

  • Project planning

  • Maximo Site Assessment

  • Business process analysis and reengineering

  • Requirements gathering and analysis

  • Maximo 4.1/5.2/6.2/7.1 installation, upgrade, customization and configuration including

  • security, database configuration, multisite and general system setup

  • equipment, system and location hierarchy design 

  • vendor, inventory and purchasing configuration

  • maintenance management setup including work orders, PMs, Routes and Job Plans

  • Development and integration with custom applications

  • Multi-site and multi-database implementation

  • Data extraction, transformation and loading (ETL)

  • Actuate and BIRT Report development

  • Post implementation support.

Maximo installation System Requirements

Hardware (distributed topology)

Distributed deployment hardware prerequisites: This table contains hardware information for IBM middleware components. If you deploy the product using non-IBM middleware components, see the documentation provided with the product. 
 Administrative workstation:
  • 2-4GHz processor (minimum)
  • 4 GB RAM (minimum)
  • 10 Mbit/s network connection between administrative workstation and middleware servers (minimum)
  • 11 GB disk space
You must have a minimum of 11 GB disk space available for a fresh installation. Ensure 7 GB of disk space is available if you are performing an upgrade.
An additional 6 GB of disk space must be available in the TEMP directory of the administrative workstation during the installation.
Consider future process managers you might install when determining your disk space needs.

IBM DB2 (alternative database can be used):
  •  Minimum 20 GB disk space.
 IBM WebSphere Application Server Network Deployment (alternative J2EE server can be used):
  • 2-6 GHz processor
  • 40 GB disk space
  • 6 GB RAM
Oracle WebLogic Server(alternative J2EE server can be used): 

  • 2-6 GHz processor
  • 40 GB disk space
  • 6 GB RAM
IBM Tivoli Directory Server (optional component):

Linux®and UNIX® systems require 1 GB of space available in the /opt directory.

Please check out the Below Link for further details

Maximo Modules and Features of each module.

Asset Module

• Track assets, associated costs, histories and failures of serialized asset.
• Use asset modeling to determine relationships between a piece of asset, its
physical location & the systems with which it may be associated.
• Create hierarchies identifying operating locations as part of multiple systems.
• Build an equipment history to roll up maintenance costs.
• Build failure code hierarchies to record asset problems for analysis.
• Set measurement points, perform trending and defect analysis through condition
• Assign stores, repair shops, and vendors as location records to facilitate continual
tracking of equipment as it is moved.
• Analyze the potential for failure based on a piece of assets location and the
possible effects on systems with which it is associated.

Work Orders Module

• View detailed planning information: work plan, scheduled costs, labor, materials,
equipment, failure analysis and related documents via Work Order Tracking screen.
• Enter simple or detailed day-to-day maintenance requests via Work Request screen.
• Record maintenance work and close work orders from the shop floor via Quick
Reporting screen.
• Schedule work orders based on real-time update of criticality.
• Define and sequence work for multiple assets based on location and/or equipment.
• WBS for related work orders or projects.
• Compare real-time budgets or estimates against actuals and historical work orders.
• Track inside/outside machinery that must be off-line prior to work being performed.

Work Manager Option

• Develop daily plans and manage backlogs to lower response time and equipment
• In dispatch mode, enter work, assign employees and track ongoing jobs in real time.
Centralized dispatching and shop floor dispatching are supported.
• In planning mode, assign employees to future work orders scheduled and track
employee availability.
• Plan upcoming work based on priority of work and craftsperson availability.

Inventory Module

• Specification of attributes and the ability to search by attribute for Items, Equipment
and Locations.
• Over 2,000 material classification templates.
• Track stocked and non-stocked items through multiple stores.
• Track items, costs and balances by bin, lot and storeroom.
• Replenish stock from vendor, ventral store, or other storeroom, when quantities fall
below minimum levels.
• Reorder items automatically by shelf life.
• Track item costs by last cost, average cost or user-defined standard cost.
• Automatically reorder materials through user-defined EOQ, ROP, and Safety Stock
• Use ABC analysis to assign inventory item priorities governing frequency of physical
item counts.
• Access material forecasting and time availability information.
• Create temporary stores for carriers responsible for items in transit.
• Employ just-in-time methodologies by utilizing WO Reservation Dates as well as lead
time to generate POs.
• Identify out-of-stock items or make substitutions with alternate parts, vendor and
location tracking capabilities.
• Establish EOQs, ROPs and safety stock by individual storeroom.
• Issue parts directly or in batch to work orders and GL Account Codes.
• View work order reservations for inventory items.
• Display all assets on which a given part is used.
• Mandate a date/time stamped and system verified authorization before changes in
inventory can be made.
• Access latest cost information and item levels instantly.

Preventive Maintenance Module

• Generate PM work orders individually, batched or automatically.
• Accommodate multiple criteria for work order generation.
• Generate seasonal preventive maintenance work orders for planned shutdowns.
• Sequence multiple job plans and consolidate multiple procedures on one PM master.
• Cluster PM work orders to take advantage of unplanned downtime.

Purchasing Module

• Create RFQ for multiple vendor bids on materials and services.
• Create purchase requisitions or purchase orders for materials and services.
• Create purchase requisitions from scratch or from the Inventory or Work Orders
• Automatically create purchase orders from purchase requisitions; create purchase
orders in batch from line items of multiple purchase requisitions.
• Store standard descriptions for use on PR, PO, or invoice items.
• Create agreement purchase orders to purchase parts over time.
• Automatic release of agreement POs.
• Create special orders by entering item descriptions as line items for parts not in
inventory database.
• Use direct purchasing to order and issue parts and services directly to work orders or
GL Account Codes.
• Analyze vendor performance when ordering parts.
• Use Invoice Matching to complete purchasing cycle within Maximo for seamless
interface with other enterprise financial applications; automatically perform two-way
(PO/Invoice) and three-way (PO/Receipt/Invoice) matches.
• Define an unlimited number of currencies to track purchases from different countries.
• Optimize purchasing efficiency with electronic commerce.

Plans Module

Job Plans

Track multiple quantities and costs by operation or job plan.
Divide job plans sequentially, each with its own parts, labor and tool estimates.
Automatically retrieve the most current rate and cost information for material, labor
and tool cost estimates.
Duplicate job plans for modification.

Safety Plans

• Hazardous material identification.
• Identification of hazards that can be eliminated by Lockout/Tagout.
• Identification of hazards that cannot be eliminated with their resulting precautions.
• Ability to identify affected equipment and locations.
• Associate and track permits.


• Define Inspection plans and schedules for inspection.
• Record Inspection information thereby enabling auditability of statutory requirements.
• Analyze Inspection data to support Predictive Maintenance.

Labor Module

• Store information by employee, craft, or contractor.
• Maintain personnel files for each employee's attendance, vacation, sick, and nonproductive
work time; track overtime history and individual pay rates.
• Create craft records including regular and overtime pay rates.
• Associate labor records with craft records for organizing labor by craft.
• Report actual labor on work orders in timecard format.

Calendars Module

• Create schedules for equipment, craft, and labor records.
• View calendars via start/end date illustrating shifts, holidays, and vacations.
• View calendars by month or day displaying total work hours available.
• Associate calendars with labor and craft records to plan work based on equipment and
labor availability.

Resources Module

Maintain detailed company, service contract, and tool records for use in other modules
to plan and analyze maintenance work.

Compliance Assurance Systems Features

Track regulatory compliance activities by agency: planning, implementation and
• Control, verify and document precautions, storage, treatment, transportation and
disposal of hazardous materials and wastes.
• Set up and track countless compliance details, such as instrument calibration,
emissions data, groundwater waste volume, radioactive waste, operating hours,
operator training and certification, scheduled parts replacement, equipment
specifications, and hazardous container locations.
• Document safety and emergency processes and procedures.
• Facilitate safety, regulatory and permit sign-offs.
• Identify and track step-by-step safety and lockout/tagout procedures.
• Establish links to regulatory agencies, documents, filings, service bulletins and recall
• Preview current best practices and standards to aid compliance decisionmaking and
• Create a clear, complete audit trail.

Integration Features

• Risk free integration with multiple financial systems including commercial integration
to SAP, Oracle and PeopleSoft.
• Eliminates duplicate handling of data and ensures upgradeability to future versions of
Maximo with commercial APIs.
• Supports double entry accounting for complete integration with your own financial
• Manage purchasing process via Maximo or integrate with your own financial system.
• Take advantage of user-defined financial calendars to correlate directly with your
accounting periods.
• Summarize transactions for integration while providing detailed audit trail information
in Maximo.
• Preserve your corporate General Ledger codes through Maximo's customizable, multisegment
General Ledger account field.
• Use Application Launching to register and launch applications from within any Maximo
• Use Documents function to establish relationships between drawings and equipment;
launch drawings and images in their native application.
• Use Chart of Accounts to validate and control financial GL accounts.
• Access Maximo data directly, query or update the database, and run reports with
Interactive SQL.

Using Maximo’s Master PM’s and PM Hierarchies

Usage / Definitions

Master PM –Used to control or update PM records. When used with a “Rotating Item” the PM can create PM records for all equipment associated with the item.

PM Hierarchy –Used to group PM’s into Parent-Child relationships. When the PM Hierarchy is generated the same Parent-Child relationships will be maintained for the work orders generated.

Route-A route is a list of related assets or locations. A route generates a Work Order Hierarchy.

PM Hierarchy

•Used to manage larger projects with multiple assets/locations
•Used to generate a structure where work order can be assigned to various groups, departments and/or individuals


  • Shutdown / turnaround “template”
  • Motor rewind

    • Routes

      •Used to generate a checklist for a large number of asset.
      •Work or procedure is relatively quick
      •Work history is required for each location/asset on the route
    • Examples:

    • Fire extinguisher inspection
    • Lube route

    Master PM

    •Large number of similar assets requiring the same preventive maintenance activities.
    •A large number of PM’s where there are benefits in controlling them together for operations reasons.


    • 50 identical motors or pumps
    • A section of the plant with varying operating seasons 

    Master PM's -Two Methods



What are Beans in IBM Maximo

The information provided in this post is based on my Maximo 6 experience. I don’t know if or to which extent it has changed in Maximo 7.

There are 2 types of Beans in IBM Maximo, AppBean and DataBean.

The AppBean manage application functionality, such as WOTRACK or ASSET. 

This class is defined in the beanclass attribute of the presentation tag in the application’sXML.

If you export the WOTRACKapplication xml and go to the bottom of the file you can see a group of actions (action tag) defining actions and their corresponding method in the AppBean beanclass.

For instance if you’d like to add a button on WOTRACK to approve a workorder (OOTB in Maximo 7 but not in 6) besides of creating the SIGOPTION andTOOLBAR records for that operation you’d also have to develop custom Javacode for it, this would be done in the AppBean. 


Data Beans can manage both dialog boxes and tables. The DataBean class associated is defined in the beanclass attribute of both the dialog and tabletags in the application’s XML.

For instance, on dialog boxes you can use a DataBean to control what to do when the OK button is pressed (submit() method).

On tables you can do things such as custom the way to load the MBOSet on that table (getMboSet() method).

You have to have in mind that the flow control of the dialog’s execution is quite complex.
 For instance, if you don’t provide a submit() method on your dialog’s bean class, Maximo will try executing other methods and will end up executing the execute() (I think this is the method) method of the MBOSet asociated with your dialog (defined with the mboname attribute of the dialog tag).
 If you export the WOTRACK application xml and go to the bottom of the file you can see a group of actions (action tag) defining actions and their corresponding method in the AppBean beanclass. ”
The Action tag in Presentation XML for any application, associates an event with a method on the primary MBO for that application, this code is not neccessarily associated with a method on a bean class.
The id specified in the action specifies the event-name for the method on the primary mbo.


This invokes the createWorkorder method on the WO mbo when the “CREATEWO” event is raised within the WOTRACK app.
When a button is pushed, or other action is generated in a Maximo screen, it generates a WebClientEvent (such as “CREATEWO”)
The Maximo event-handler will walk up it’s hierarchy of Data and App bean classes, looking for a method with a name matching the event. if it finds one, it executes that code.
If no matching method is found (or if the method returns with EVENT_CONTINUE), it will check the Action tags within the presentation, and execute the associated method on the primary mbo if found.
If no matching action is found in the presentation, it searches for a dialog of the same name within that application and invokes that.
if no matching dialog is found on the application xml, it searches LIBRARY.xml for the dialog, and opens that dialog if found.
Failing all of this, a nothing-handled-exception gets thrown.

How To Create A Custom Dialog Box In Maximo

When implementing specialized features in Maximo, the need to call out custom dialogs with custom actions arise pretty early.
Adding a new dialog in Maximo is a difficult task, especially if the need is not only to display information.
The following example shows how to add a dialog that displays locations based on a relationship with another location.
1. Add the action in Maximo
To do so, you must either do it manually by inserting the records in the MAXMENU table or using the GUI in the
Application Designer (Action: Add/Modify Select Action Menu). Usign the GUI is recommanded since it performs
some validation, not allowing position collision for instance. But in some cases, it may be necessary to change
existing records to allow item insertion. If you do so using SQLstatements, take care, you bypass Maximo
validation rules!
§ The action must be of type: OPTION.

§ The Key Value (code) you give to your action must match the name that will be given to the dialog.
      Maximo uses this code match to automatically link the dialog with the action. In this example we will usethe code 

A new dialog must be added in an application using XML editing. The application designer lets you
change an existing dialog but not add a new one. The following example shows an example of fields
from an application displayed in a dialog.
  <dialog id="Testing" mboname="WARRANTYVIEW" label="Contract financial info" >
    <helpgrid id="finaninfo_help" innerhtml="Financial information for this contract. Click OK when finished." />

    <section id="finaninfo_grid_s1" border="true" >
      <textbox id="finaninfo_grid_s1_1" dataattribute="totalcost"/>
      <textbox id="finaninfo_grid_s1_2"dataattribute="currencycode" lookup='CURRENCY' />
      <textbox id="finaninfo_grid_s1_3"dataattribute="totalbasecost" />

    <buttongroup id="finaninfo_2" >
      <pushbutton id="finaninfo_2_1" default="true"mxevent="dialogok" label="OK" />
      <pushbutton id="finaninfo_2_2" mxevent="dialogcancel"label="Cancel" />

In this example, the name of the dialog, Testing, matches the action that will show the dialog.
After modifying the XML for the application, you must import it in the Application Designer to replace the current in Maximo.
The new dialog should be available from the Dialogs selection window.

In Maximo, a menu item is shown in the Action combobox if the user has the rights to use the action.
All action rights definitions are per-application and are done through the Application Designer.
Using the Add/Modify Signature Options action from the Select Action combo, you call out the dialog that lets
you add a new Signature.
This part is the easiest. Using the Security Group application, gives the rights on the action to the appropriate group.
This procedure works quite well when your dialog is only showing existing information based on the current Mbo.
For dialogs that needs to modify data by running either built-in functions or custom, a Bean class will be needed.

More details on the subject in another more specific Links show in below.