Monday, 31 July 2017

MxLoader now supports attachments

I have just implemented the capability to upload attachments straight from MxLoader. This is in response to some requests on my blog and MxLoader support forum.

Starting from Maximo 7.1.1.6 it is possible to import attachments to an object through MIF using Base64 encoding.
MxLoader has the capability to read files from the filesystem, encode them in Base64 and upload them on Maximo. This can be done on any Maximo object that supports attachments but the integration object structure has to be modified to include the DOCLINK object.

In this example the MYASSET object structure has been created with the DOCLINKS child object.



To specify a file to be uploaded you have to prefix the full path of the file with the ‘file:///’ string. Look at the screenshot below for an example of how to add two attachments to an asset.

Maximo Work Center Performance

Question

How can I improve the performance of the Work Centers introduced in Maximo Version 7.6.0.5?

Answer

Starting with Maximo 7.6.0.5, new Work Centers display role-based activities in an innovative, responsive User Interface.
To improve the load time of the content within the various work centers and containers, insert the following indexes in your database utilizing Maximo's Database Configuration application. If you do not add the indexes in the Database Configuration application, Maximo will not recognize the indexes, and will not re-add the indexes if the table needs to be created.

Note: The index names are suggested values. Update them to meet your unique business and identification requirements.

For DB2 Databases
CREATE INDEX "MAXIMO"."WORKORDER_WC_NDX01" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "HISTORYFLAG" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "SUPERVISOR" ASC ) ALLOW REVERSE SCANS COLLECT STATISTICS;

CREATE INDEX "MAXIMO"."WORKORDER_WC_NDX02" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "WOCLASS" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "SITEID" ASC ) ALLOW REVERSE SCANS COLLECT STATISTICS;

CREATE INDEX "MAXIMO"."WORKORDER_WC_NDX03" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "HISTORYFLAG" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "WORKTYPE" ASC ) ALLOW REVERSE SCANS COLLECT STATISTICS;

CREATE INDEX "MAXIMO"." PO_WC_NDX01" ON "MAXIMO"."PO" ( "REQUIREDDATE" ASC, "VENDOR" ASC, "STATUS" ASC ) ALLOW REVERSE SCANS COLLECT STATISTICS;

CREATE INDEX "MAXIMO"."MAXINTOBJECT_WC_NDX01" ON "MAXIMO"."MAXINTOBJECT" ( "USEWITH" ASC, "DESCRIPTION" ASC) ALLOW REVERSE SCANS COLLECT STATISTICS;

For Oracle and Sql Server Databases
CREATE INDEX "MAXIMO"."WORKORDER_WC_NDX01" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "HISTORYFLAG" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "SUPERVISOR" ASC );

CREATE INDEX "MAXIMO"."WORKORDER_WC_NDX02" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "WOCLASS" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "SITEID" ASC );

CREATE INDEX "MAXIMO"." WORKORDER_WC_NDX03" ON "MAXIMO"."WORKORDER" ( "STATUS" ASC, "HISTORYFLAG" ASC, "ISTASK" ASC, "WORKORDERID" ASC, "WORKTYPE" ASC );

CREATE INDEX "MAXIMO"."PO_WC_NDX01" ON "MAXIMO"."PO" ( "REQUIREDDATE" ASC, "VENDOR" ASC, "STATUS" ASC );

CREATE INDEX "MAXIMO"."MAXINTOBJECT_WC_NDX01" ON "MAXIMO"."MAXINTOBJECT" ( "USEWITH" ASC, "DESCRIPTION" ASC);


For additional details on the new Maximo Work Centers, access this page

Collecting Data: Maximo Work Centers

Problem(Abstract)

Collecting data for Maximo Work Center's. Gathering this information before calling IBM support will help you with the troubleshooting process and save time analyzing the data.
You may need to review General information, Please see General Collecting Data document 1313647 and include that information.

Resolving the problem

a. Check the exact version information of Maximo, Integration Framework, Work Centers installed in your environment. Please include a snapshot of the System information similar to the one below:

    b. The System Information should include the App Server and database.


1. Verify the following Maximo properties:
-  mxe.oslc.restwebappurl - http://<ipaddress>:<port>/maxrest/oslc
-  mxe.oslc.webappurl - http://<ipaddress>:<port>/maximo/oslc/
-  weatherapi.apikey - Does a valid weather api key exist

2. Verify the Object Structures used in Work Centers.

      Verify the following Object Structure Authorization Names:

          - MXAPIWODETAIL-                                            - MXAPIASSIGNMENT -
Authorization Name: MXAPIWODETAIL              Authorization Name: MXAPIASSIGNMENT

