Maximo List Archive

This is an archive of the Maximo Yahoo Community. The content of this pages may be a sometimes obsolete so please check post dates.
Thanks to the community owner Christopher Wanko for providing the content.



Need help converting trigger to automation script

From: (2014-02-01 02:18)

Maximo 7.5 - DB2 10.1 - WebSphere

I am new to automation scripting in Maximo and would like to convert a single database trigger to an automation script to utilize the out of the box functionality available in Maximo. I am hoping someone can help me convert this to a jython automation script.

As always many thanks in advance.

CREATE TRIGGER MAXIMO.LR_COMMSETREVDATES_T
BEFORE UPDATE ON MAXIMO.WORKORDER
REFERENCING
OLD AS ND
NEW AS D
FOR EACH ROW
BEGIN ATOMIC
IF O.LR_REV1RETURNED = 0
AND N.LR_REV1RETURNED = 1
AND N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NOT NULL
AND N.LR_REV1STARTDATE IS NOT NULL
THEN
SET N.LR_REV1ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NULL
THEN
SET N.LR_REV1STARTDATE = CURRENT DATE;
SET N.LR_REV1ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV2RETURNED = 0
AND N.LR_REV2RETURNED = 1
AND N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NOT NULL
AND N.LR_REV2STARTDATE IS NOT NULL
THEN
SET N.LR_REV2ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NULL
THEN
SET N.LR_REV2STARTDATE = CURRENT DATE;
SET N.LR_REV2ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV3RETURNED = 0
AND N.LR_REV3RETURNED = 1
AND N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NOT NULL
AND N.LR_REV3STARTDATE IS NOT NULL
THEN
SET N.LR_REV3ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NULL
THEN
SET N.LR_REV3STARTDATE = CURRENT DATE;
SET N.LR_REV3ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV4RETURNED = 0
AND N.LR_REV4RETURNED = 1
AND N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NOT NULL
AND N.LR_REV4STARTDATE IS NOT NULL
THEN
SET N.LR_REV4ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NULL
THEN
SET N.LR_REV4STARTDATE = CURRENT DATE;
SET N.LR_REV4ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV5RETURNED = 0
AND N.LR_REV5RETURNED = 1
AND N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NOT NULL
AND N.LR_REV5STARTDATE IS NOT NULL
THEN
SET N.LR_REV5ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NULL
THEN
SET N.LR_REV5STARTDATE = CURRENT DATE;
SET N.LR_REV5ENDDATE = CURRENT DATE + 10 DAYS;
END IF;
END
@


From: Ian Wright (2014-02-03 08:22)

Here’s an example

from java.util import Calendar
from java.util import Date
from psdi.server import MXServer

schedStart = mbo.getDate("REQUIREDATE")

maximo = MXServer.getMXServer()

if schedStart is None:
requireDate = maximo.getDate()
cal1=Calendar.getInstance()
cal1.setTime(requireDate)
cal1.add(Calendar.DATE, + 14)
requireDate = cal1.getTime()
mbo.setValue("REQUIREDATE",requireDate,11L)
else:
cal1=Calendar.getInstance()
cal1.setTime(schedStart)
cal1.add(Calendar.DATE, - 7)
requireDate = cal1.getTime()
if cal1.after(maximo.getDate()):
mbo.setValue("REQUIREDATE",requireDate,11L)

From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of mlevinson@ledgesoft.com
Sent: 01 February 2014 10:19
To: MAXIMO@yahoogroups.com
Subject: [MAXIMO List] Need help converting trigger to automation script



Maximo 7.5 - DB2 10.1 - WebSphere

I am new to automation scripting in Maximo and would like to convert a single database trigger to an automation script to utilize the out of the box functionality available in Maximo. I am hoping someone can help me convert this to a jython automation script.

As always many thanks in advance.

CREATE TRIGGER MAXIMO.LR_COMMSETREVDATES_T
BEFORE UPDATE ON MAXIMO.WORKORDER
REFERENCING
OLD AS ND
NEW AS D
FOR EACH ROW
BEGIN ATOMIC
IF O.LR_REV1RETURNED = 0
AND N.LR_REV1RETURNED = 1
AND N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NOT NULL
AND N.LR_REV1STARTDATE IS NOT NULL
THEN
SET N.LR_REV1ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NULL
THEN
SET N.LR_REV1STARTDATE = CURRENT DATE;
SET N.LR_REV1ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV2RETURNED = 0 AND N.LR_REV2RETURNED = 1
AND N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NOT NULL
AND N.LR_REV2STARTDATE IS NOT NULL
THEN
SET N.LR_REV2ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NULL
THEN
SET N.LR_REV2STARTDATE = CURRENT DATE;
SET N.LR_REV2ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV3RETURNED = 0
AND N.LR_REV3RETURNED = 1
AND N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NOT NULL
AND N.LR_REV3STARTDATE IS NOT NULL
THEN
SET N.LR_REV3ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NULL
THEN
SET N.LR_REV3STARTDATE = CURRENT DATE;
SET N.LR_REV3ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV4RETURNED = 0
AND N.LR_REV4RETURNED = 1
AND N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NOT NULL
AND N.LR_REV4STARTDATE IS NOT NULL
THEN
SET N.LR_REV4ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NULL
THEN!
SET N.LR_REV4STARTDATE = CURRENT DATE;
SET N.LR_REV4ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV5RETURNED = 0
AND N.LR_REV5RETURNED = 1
AND N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NOT NULL
AND N.LR_REV5STARTDATE IS NOT NULL
THEN
SET N.LR_REV5ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NULL
THEN
SET N.LR_REV5STARTDATE = CURRENT DATE;
SET N.LR_REV5ENDDATE = CURRENT DATE + 10 DAYS;
END IF;
END
@


