Hi,
I am trying to learn Maximo Anywhere 7.6.4 and have followed the sparse tutorials that I can find.
I am trying to add a custom domain for an attribute but am getting "No records to display" when clicking on select value in the app. The domain works fine in Maximo Asset Management 7.6.1.2 showing values correctly.
Steps taken:
1. Create ALN Domain RISKDOMAIN, Datatype=ALN, Values=HIGH, MEDIUM, LOW, Length=10
2. Make sure the attribute WORKORDER.RISK exists in Maximo, Type=ALN, Length=10, Domain=RISKDOMAIN, Search Type=EXACT
3. Make sure RISK exists in the OSLC Resource Shape document, oslc-docs/resources/rdf/oslc/shapes/oslcdetail/oslcdetail
<oslc:property>
<oslc:Property>
<oslc:name>risk</oslc:name>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#risk"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<oslc:maxSize>10</oslc:maxSize>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
>Risk Assessment</dcterms:title>
</oslc:Property>
</oslc:property>
4. Add the attribute to the Work Order resource in app.xml:
....
<!--DATA DEFINITION SECTION-->
<data id="data">
<!--Work Order resource-->
<resource class="application.business.WorkOrderObject" defaultOrderBy="wonum asc"
describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#WorkOrder" hasManagedQuery="true" id="workOrder"
name="workOrder" pageSize="20" providedBy="/oslc/sp/WorkManagement">
<attributes id="workOrder_attributes">
<attribute name="risk" describedByProperty="spi_wm:risk" id="workOrder_risk_spiwm_risk"/>
....
5. Create domain resource in <data> section of app.xml
<!--DATA DEFINITION SECTION-->
<data id="data">
...
<!-- DOMAINS Resources -->
<!-- RISK DOMAIN -->
<resource additionalData="true"
describedBy="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#AlphaNumericDomain"
id="domainRisk" name="riskDomain" pageSize="10" providedBy="/oslc/sp/SmarterPhysicalInfrastructure">
<attributes id="domainrisk_attributes">
<attribute describedByProperty="spi:value" id="domainrisk_value_spivalue" name="value"/>
<attribute describedByProperty="spi:description" id="domainrisk_description_dctermstitle" name="description"/>
<attribute describedByProperty="spi:domainid" id="domainrisk_domainid_oslcshortTitle" name="domainid"/>
<attribute describedByProperty="spi:alndomainid" id="domainrisk_alndomainid_alndomainid" name="alndomainid"/>
</attributes>
<queryBases id="domaingetrisk_queryBases">
<queryBase id="domaingetrisk_queryBase_getrisk" name="getRisk" queryUri="/oslc/os/oslcalndomain"/>
</queryBases>
<whereClause clause="spi:domainid='RISKDOMAIN'" id="domaingetRisk_whereClause"/>
</resource>
6. Create lookup in <ui> section
<ui id="ui">
...
<!-- RISK DOMAIN CUSTOM LOOKUP -->
<lookup id="WorkExecution.RiskLookup" label="Select Risk Level" resource="riskDomain">
<requiredResources id="WorkExecution.RiskLookup.reqRess">
<requiredResource id="WorkExecution.reqRes" name="riskDomain" />
</requiredResources>
<list id="WorkExecution.RiskLookup.list" resource="riskDomain">
<listItemTemplate id="WorkExecution.RiskLookup.listItemTemplate" layout="Item1Desc1">
<listtext id="WorkExecution.RiskLookup.list_value" resourceAttribute="value" layoutInsertAt="item1" cssClass="bold textappearance-medium" />
<listtext id="WorkExecution.RiskLookup.list_description" resourceAttribute="description" layoutInsertAt="desc1" cssClass="bold textappearance-medium" />
</listItemTemplate>
</list>
<returnAttributes id="WorkExecution.RiskLookup.returnAttrs">
<returnAttribute id="WorkExecution.RiskLookup.return_value" sourceAttribute="value" targetAttribute="risk" />
<returnAttribute id="WorkExecution.RiskLookup.return_descr" sourceAttribute="description"
targetAttribute="description"/>
</returnAttributes>
</lookup>
7. Add field to the app view
<ui id="ui">
...
<!--Work Order Details view-->
<view id="WorkExecution.WorkDetailView" label="Work Order Details" resource="workOrder">
...
<container id="WorkExecution.WorkDetailView_workOrder_container_0" resource="workOrder">
...
<group id="WorkExecution.WorkDetailView_group_0">
...
<groupitem id="WorkExecution.WorkDetailView_workOrder_groupitem_WorkExecution.RiskView">
<text id="WorkExecution.WorkDetailView_workOrder_groupitem_WorkExecution.RiskViewText" resourceAttribute="risk" label="Risk" editable="true" placeHolder="Tap to enter" lookup="WorkExecution.RiskLookup" lookupAttribute="risk" />
</groupitem>
The field with the magnifying glass is visible and displays label and value, but the lookup is empty. Have tried modifying but do not know how to debug.
Very grateful for any help with this.
Best wishes,
John Venkiah
------------------------------
John Venkiah
------------------------------
#Maximo#MaximoAnywhere#AssetandFacilitiesManagement