IBM Champions

 View Only

 Maximo Tree Control in App Designer

Amy Tatum's profile image
Amy Tatum IBM Champion posted Thu April 03, 2025 12:57 AM

Hi folks - question for my fellow Maximo Champs - has anyone successfully configured the Tree Control to display something other than locations, assets, etc.  I found a couple of posts on it and the IBM documentation (Tree control - IBM Documentation).  Before I start toying around with it, I'm curious to see if others have had success.  The one or two other threads I found on the topic seemed to stop without an indication that the end goal was achieved.


Thanks for your insights!

Amy

Johann Rumpl's profile image
Johann Rumpl IBM Champion

Hi Amy,

Yes, we did. But we didn't do it using the documentation you shared, which was probably not available back then. It was more or less a try and error exercise. The below sample incorporates Work orders, Service requests as well as Asset- and Location meters.

<dialog beanclass="psdi.webclient.beans.common.AssetLocCIItemDojoTreeBean" id="extended_drilldown" label="Strukturanzeige" relationship="EXTDRILLDOWN">
		<section id="extended_drilldown_s">
			<sectionrow id="extended_drilldown_s_row">
				<sectioncol id="extended_drilldown_s_row_col1">
					<dojotree datasrc="extended_drilldown" dragndrop="true" id="extended_drilldown_tree" loadmorelabel="Weitere laden (%1)">
						<dojotreenode eventvalue="location" folderimage="appimg_location.gif" id="extended_drilldown_node_location" image="appimg_location.gif" objectname="" openfolderimage="appimg_location.gif" textcss="txtred">
							<dojotreenoderelation id="extended_drilldown_node_location_hierarchy" relation="CHILDREN" sort="location"/>
							<dojotreenoderelation id="extended_drilldown_node_location_installedasset" relation="CHILDLOCATIONS.TOPASSET" sort="assetnum"/>
							<dojotreenoderelation id="extended_drilldown_node_location_plannedwork" relation="CHILDLOCATIONS.PM" sort="pmnum"/>
							<dojotreenoderelation id="extended_drilldown_node_location_meter" relation="CHILDLOCATIONS.ACTIVELOCATIONMETER" sort="metername"/>
							<dojotreenodeattribute dataattribute="CHILDLOCATIONS.location" id="extended_drilldown_node_location_location"/>
							<dojotreenodeattribute dataattribute="CHILDLOCATIONS.description" id="extended_drilldown_node_location_description"/>
							<dojotreenodeattribute dataattribute="CHILDLOCATIONS.TYPE" id="extended_drilldown_node_location_type"/>
						</dojotreenode>
						<dojotreenode eventvalue="asset" folderimage="modimg_asset.gif" id="extended_drilldown_node_asset" image="modimg_asset.gif" objectname="ASSET" openfolderimage="modimg_asset.gif" textcss="txtblue">
							<dojotreenoderelation id="extended_drilldown_node_asset_children" relation="ASSETCHILDREN" sort="assetnum"/>
							<dojotreenoderelation id="extended_drilldown_node_asset_plannedworkd" relation="PM" sort="pmnum"/>
							<dojotreenoderelation id="extended_drilldown_node_asset_workorder" relation="OPENWONOTASK" sort="wonum"/>
							<dojotreenoderelation id="extended_drilldown_node_asset_sr" relation="OPENSRASSET" sort="ticketid"/>
							<dojotreenoderelation id="extended_drilldown_node_asset_composition" relation="SPAREPART" sort="itemnum"/>
							<dojotreenoderelation id="extended_drilldown_node_asset_meter" relation="ACTIVEASSETMETER" sort="metername"/>
							<dojotreenodeattribute dataattribute="assetnum" id="extended_drilldown_node_asset_assetnum"/>
							<dojotreenodeattribute dataattribute="description" id="extended_drilldown_node_asset_description"/>
							<dojotreenodeattribute dataattribute="ASSETTYPE" id="extended_drilldown_node_asset_assettype"/>
						</dojotreenode>
						<dojotreenode eventvalue="pm" folderimage="modimg_pm.gif" id="extended_drilldown_node_pm" image="modimg_pm.gif" objectname="PM" openfolderimage="modimg_pm.gif">
							<dojotreenoderelation id="extended_drilldown_node_pm_composition" relation="OPENWO" sort="wonum"/>
							<dojotreenodeattribute dataattribute="PMNUM" id="extended_drilldown_node_pm_pmnum"/>
							<dojotreenodeattribute dataattribute="DESCRIPTION" id="extended_drilldown_node_pm_description"/>
						</dojotreenode>
						<dojotreenode eventvalue="item, inventor" folderimage="modimg_inventor.gif" id="extended_drilldown_node_spareparts" image="modimg_inventor.gif" objectname="SPAREPART" openfolderimage="modimg_inventor.gif">
							<dojotreenodeattribute dataattribute="itemnum" id="extended_drilldown_node_spareparts_itemnum"/>
							<dojotreenodeattribute dataattribute="item.description" id="extended_drilldown_node_spareparts_description"/>
							<dojotreenodeattribute dataattribute="quantity" id="extended_drilldown_node_spareparts_quantity"/>
						</dojotreenode>
						<dojotreenode eventvalue="wotrack" folderimage="modimg_wo.gif" id="extended_drilldown_node_wo" image="modimg_wo.gif" objectname="WORKORDER" openfolderimage="modimg_wo.gif" textcss="txtmaroon">
							<dojotreenodeattribute dataattribute="WONUM" id="extended_drilldown_node_wo_wonum"/>
							<dojotreenodeattribute dataattribute="DESCRIPTION" id="extended_drilldown_node_wo_description"/>
							<dojotreenodeattribute dataattribute="STATUS" id="extended_drilldown_node_wo_status"/>
						</dojotreenode>
						<dojotreenode eventvalue="sr" folderimage="modimg_sd.gif" id="extended_drilldown_node_sr" image="modimg_sd.gif" objectname="SR" openfolderimage="modimg_sd.gif" textcss="txtdarkgreen">
							<dojotreenodeattribute dataattribute="TICKETID" id="extended_drilldown_node_sr_ticketid"/>
							<dojotreenodeattribute dataattribute="DESCRIPTION" id="extended_drilldown_node_sr_description"/>
							<dojotreenodeattribute dataattribute="STATUS" id="extended_drilldown_node_sr_status"/>
						</dojotreenode>
						<dojotreenode folderimage="modimg_financial.gif" id="extended_drilldown_node_assetmeter" image="modimg_financial.gif" objectname="ASSETMETER" openfolderimage="modimg_financial.gif" textcss="txtdarkblue">
							<dojotreenodeattribute dataattribute="METERNAME" id="extended_drilldown_node_assetmeter_metername"/>
							<dojotreenodeattribute dataattribute="METER.DESCRIPTION" id="extended_drilldown_node_assetmeter_description"/>
							<dojotreenodeattribute dataattribute="LASTREADING" id="extended_drilldown_node_assetmeter_lastreading"/>
						</dojotreenode>
						<dojotreenode folderimage="modimg_financial.gif" id="extended_drilldown_node_locmeter" image="modimg_financial.gif" objectname="LOCATIONMETER" openfolderimage="modimg_financial.gif" textcss="txtdarkblue">
							<dojotreenodeattribute dataattribute="METERNAME" id="extended_drilldown_node_locmeter_metername"/>
							<dojotreenodeattribute dataattribute="METER.DESCRIPTION" id="extended_drilldown_node_locmeter_description"/>
							<dojotreenodeattribute dataattribute="LASTREADING" id="extended_drilldown_node_locmeter_lastreading"/>
						</dojotreenode>
					</dojotree>
				</sectioncol>
				<sectioncol id="extended_drilldown_s_row_col2">
					<section id="extended_drilldown_s_row_col1_s" label="Strukturanzeige">
						<sectionrow id="extended_drilldown_s_row_col1_s_rs">
							<sectioncol id="extended_drilldown_s_row_col1_s_rs_system_list">
								<listbox align="left" dataattribute="systemid" height="75" hidelabel="true" id="extended_drilldown_systems" title="System ändern" width="100"/>
							</sectioncol>
							<sectioncol id="extended_drilldown_s_row_col1_s_rs_actions">
								<buttongroup id="extended_drilldown_system_bg">
									<pushbutton id="extended_drilldown_showsystems" label="Alle Systeme anzeigen" mxevent="showAllSystems"/>
								</buttongroup>
								<buttongroup id="extended_drilldown_system_bg2">
									<pushbutton id="extended_drilldown_showpathttotop" label="Pfad bis zur ersten Stufe anzeigen" mxevent="showPathToTop"/>
								</buttongroup>
							</sectioncol>
						</sectionrow>
					</section>
					<section id="extended_drilldown_asset_details" label="Informationen" relationship="ASSET">
						<multiparttextbox dataattribute="assetnum" descdataattribute="description" descinputmode="readonly" id="extended_drilldown_asset" inputmode="readonly"/>
						<multiparttextbox dataattribute="status" descdataattribute="STATUSDESC.description" descinputmode="readonly" id="extended_drilldown_assetstatus" inputmode="readonly"/>
						<multiparttextbox dataattribute="location" descdataattribute="location.description" descinputmode="readonly" id="extended_drilldown_assetlocation" inputmode="readonly"/>
						<buttongroup id="extended_drilldown_asset_bg">
							<pushbutton id="extended_drilldown_showassetworkdetails" label="Arbeitsdetails anzeigen" mxevent="wopms_byasset"/>
						</buttongroup>
					</section>
					<section id="extended_drilldown_location_details" label="Informationen" relationship="LOCATION">
						<multiparttextbox dataattribute="location" descdataattribute="description" descinputmode="readonly" id="extended_drilldown_locationlocation" inputmode="readonly"/>
						<multiparttextbox dataattribute="status" descdataattribute="STATUSDESC.description" descinputmode="readonly" id="extended_drilldown_locationstatus" inputmode="readonly"/>
						<textbox dataattribute="type" id="extended_drilldown_locationtype" inputmode="readonly"/>
						<multiparttextbox dataattribute="itemnum" descdataattribute="ITEM.description" descinputmode="readonly" id="extended_drilldown_locationitem" inputmode="readonly"/>
						<multiparttextbox dataattribute="groupname" descdataattribute="METERGROUP.description" descinputmode="readonly" id="extended_drilldown_locationgroupname" inputmode="readonly"/>
						<buttongroup id="extended_drilldown_location_bg">
							<pushbutton id="extended_drilldown_showlocationworkdetails" label="Arbeitsdetails anzeigen" mxevent="wopms_byloc"/>
						</buttongroup>
					</section>
					<section id="extended_drilldown_pm_details" label="Informationen" relationship="PM">
						<multiparttextbox dataattribute="pmnum" descdataattribute="description" descinputmode="readonly" id="extended_drilldown_pmnum" inputmode="readonly"/>
						<multiparttextbox dataattribute="status" descdataattribute="STATUSDESC.description" descinputmode="readonly" id="extended_drilldown_pmstatus" inputmode="readonly"/>
						<multiparttextbox dataattribute="assetnum" descdataattribute="asset.description" descinputmode="readonly" id="extended_drilldown_pmassetnum" inputmode="readonly"/>
						<multiparttextbox dataattribute="location" descdataattribute="locations.description" descinputmode="readonly" id="extended_drilldown_pmlocation" inputmode="readonly"/>
						<multiparttextbox dataattribute="route" descdataattribute="routes.description" descinputmode="readonly" id="extended_drilldown_pmroute" inputmode="readonly"/>
						<multiparttextbox dataattribute="jpnum" descdataattribute="PLUSCJOBPLAN.description" descinputmode="readonly" id="extended_drilldown_pmjpnum" inputmode="readonly"/>
						<textbox dataattribute="worktype" id="extended_drilldown_pmworktype" inputmode="readonly"/>
						<buttongroup id="extended_drilldown_pm_bg">
							<pushbutton id="extended_drilldown_showpmworkdetails" label="Arbeitsdetails anzeigen" mxevent="showAssetWorkDetails"/>
						</buttongroup>
					</section>
					<section id="extended_drilldown_item_details" label="Informationen" relationship="ITEM">
						<multiparttextbox dataattribute="itemnum" descdataattribute="description" descinputmode="readonly" id="extended_drilldown_itemnum" inputmode="readonly"/>
						<textbox dataattribute="lottype" id="extended_drilldown_itemlottype" inputmode="readonly"/>
						<textbox dataattribute="issueunit" id="extended_drilldown_itemissueunit" inputmode="readonly"/>
						<textbox dataattribute="orderunit" id="extended_drilldown_itemorderunit" inputmode="readonly"/>
						<buttongroup id="extended_drilldown_item_bg">
							<pushbutton id="extended_drilldown_showitemavailbility" label="Artikelverfügbarkeit anzeigen" mxevent="itemavail"/>
						</buttongroup>
					</section>
				</sectioncol>
			</sectionrow>
		</section>
		<buttongroup id="extended_drilldown_ext_btngroup" show="true">
			<pushbutton id="extended_drilldown_ext_button_2" label="OK" mxevent="dialogok"/>
			<pushbutton id="extended_drilldown_ext_button_3" label="Abbrechen" mxevent="dialogcancel"/>
		</buttongroup>
	</dialog>

I hope this helps

Johann