- MXAPIKPIMAIN -                                             - MXAPIWMASSIGNMENT -
    Authorization Name: MXAPIKPIMAIN                      Authorization Name: MXAPIWMASSIGNMENT


- MXAPILABOR -                                                    - MXAPIPERUSER -
      Authorization Name: MXAPILABOR                           Authorization Name:  MXAPIPERUSER

For the following Work Centers, verify the following access permissions are set on the specified Object Structures:




 3. Weather
    •  weatherapi.apikey - Does a valid weather api key exist in System Properties?
    • What is the City, State, Postal Code / Zipcode, Country defined for the person attempting to login to the Work Center?

4. Which device are you using to access the work center?
     - Mobile Device: Android / iOS / Windows - Which browser/version on device?
     - Desktop: MAC/PC and which browser and version?

5. Check the Network and console tabs within the browsers development tool and check to see if any errors obviously appear. If so, please attach.

6.  KPI CronTask
     - Verify "KPICronTask" is Active and has a frequency defined.

7. KPI Manager
   - Verify each user has their own KPI's defined:  
Example:    'KPINAME'+<USERID>

8. In the Security Groups application, what is the Work Center defined for the group your user is attempting to access?

9. Does your user belong to multiple Security Groups that contain Work Centers?

10. In the KPIManager application do you have the following KPI's defined for your user you are logging in with?
    Supervisor Work Center
    - EMWOSUP<userid>
    - PMPERFSUP<userid>
    - PMWOSUP<userid>

    Technician Work Center
    - AVGEMCOMPTIME<userid>
    - WOOVERDUE<userid>

* Verify the where clause for each KPI has the userid defined as the value for the laborcode.

11. Were there any errors in the Maximo system log? If so, please attach the log.

Business Analyst Work Center 

1. Is there a registered Watson account (and is it a free or pro account) with a callback uri set to the Maximo WATSONOAUTH endpoint?

2. Is the client id/secret from the Watson account above set in the WATSONOAUTH endpoint?

3. Does the user exporting a dataset have their own Watson account?

4. Is the api_file cron task enabled?  If so, what is its schedule set to?  When was it last run? 

Giving users access to the Service Request Work Center and Data Set Designer in Maximo Asset Management 7.6.0.6


Problem(Abstract)

The object structure requirements for the Service Request Work Center and the Data Set Designer were documented incorrectly for Maximo Asset Management 7.6.0.6.

Resolving the problem

The following website provides details on how to give users access to Work Centers and the Data Set Designer:
In addition to the object structures listed for the Service Request Work Center, the following object structures are required: MXNOTIFICATION, MXAPILOCATION, MXAPILOCANCESTOR, MXAPIASSET, and MXAPIPERUSER.
The complete list of object structures for the Service Request work center is:
MXAPISR (Read, Save, Delete, Insert)
MXAPIWORKLOG (Read, Save)
MXAPIBOOKMARK (Read, Delete)
MXAPITKCLASS (Read)
MXAPITKTEMPLATE (Read)
MXAPIPERUSER (Read)
MXNOTIFICATION (Read, Save)
MXAPILOCATION (Read)
MXAPILOCANCESTOR (Read)
MXAPIASSET (Read)
In addition to the object structures listed for the Data Set Designer, the MXAPIENDPOINT object structure is required with read access. Additionally, the MXAPIANALYTICDATASET object structure requires read, save, change status, and delete access.

Thursday, 27 July 2017

Setting up Password Expiration in Maximo

How to set up password expiration in Maximo.

Answer

Password Expiration can be set in a few places in Maximo. The default setting is set In the Security Groups application, in the Select Action menu, using the Security Controls option.
All new groups created after this setting is made will inherit this value, however any groups that existed prior to this setting being in place will not get updated.
This value only gets referenced when a new group is created.
If a group is created and has inherited the value, then the value is changed in the Security Controls option, the groups that existed prior to this change will not be updated.
For this reason, when setting up Maximo for the first time, it may be better to decide on a default password expiration value and have that value in place prior to creating your groups.
Once the value for a group has been set, or if no value has been set prior to creating the group, you can update the password expiration setting by using the Override Password Duration option in the Select Action menu of Security Groups.
This also allows you set a specific password duration at a group level different from the default.
Here is a breakdown of how the password expiration is handled by Maximo:
Each group has a password expiration value.
If a user belongs to more than one group, the longest expiration period is the one inherited.
For example, if a user belongs to one group that has a setting of 90 days and another that has a value of 30 days, the user inherits a 90 day expiration setting.
In the case of a user belonging to any groups not containing a password expiration, the user's password will never expire.
You would need to use the Override Password Duration option to set an expiration value for each group the user belongs to.
Once the password expiration settings are set, the clock starts to count down after the password is changed with the expiration settings in place.
NOTE:
If the user existed before the password expiration is set, the password will not expire because the timer does not start until the next password change after the password expiration has been set.
The remedy is to change the user's password after setting the password expiration.
Removing the user from the group the expiration date is set on and adding them back will also work.