GDF SUEZ E&P UK Ltd (Company Number 3386464), registered in England and Wales with a registered office address at: 40 Holborn Viaduct, London, EC1N 2PB.

**************************************************************************************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the system manager.
**************************************************************************************************************


From: Ian Wright (2014-02-03 08:28)

from java.util import Calendar
from java.util import Date
from psdi.server import MXServer

schedStart = mbo.getDate("REQUIREDATE")

maximo = MXServer.getMXServer()

if schedStart is None:
requireDate = maximo.getDate() <-- indent 1 char
cal1=Calendar.getInstance() <-- indent 1 char
cal1.setTime(requireDate) <-- indent 1 char
cal1.add(Calendar.DATE, + 14) <-- indent 1 char
requireDate = cal1.getTime() <-- indent 1 char
mbo.setValue("REQUIREDATE",requireDate,11L) <-- indent 1 char
else:
cal1=Calendar.getInstance() <-- indent 1 char
cal1.setTime(schedStart) <-- indent 1 char
cal1.add(Calendar.DATE, - 7) <-- indent 1 char
requireDate = cal1.getTime() <-- indent 1 char
if cal1.after(maximo.getDate()): <-- indent 1 char
mbo.setValue("REQUIREDATE",requireDate,11L) <-- indent 2 char



From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of Ian Wright
Sent: 03 February 2014 08:22
To: MAXIMO@yahoogroups.com
Subject: RE: [MAXIMO List] Need help converting trigger to automation script



Here’s an example

from java.util import Calendar
from java.util import Date
from psdi.server import MXServer

schedStart = mbo.getDate("REQUIREDATE")

maximo = MXServer.getMXServer()

if schedStart is None:
requireDate = maximo.getDate()
cal1=Calendar.getInstance()
cal1.setTime(requireDate)
cal1.add(Calendar.DATE, + 14)
requireDate = cal1.getTime()
mbo.setValue("REQUIREDATE",requireDate,11L)
else:
cal1=Calendar.getInstance()
cal1.setTime(schedStart)
cal1.add(Calendar.DATE, - 7)
requireDate = cal1.getTime()
if cal1.after(maximo.getDate()):
mbo.setValue("REQUIREDATE",requireDate,11L)

From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of mlevinson@ledgesoft.com
Sent: 01 February 2014 10:19
To: MAXIMO@yahoogroups.com
Subject: [MAXIMO List] Need help converting trigger to automation script



Maximo 7.5 - DB2 10.1 - WebSphere

I am new to automation scripting in Maximo and would like to convert a single database trigger to an automation script to utilize the out of the box functionality available in Maximo. I am hoping someone can help me convert this to a jython automation script.

As always many thanks in advance.

CREATE TRIGGER MAXIMO.LR_COMMSETREVDATES_T
BEFORE UPDATE ON MAXIMO.WORKORDER
REFERENCING
OLD AS ND
NEW AS D
FOR EACH ROW
BEGIN ATOMIC
IF O.LR_REV1RETURNED = 0
AND N.LR_REV1RETURNED = 1
AND N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NOT NULL
AND N.LR_REV1STARTDATE IS NOT NULL
THEN
SET N.LR_REV1ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV1 = 1
AND N.LR_REV1ENDDATE IS NULL
THEN
SET N.LR_REV1STARTDATE = CURRENT DATE;
SET N.LR_REV1ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV2RETURNED = 0 AND N.LR_REV2RETURNED = 1
AND N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NOT NULL
AND N.LR_REV2STARTDATE IS NOT NULL
THEN
SET N.LR_REV2ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV2 = 1
AND N.LR_REV2ENDDATE IS NULL
THEN
SET N.LR_REV2STARTDATE = CURRENT DATE;
SET N.LR_REV2ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV3RETURNED = 0
AND N.LR_REV3RETURNED = 1
AND N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NOT NULL
AND N.LR_REV3STARTDATE IS NOT NULL
THEN
SET N.LR_REV3ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV3 = 1
AND N.LR_REV3ENDDATE IS NULL
THEN
SET N.LR_REV3STARTDATE = CURRENT DATE;
SET N.LR_REV3ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV4RETURNED = 0
AND N.LR_REV4RETURNED = 1
AND N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NOT NULL
AND N.LR_REV4STARTDATE IS NOT NULL
THEN
SET N.LR_REV4ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV4 = 1
AND N.LR_REV4ENDDATE IS NULL
THEN!
SET N.LR_REV4STARTDATE = CURRENT DATE;
SET N.LR_REV4ENDDATE = CURRENT DATE + 10 DAYS;
END IF;

IF O.LR_REV5RETURNED = 0
AND N.LR_REV5RETURNED = 1
AND N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NOT NULL
AND N.LR_REV5STARTDATE IS NOT NULL
THEN
SET N.LR_REV5ENDDATE = CURRENT DATE;
ELSEIF N.LR_REV5 = 1
AND N.LR_REV5ENDDATE IS NULL
THEN
SET N.LR_REV5STARTDATE = CURRENT DATE;
SET N.LR_REV5ENDDATE = CURRENT DATE + 10 DAYS;
END IF;
END
@


GDF SUEZ E&P UK Ltd (Company Number 3386464), registered in England and Wales with a registered office address at: 40 Holborn Viaduct, London, EC1N 2PB.

**************************************************************************************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the system manager.
**************************************************************************************************************