Top Navigation
Monday, 30 July 2018
Maximo Asset Management 7.6.1 Released | IBM Maximo
Monday, 23 July 2018
Failover - Host two will be added in hosts file If Host one is Down | Linux
to use simple create a file e.g failover.sh and paste the below mentioned script into it.
now configure a cronjob to run this script every after 5 minutes or whatever you like.
#!/bin/bash
HOST1="10.2.4.115"
HOST2="10.2.4.116"
COUNT=4
for myHost in $HOST1
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }' 2>/dev/null)
#count=$count"skj"
# echo $count" ccc"
if [ $count -gt 0 ]; then
# 100% failed
g_count=`grep -c $HOST1 /etc/hosts`
if [ $g_count -eq 0 ]; then
echo "change host1 ip"
`cat /etc/hosts | sed 's/10.2.4.116/10.2.4.115/' > /etc/hosts_tmp`
`cp /etc/hosts_tmp /etc/hosts --reply=yes`
fi
echo "Host : $myHost is UP"
else
g_count=`grep -c $HOST2 /etc/hosts`
echo $g_count
if [ $g_count -eq 0 ]; then
echo "change host2 ip"
`cat /etc/hosts | sed 's/10.2.4.115/10.2.4.116/' > /etc/hosts_tmp`
`cp /etc/hosts_tmp /etc/hosts --reply=yes`
fi
echo "Host : $myHost is down"
fi
done
Tuesday, 3 July 2018
Get Application Name in Maximo Automation Script (Python/Jython) | IBM Maximo
Tuesday, 29 May 2018
Workflow Migration From Source to Target Environment Using Migration Manager | IBM Maximo
After you develop and configure your applications, you can migrate the configurations to a test environment. After testing the configurations, you can migrate them to a production environment. By using Migration Manager, you can migrate iterative configuration changes in a planned and controlled manner.
Workflow Migration:
Source Server Steps:
- Goto > System Configuration > Migration > Migration Groups
- Create New Migration Group and enter Name, Description
- Select desired Object Structures to migrate, in this case we are going to migrate a workflow, for that object structure selected here is DMWFPROCESS.
Thursday, 24 May 2018
Reprocessing Interface Table Errors MEA (Maximo Enterprise Adapter for Oracle Applications) | IBM Maximo
Interface Table Status:
Every outbound interface table contains the following columns, which contain information about the status of the transaction:
OA_IFACESTATUS: The status of the transaction. It has three types:
1. DONE: The transaction was successful.
2. WARNING: The data was transferred but a problem was encountered.
3. ERROR: Due to a system or data error, the data transfer did not occur. Check OA_IFACEMESSAGE for error messages.
OA_IFACETIMESTAMP: The date and time the transaction completed or failed.
OA_IFACEMESSAGE: A general message about errors.
The triggers, which reside on the outbound interface tables, are of trigger type before insert or update. Therefore, directly updating the interface table transactions ensures that the transaction is processed.
Triggers do not exist for the inbound enterprise services. These processes are asynchronous and the integration framework retrieves the records.
The following steps describe how to update an outbound transaction with an error in the interface table, then send the transaction to the Oracle open interface tables again.
Friday, 4 May 2018
Attached Docs Edit Restriction When Record Is Not In Workflow Assignment Using Automation Script | IBM Maximo
But there is one problem, the users cannot edit PR record but they can edit attached docs associated with corresponding record and it doesn't apply on attached documents. Because technically, the attach docs object is different.
We have implemented this requirement with different object event condition (using doclinks, pr and wfassignment objects) using automation script on Purchase Requisitions Application.
Object Launch Point : DOCLINKS
Script : Jython
Object Event Condition:
(select count(ownerid) from wfassignment where ownertable='PR' and assignstatus='ACTIVE'
AND ownerid in (select prid from pr where prid =:ownerid) )>0
and
(select count(ownerid) from wfassignment where ownertable='PR' and assignstatus='ACTIVE'
and assigncode IN (:&USERNAME&) AND ownerid in (select prid from pr where prid =:ownerid) )=0
Events: Save, Add, Update, Delete, Before Save
Thursday, 3 May 2018
Deny Users From Editing Application Record if It's Not In Their Workflow Assignment Using Automation Script | IBM Maximo
Object Launch Point : PR
Script : Jython
Object Event Condition:
(select count (ownerid) from wfassignment where ownertable='PR' and assignstatus='ACTIVE'
AND ownerid in (select prid from pr where prnum=:prnum))>0
and
(select count(ownerid) from wfassignment where ownertable='PR' and assignstatus='ACTIVE'
and assigncode in (:&USERNAME&) and ownerid in (select prid from pr where prnum=:prnum))=0
Events: Save, Add, Update, Before Save
Wednesday, 2 May 2018
Alternative way of generating reports in IBM Maximo using JavaScript | Maximo
No doubt JavaScript is in the top of the list these days. After Google's framework v8; now people use the old JavaScript as back-end called Node.js instead of just front-end 'JavaScript'.
Alternative way of generating reports in IBM Maximo using JavaScript
Wednesday, 14 March 2018
Dynamic NAT Overload or PAT | Cisco
1. create list for local network
2. create pool of puchassd SINGLE IP
3. merge/attach both above to nat inside
4. set inside and outside interfaces
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat pool pool1 1.1.1.50 1.1.1.50 netmask 255.0.0.0
ip nat inside source list 1 pool pool1 overload
int fa0/0
ip nat inside
int fa0/1
ip nat outside
show ip nat translation
Friday, 9 March 2018
Administrative Distance of different Routing Protocols | Networks
|
Route Source
|
Default Distance Values
|
|
Connected
interface
|
0
|
|
Static route
|
1
|
|
Enhanced Interior
Gateway Routing Protocol (EIGRP) summary route
|
5
|
|
External Border
Gateway Protocol (BGP)
|
20
|
|
Internal EIGRP
|
90
|
|
OSPF
|
110
|
|
Intermediate
System-to-Intermediate System (IS-IS)
|
115
|
|
Routing
Information Protocol (RIP)
|
120
|
|
Exterior Gateway
Protocol (EGP)
|
140
|
|
Unknown*
|
255
|
Low administrative distance takes precedence in route distribution.
Suppose we have 2 routing protocols RIP and EIGRP; 120 and 100 respectively. EIGRP will be preferred over the RIP because of the administrative distance is 100.
However, Administrative distance can be changed to take precedence
For instance, lets enable RIP route by using distance command to modify distance
Router1#show ip route
Router1(config)#router rip
Router1(config-router)#distance 90
Now check again with show ip route command
You will see that RIP has taken precedence over EIGRP.
IGP vs EGP and ASN | Network
IGP is a routing protocol that handles routing within a SINGLE autonomous system(AS).
RIP, RIPv2, IGRP, EIGRP and OSPF are the examples of IGP.
Exterior Gateway Protocol (EGP):
EGP handles routing betweeen difference AUTONOMOUS SYSTEMS (ASs).
BGP is the example of EGP.
What is Autonomous system number (ASN)?
An ASN is globally unique number which enables the system to exchange EXTERIOR routing information with other neighboring ASs.
reference: https://www.cisco.com/c/en/us/about/press/internet-protocol-journal/back-issues/table-contents-12/autonomous-system-numbers.html
Wednesday, 7 March 2018
Find and kill a process which is listening on port 8080 | Windows
netstat –aon | find "<port number>"Example:netstat -ano -t | findstr LISTENING | findstr :8080
now kill using taskkill command
taskkill /F /pid xxx
or kill by name for example.
taskkill /im notepad.exe
Tip: to find a string in a file using findstr:findstr /i "helloworld" abc.txtorfindstr /i "^hell*rld" abc.txt
netstat -tulpn | grep LISTEN | grep '(8080 |8081 |8082 | xxx)'
$ lsof -i tcp:1555
Wednesday, 28 February 2018
Schedule this Batch to Download via FTP | Windows
We can use Linux-based utilities which are more secure and available for windows, like "wget" and "WinSCP" which is also a good option, but I preferred to stay in windows using the default old FTP command. Or we also can use Powershell instead of the old command-prompt-based batch file.
Anyhow, below is just one windows command using echo to redirect the text in a file and then the file will be called by FTP.
Just Run or you can write this command in a batch file to schedule.
cd /d "C:\Users\AQ\INTEGRATION\download"
echo open 10.152.30.229 >> ftp.txt & echo user myuser mypassword >> ftp.txt & echo binary >> ftp.txt & echo get "filename.dat" >> ftp.txt & echo bye >> ftp.txt & ftp -n -v -s:ftp.txt & del ftp.txt
1. 1st line is the path, where you want to download.
2. Replace myuser and mypassword with the real FTP user credentials.
3. This script will create a file ftp.txt, and at the end of the line: this file is called by FTP before deletion.
Note: Security concerns: username and password are written here.
We also can use power sh
Tuesday, 13 February 2018
Stop Workflow in BULK by Escallation | IBM Maximo
for instance, we want to stop PR-123 from backend, for that we are going to create a escalation and once action which will be attached with this escalation.
STOPWF_PR Stop PR Workflow
Applies to: WFINSTANCE
Condition:Schedule: Your desired time and date. suppose every 1 minute
active = 1 and ownertable = 'PR' and exists (select 1 from PR where PR.PRID = wfinstance.ownerid and prnum in ('PR-123')
)
Escalation point: Add a row only, no need to enter anything
Action : STOPWF
Create a new action and attached to this escalation
Action: STOPWF Stopwork
Type: Custom Class
Custom Class: psdi.workflow.StopWorkflowAction (auto populated)
Accessible from:
ESCALATION
Saturday, 27 January 2018
Keyboard Shortcuts | IBM Maximo
You can use a combination of keys to perform an action without using a mouse.
Standard keyboard shortcuts
| Action | Keyboard shortcut |
|---|---|
| Move from one interface element to the next. | Tab key |
| Select buttons, links, and menu options. | Enter key |
| Select or clear a check box. | Spacebar |
| Display field help for field in focus. | Alt+F1 |
| Link name | Keyboard shortcut |
|---|---|
| Bulletins | Alt+B |
| Go To | Alt+G |
| Reports | Alt+R |
| Start Center | Alt+C |
| Profile | Alt+P |
| Sign Out | Alt+S |
| Help | Alt+H |
| Return | Alt+R |
| Return with Value | Alt+W |
Open Specific Record Through URL Link In Email Using Relationship in Communication Template | IBM Maximo
Let us take an example of email notification for condition monitoring app. We have communication template which is setup on MEASUREMENT object. But we want to open the specific record of condition monitoring app which has object MEASUREPOINT. We will use it using relationship substitution variable to get the unique id of application record (:MEASUREPOINT.measurepointid).
OBJECT: MEASUREMENT
RELATIONSHIP: MEASUREPOINT
UNIQUE ID: MEASUREPOINTID
SUBSTITUTION VARIABLE: :MEASUREPOINT.measurepointid
Monday, 22 January 2018
How to Make The Hover Info Boxes Stay Up Longer In Scheduler And Graphical Assignment | IBM Maximo
- Go To System Properties
- Change the parameter of following properties given below:
Saturday, 20 January 2018
Adding Custom Hovers On Field Using Relationships | IBM Maximo
If you want to display the PR Line Item record hovering. The custom relationship can be used with PRLINE object relationship to INVENTORY to retrieve storeroom item information.
- Go to Database Configuration
- Object: PRLINE
- Create Relationship: PRL_INVENTORY
- Child Object: INVENTORY.
- Where Clause: itemnum=:itemnum and itemsetid=:itemsetid and location=:storeloc and siteid=:siteid
Wednesday, 27 December 2017
Revised Maximo 76 Report Administration and Feature Guide | Maximo
It starts with an overview of the installation process, file and database structure, and then moves into reviews of scheduling, emailing and security. It concludes with detailed reviews of each of the Report Administration actions, along with property settings and cron tasks. Throughout the guide, best practice recommendations are highlighted.
http://www-01.ibm.com/support/docview.wss?uid=swg21696690
Friday, 8 December 2017
Stop Work Order Creation When The Asset is Down (Condition Monitoring) Using Automation Script | IBM Maximo
- Launch Point: Object Lauch Point
- Business object: WORKORDER
- Script Language: Python
- Variables:
- asset (bind variable isrunning using relation MEASUREPOINT.ASSET.ISRUNNING)
- point (bind variable POINTNUM)
- Event: Save, Add, Before Save
Thursday, 30 November 2017
How to create a READ_ONLY User in Database | Oracle
sqlplus / as sysdba
2. create a simple user and give password:
create user test identified by test;3. Give some grants to newly created user, like create session, and select
grant CREATE SESSION to test;
grant SELECT ANY TABLE to test;
Wednesday, 29 November 2017
Generate Alert Notification on Condition Monitoring Warning Limits Using Escalations | IBM Maximo
- OBJECT: MEASUREMENT
Wednesday, 8 November 2017
Stop Work Order From Closing or Completing Without Entering Actual Labor (Including Task Labor Work Order Array) | IBM Maximo
- Launch Point: Object Lauch Point
- Business object: WORKORDER
- Variables:
- var_act_lab bind with array using relation LABTRANS.LABTRANSID*
- var_task_lab bind with array of task work order relation WOACTIVITY.LABTRANS.LABTRANSID*
- Create error message in database configuration with errorgroup = 'wo' and errorkey = 'act_lab_exists'
- Condition: :status in ('COMP', 'CLOSE')
Wednesday, 1 November 2017
How to Fix VirtualBox “UUID already exists” Errors | Virtual Box
C:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands sethduuid “c:\your_vdi_file_path.vdi”