Creating summary or detail Query-Based Reports in cloned (duplicated) applications

Question

From Maximo 7.1.1.6 onwards, you can create Summary or Detail Query-Based-Report (QBR). But in cloned applications, the option to select the type of QBR is disabled. How can you enable that option?

Answer

The steps below will show how to create the Summary or Detail QBR in cloned applications with an example:
1. Go to Application Designer - Open the WOTRACK application.
2. Select Action - Duplicate Application Definition - Create WOTRACK2 application with the description 'Work Order Tracking 2'.
3. Go to Security Group - Give adequate privileges for the WOTRACK2 application to the security group, for example MAXADMIN.
4. Login again and open the WOTRACK2 application.
5. Click on the 'Create Report' toolbar button to create the Query-Based-Report.
As you can see below, the option to be able to select the style of report ( Summary or Detail Report) is not enabled.



By default, all cloned (duplicated) applications have the same problem.
In order to enable the option above, please follow the steps below:
When the WOTRACK2 application is cloned from WOTRACK , the WOTRACK2 application has the same report object as the original application WOTRACK.
For example:



1. Create the report object for the cloned application (WOTRACK2).
Go to the Integration / Object Structures application - Find 'REP_WORKORDER' .
Based on 'REP_WORKORDER', create the new report object for WOTRACK2 called 'REP_WO2' (you can also duplicate 'REP_WORKORDER' to create 'REP_WO2' )
-- Object Structure : REP_WO2
-- Description : Work Order Details 2
-- Consumed By : REPORTING
-- Application : WOTRACK2


2. Save the record.
3. Go to the Report Administration application.
4. Run Select Action / Set Report Object Structure Security.
5. Filter application with the value 'Work Order Tracking 2' . You can see the newly-created report object 'REP_WO2' for WOTRACK2 application.
P.S. : the WOTRACK2 application's description is 'Work Order Tracking 2'.
The REP_WO2 report object's description is 'Work Order Details 2'.



6. Now you need to define any security groups who can access the newly-created report object .
- Click New Row
- Add the 'MAXADMIN' group.



7. Go to the 'Work Order Tracking 2' application (WOTRACK2)
Try to run 'Create Report'. Now you can select the style for the QBR report (Summary or Detail).

Monday, 24 July 2017

Tuesday, 18 July 2017

Attribute can be deleted with active Launch Point associated


Maximo will allow an Attribute to be deleted from Database Configuration while there is an active Launch Point that references it. 
Steps to reproduce:
1. In Database Configuration application, add a new attribute to ASSET or some other object.
1.1. Turn on Admin Mode and Apply Configuration Changes.
2. In Automation Scripts application, Create a Script with an Attribute Launch Point.
2.1. The Object and Attribute should be the one you added in step 1.
2.2. Name the launch point and script something valid, and make the source code something simple, like print "Hello world!".
3. Go back to Database Configuration and delete the new attribute.
3.1. Apply Configuration Changes.

An error should be thrown at step 3, but it isn't.

Integrity Checker should catch the resulting anomaly, but it doesn't.

When you go to an application based on the object from step 1, now, you will get an error that the attribute is missing. 

Development mentioned this is working by design, but could be considered as an enhancement on the product (not a bug), which means that this functionality is not currently present in Maximo, and that this cannot be fixed on the current version since the fix would require changes to the product architecture.

There is no Automated Scripting (or any other MIF) awareness designed and coded into Database Configuration application. Therefore this is working as designed. 

BMXAA3279E and BMXAA3344E errors while trying to approve a Revised PO 0 people like this

Problem:

After closing a work order associated with a PO that is revised while trying to approve the PO revision, the following error is displayed:
BMXAA3279E - Could not change PO XXXX status to APPR.
BMXAA3344E - The purchase order cannot be approved. Line 1 contains a work order that is either closed, canceled, or waiting on approval.

Steps to replicate:
1. Go to Work Order Tracking application.
2. Create a new work order against any valid GL Account.
3. Save, approve the work order and take note of its number.
4. Go to the Purchase Orders application.
5. Create a new PO against any valid vendor and with just 01 PO line as the following:
    Line Type = Service
    Description = Test1
    Quantity = 1.00
    Order Unit = EACH
    Unit Cost = 1.00
    Charge To > Work Order = the WO above
