Hi all,
I'm wondering what the opinions of the folks here about bean scripting is. So far, I tend to avoid enabling it as you can directly write things whatever you want in the html of the website.
However, the approach of using the gotoAppLink() will also work with an Action launch point on the line level. At least I did some Actions on table rows recently. This python example duplicates a line in a custom object:
from java.lang import System
from psdi.mbo import MboRemote, MboSetRemote
thisset = mbo.getThisMboSet();
currentpos = thisset.getCurrentPosition();
newline = thisset.addAtIndex(currentpos);
newline.setValue("sequence",mbo.getInt("sequence"));
newline.setValue("intobjectname",mbo.getString("intobjectname"));
newline.setValue("objectname",mbo.getString("objectname"));
newline.setValue("parentobjname",mbo.getString("parentobjname"));
newline.setValue("level",mbo.getInt("level"));
newline.setValue("label",mbo.getString("label"));
newline.setValue("isdatasource",mbo.getBoolean("isdatasource"));
newline.setValue("isonetoone",mbo.getBoolean("isonetoone"));
newline.setValue("isxpath",mbo.getBoolean("isxpath"));
newline.setValue("includeinparent",mbo.getBoolean("includeinparent"));
newline.setValue("afterattribute",mbo.getString("afterattribute"));
newline.setValue("xpath",mbo.getString("xpath"));
# Neu sortieren
for i in range(0, thisset.count()):
objrow = thisset.getMbo(i);
if i >= currentpos:
objrow.setValue("sequence",i);
# table refresh
wcs=service.webclientsession();
databean = wcs.getDataBean("eamerobjects_table");
if databean is not None:
databean.refreshTable();
databean.setCurrentRow(currentpos);
databean1 = wcs.getDataBean("eamattribute_table");
if databean1 is not None:
databean1.refreshTable();
databean1.setCurrentRow(currentpos);
Just as an alternative option. In the end I'm curious if I'm over-cautious by disabling bean scripting on purpose....
------------------------------
Johann Rumpl
Managing Director Naviam DACH
Naviam
Steinmaur
Austria
------------------------------
Original Message:
Sent: Thu May 28, 2026 09:46 AM
From: Pavan Uppalanchu
Subject: mxevent definition and usage
hello Julio,
Thank you again for your response. I tried with databean auto script and it's working. I thought that might have been possible through configuration change. Below is my solution and it's working but loading for about 2-3 seconds. The event locationrecord should be mentioned on location column in list tab in application designer.
def locationrecord(ctx):
mbo = ctx.getEvent().getSourceControlInstance().getDataBean().getMbo()
location = mbo.getString("LOCATION")
siteID = mbo.getString("siteid")
wcs = ctx.webclientsession()
# -------------------------------------------------
# . Build Location WHERE clause
# -------------------------------------------------
whereClause = "location = '{}' AND siteid='{}'".format(location,siteID)
encodedWhere = URLEncoder.encode(whereClause, "UTF-8")
# -------------------------------------------------
# . Navigate to Location
# -------------------------------------------------
finalUrl = (
"/maximo/oslc/graphite/manage-shell/index.html"
"?event=loadapp"
"&value=location"
"&additionalevent=sqlwhere"
"&additionaleventvalue=" + encodedWhere +
"&changetab=main"
)
wcs.gotoApplink(finalUrl)


------------------------------
Pavan Uppalanchu
------------------------------
Original Message:
Sent: Wed May 27, 2026 02:46 PM
From: Julio Hernandez
Subject: mxevent definition and usage
Hi Pavan,
I received a response from you through the IBM Community, which I don't see here, and I couldn't find a way to respond to you except through here. The email I received is below:
_____________________________________________________________
From: Pavan Uppalanchu via IBM Community <Mail@ConnectedCommunity.org>
Sent: Tuesday, May 26, 2026 11:14 PM
To: JulioH@Ergonare.com
Subject: RE: mxevent definition and usage
The following message has been sent to you in response to your discussion message.
View inbox and reply to the message online
Message From: Pavan Uppalanchu
Hello,
Thank you for reply. I tried and it's working!!!!
Can we enable hyperlink like we had on asset column?
------------------------------
Pavan Uppalanchu
------------------------------
_____________________________________________________________
My response is below:
While it is possible to show the underline under the Location field just as it appears under the Asset field, clicking it would just take you to the main Asset tab for the Asset on that row.
Allowing an underline to work as a real link to take you to the Locations app may be possible, but would be more involved and would be inconsistent with the rest of Maximo.
Thanks.
------------------------------
Julio Hernandez
Ergonare, Inc.
Phoenix AZ
(602) 321-2431
Original Message:
Sent: Mon May 25, 2026 12:41 PM
From: Pavan Uppalanchu
Subject: mxevent definition and usage
@Jason VenHuizen I have requirement in Asset List tab. In my list Tab, location column is available. when user click on link assocaited with Location column, it should open location record. Is it possible via appbean.asset script ?
Thank you.
------------------------------
Pavan Uppalanchu
Original Message:
Sent: Tue March 01, 2022 11:03 AM
From: Jason VenHuizen
Subject: mxevent definition and usage
Hi John,
The events you are referencing are either select action menu item names or method names on the hierarchy of data bean classes that are defined within each table section and ending with the top level app bean.
For example the SAVE event (case sensitive) is actually the:
public int SAVE() throws MXException, RemoteException
method signature of the
psdi.webclient.system.beans.AppBean
class, from which all the other AppBean classes extend.
For a further example on the
psdi.webclient.beans.asset.AssetAppBean
class there is a method called MOVEASSET, which is then the method that is called when the MOVEASSET event is fired.
public int MOVEASSET() throws RemoteException, IOException, ServletException
Hopefully that makes sense, but if you have further questions feel free to reach out.
------------------------------
Jason VenHuizen
https://sharptree.io
https://opqo.io