8/04/2014

Implementing Site Restrictions against SR application for a security group.

Question

How do you restrict the records a user can access in the SR application by site.

Answer

The following step by step example provides instructions on how to set up a condition on the SR object based on a site.

1. Login into Maximo as MAXADMIN

2. Go to Administration -> Conditional Expression Manager --> create a new expression = SITEID = 'BEDFORD'

3. Go to Security Group----> BEDFORDSITE
4. Click on Sites tab and make sure that BEDFORD site is listed there
5. Click on Data Restrictions tab

6. Click on NEW ROW from Object Restrictions tab
OBJECT = SR
Application = SR
TYPE = QUALIFIED
CONDITION = The expression that we created on step 2

7. SAVE the changes made

8. Click on user tab and make sure that the user you want to restrict belongs to the BEDFORDSITE group, if not associate him to the group by adding a NEW ROW.


9. Click on Application tab and filter it down to SERVICE REQUEST

10. Give grant access to all options including sig-options

11. Save the changes you made .

12. Go to the SR app and press ENTER which brings up all records, you will see there are 126 records against all sites when logged in as MAXADMIN user.

13. Now sign out and sign back into Maximo as your restricted user from the steps above.

14. Go to the SR app and press ENTER, Maximo will only show 50 SR's records.
Only records for the 'BEDFORD' site will display.

8/03/2014

Maximo Web Services tutorial

This article explains how to setup and use Web Services capabilities of the Maximo Integration Framework (MIF/MEA).
In Maximo there are three different types of services that can be invoked from Web Services: Object Structure, Enterprise and Standard Services. This article will focus on Object Structure Services for simplicity of discussion but is generally useful to understand how to interact with Maximo through Web Services.


7/30/2014

Настройка автоматического запуска сервера приложений WebSphere в Windows

1. Необходимо настроить автоматический запуск ноды (сервис Windows)
2. Настройка запуска сервера в WAS

7/13/2014

Отслеживание хода исполнения паспорта, Конфигурирование последовательности действий в карте хода выполнения

Отслеживание хода исполнения паспорта
Ход исполнения паспорта показывается двумя способами: на карте хода выполнения как строка узлов в разделе Карта хода выполнения окон прикладных программ Инциденты, Проблемы и Заявки на услуги; как значение в поле Состояние. На карте хода выполнения подсвечен узел, который представляет действие, выполняемое в настоящее время.
Значение Состояние можно изменить вручную, выбрав действие Изменить состояние. Кроме того, чтобы отразить новое состояние, обновляется карта хода выполнения.
По умолчанию последовательность действий на Карте хода выполнения определяется свойствами системы. Вы можете переопределить последовательность действий в этих свойствах системы, чтобы глобально изменить последовательность действий на Карте хода выполнения.
Значения состояния содержатся в доменах SRSTATUS, INCIDENTSTATUS и PROBLEMSTATUS (для приложений Заявки на услуги, Инциденты и Проблемы соответственно). Чтобы просмотреть используемые состояния, перейдите в прикладную программу Домены (Перейти > Конфигурация системы >Конфигурация платформы > Домены), введите SRSTATUS, INCIDENTSTATUS или PROBLEMSTATUS в поле Домен и нажмите клавишу Enter. Значения в этих доменах используются для заполнения Карты хода выполнения.

6/27/2014

IBM Maximo® Version 7 Portrait Report Templates

 7.1.1.5 and later, 7.5 and later

Description:

IBM® Maximo® delivers landscape report templates to enable clients to create custom reports.  Landscape templates are delivered so the maximum number of fields can be displayed on a report.

However, to enable clients to meet their unique business needs, a set of portrait report templates is provided here.

6/26/2014

Useful java class: GetStartFinishDateTimeOfWeekOfDay

package custom;
import java.util.Date;
import java.util.Locale;

import com.ibm.icu.util.Calendar;

public class GetStartFinishDateTimeOfWeekOfDay {

  public static Date GetStartDateTimeOfDay(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 0);
   reportDate = cal.getTime();

   return reportDate;

  }

  public static Date GetFinishDateTimeOfDay(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   reportDate = cal.getTime();

   return reportDate;

  }

  public static Date GetStartDateTimeOfWeek(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 0);
   Date startWeekDate = cal.getTime();

   return startWeekDate;

  }

  // last day is Sunday
  public static Date GetFinishDateTimeOfWeek(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   Date finishWeekDate = cal.getTime();

   return finishWeekDate;

  }

  // last day is Friday
  public static Date GetFinishDateTimeOfWeek_Work(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   Date finishWeekDate = cal.getTime();

   return finishWeekDate;

  }

}

6/06/2014

Hide data conditionally for a specific group

A very typical customization task is to restrict the visibility of data within Maximo/TPAE applications based on certain conditions.
For example you may wish to hide all the purchase orders that have a total costs higher than 1000$ for a specific group. Here is a small tutorial about how you can achieve this.

Open Administration - Conditional Expression Manager application and create the following conditional expression.

  • Condition: POCOST
  • Description: Total cost is less than 1000
  • Type: EXPRESION
  • Expression: totalcost<1000



Now go to the Security - Security Groups application. Choose the desired group and open theData Restrictions tab.
Create the following Object Restriction:

  • Object: PO
  • Type: QUALIFIED
  • Reevaluate: true
  • Condition: POCOST




If you now logon with a user belonging to the chosen group and open the Purchase Orders application you will see that only POs with a total cost of less than 1000 will be listed.

There are three types of object restrictions that may be used to accomplish different goals:
  • Hidden: The objects for which the condition is evaluated to true will be displayed as XXXXX and cannot be selected.
  • Qualified: The objects for which the condition is evaluated to false will be hidden.
  • Readonly: The objects for which the condition is evaluated to true cannot be updated.