6. Save, approve PO and take note of its number.
7. Go to the Work Order Tracking application.
8. Bring up the work order in question and close it.
    Note:
    The system warns user of the following but closes the work order anyway:
    "BMXAA4577W - Open purchase orders exist here or at some point below in the hierarchy. Would you still like to change the status to Closed?".
9. Go to the Purchase Orders application.
10. Bring up the PO and create a revision.
11. In the PO Revision 1, add a new PO Line as the following:
      Line Type = Service
      Description = Test2
      Quantity = 1.00
      Order Unit = EACH
      Unit Cost = 1.00
      Charge To > GL Debit Account = any valid GL Account
12. Save the PO and try to approve it.
At this point, system throws:
"BMXAA3279E - Could not change PO XXXX status to APPR.
BMXAA3344E - The purchase order cannot be approved. Line 1 contains a work order that is either closed, canceled, or waiting on approval."

Resolving the problem 
The workaround is:
Cancel the PO Revision 1, close the PO Revision 0 and create a new PO corresponding to the second PO Line you've tried to add in step #11.

If the suggested workaround does not apply to your case, please contact IBM Maximo Support.

Wednesday, 5 July 2017

Item Master vs Inventory for item records in Maximo


You may experience a scenario where some of your item records are available in different statuses in Maximo.
For example : The item is in PENDOBS status in Item Master app. But the same item is in ACTIVE in Inventory app.

But would you know why this happens ? Is my system broken ? No !

Have you asked your self about what is the difference between the Item Master and Inventory applications?
Do you understand how and when to use each ?

The reason for that is because the Item Master application is used to define Items that will be procured and stocked in
storerooms. 

You will learn to navigate to the Item Master application and use it to create, modify and manage Item records. 

Item master is for managing new items and items not associated in storerooms while Inventory app is for managing the items that are IN A SPECIFIC storeroom location, one item in Item Master can belong to MANY storeroom locations in Inventory app.

You manage data about an item record, for example vendors and classifications, in the Item
Master application, but you manage item balances in the Inventory application.

We know that there is existing relationship between those two Maximo applications (Item Master and Inventory ) but this does not mean that you can always update the Inventory data from Item Master via the relationship.

Maximo will check if the data can be updated or not based on the business rules. It is not advisable to use this relationship to update inventory data from Item
Master. This is not a one to one relationship. That is, one item in Item Master may have multiple records with same Itemnum in Inventory application.

10 Minute Tip - Scheduled reports sending multiple emails


Today we will discuss a couple of reasons why your users may be receiving multiple emails for a single scheduled report from Maximo. For example, the user has a weekly report sent to them yet, for some unknown reason, they get 2, or more copies of the report in their inbox. The "unknown" reason is usually one of two things.

  • It's actually not a duplicate. Since scheduled reports do not indicate anywhere in the email where they came from - which Maximo server - we have seen times when the second email is actually not coming from the Production Maximo server. Perhaps they are testing functionality from a test server, or maybe a Sandbox server is being used and the same user has the same report set up on that server and the extra email(s) they are receiving are, in fact, being sent from this other server.  Double check the other servers - you can use the View Scheduled Reports option from Report Administration to aid in this effort.  One suggestion we have that may help is to put the server name in the email Subject or Comments section when the report is scheduled.


  • The other known possible cause is related to the fact that a complex report that takes extra time to process will appear to Birt to be hung and it will restart it. Eventually these newly spawned jobs will all finish  and the emails will all be sent.  By default if the RUN phase of a report (the SQL phase) takes longer than 15 minutes the issue can present itself.  This 15 minute setting can be changed so if you feel this is the issue (and you can verify this usually be checking the report usage log to see how long the report took to complete)  you can change it as follows:

Goto -> System Configuration/Platform Configuration/Cron Task Setup
Select -> REPORTLOCKRELEASE cron task
Change Parameter-> LOCKINTERVALINMINUTES to the desired value - say 30, for example
Save changes
Restart the Maximo Application server to ensure new value is activated


There's generally no repercussions to making this change but bare in mind that it's for all scheduled reports. There is no ability to change it for specific reports.

In most cases the multiple emails are caused by one of the above situations.

That's all for now.

IBM Readme for IBM Maximo Asset Management 7.6.1.3 Fix Pack

  Fix Readme Abstract This fix pack updates IBM® Maximo® Asset Management version 7.6.1, 7.6.1.1, and 7.6.1.2 Content IBM Maximo Asset Manag...