Additional Configuration Information
This section provides:
Lists of available customer modification (CM) Extended UI Map Fragments in Oracle Utilities Mobile Workforce Management on the server and for mobile.
Information on the characteristics and geographic values XSL Template
List of Available CM Extended UI Map Fragments in Oracle Utilities Mobile Workforce Management
The following is a list of the CM extended UI map fragments that can be created to extend base maps in Oracle Utilities Mobile Workforce Management.
Note: Unless otherwise specified all CM Fragments are included at the end of the base map.
The examples below show how to extend M2-SPDataDetails with the following elements in a new custom Service Point Data Area:
<cmAddlSPDataDetails type=”group” mapXML=”BO_DATA_AREA”>
<serialNumber mdField=”CM_SERIAL_NUMBER”/> -- activity detail that can be modified
<condition mdField=”CM_CONDITION”/> -- completion detail only
</cmAddlSPDataDetails>
Oracle Utilities Mobile Workforce Management Server - Activity
Note: These maps are used to maintain and display activity information as sent by the host system. Completion information to be sent back to the host is recorded on the assignment only.
Base UI Map Fragment
CM Extended UI Map Fragment
Activity Maintenance (M2-ActivityMaint)
End of Customer Information section
CM-CustomerInfoMaint_ext
 
End of Map
CM-ActivityMaint_ext
Activity Display (M2-ActivityMainDisplay)
End of Customer Information section
CM-CustomerInfoDisp_ext
End of Map
CM-ActivityDisplay_ext
Service Point Details Maintenance (M2-SPDetailsMaint)
CM-SPDetailsMaint_ext
Refer to the example below.
Service Point Details Display (M2-SPDetailsDisp)
CM-SPDetailsDisp_ext
Refer to the example below.
Meter Details Maintenance (M2-MeterDetailsMaint)
CM-MeterDetailsMaint_ext
Meter Details Display (M2-MeterDetailsDisp)
CM-MeterDetailsDisp_ext
Item Details Maintenance (M2-ItemDetailsMaint)
CM-ItemDetailsMaint_ext
Item Details Display (M2-ItemDetailsDisp)
CM-ItemDetailsDisp_ext
Collection Details Maintenance (M2-CollectionDetailsMaint)
CM-CollectionDetailsMaint_ext
Collection Details Display (M2-CollectionDetailsDisp)
CM-CollectionDetailsDisp_ext
Example - Service Point Activity Display Map Fragment
CM Service Point Activity Details Display Map Fragment
CM-SPDetailsDisp_ext
This fragment will contain a row for every activity detail element:
<div oraLoad="oraDisplayNone(item,'boGroup/cmAddlSPDataDetails/serialNumber','')">
<label oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></label>
<span oraField="boGroup/cmAddlSPDataDetails/serialNumber" ></span>
</div>
Example - Service Point Activity Maintenance Map Fragment
CM Service Point Activity Details Maintenance Map Fragment
CM-SPDetailsMaint_ext
This fragment will contain a row for every activity detail element:
<tr>
<td oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></td>
<td><input class="oraInput" oraField="boGroup/cmAddlSPDataDetails/serialNumber"></td>
</tr>
Oracle Utilities Mobile Workforce Management Server - Assignment
Some of the following completion fragments allow the crew to modify details sent from the host. These are designed to have the original values sent from the host displayed on the left column of the map and modifiable details on the right column.
The original values should be read only. This only includes the details that the crew is allowed to modify in the modifiable section. A separate CM fragment is provided on the left and right columns.
Base logic initializes the modifiable values with the original values. Details that were not changed by the crew and displayed in a different font than those that were changed.
Examples in the base maps you extend follow these display patterns:
Base UI Map Fragment
CM Extended UI Map Fragment
Service Point Completion Details Maintenance
(M2-SPCmplDetailsMaint)
End of Values As Sent from Host on Left Column.
CM-SPCmplDetailsMaint_ext
End of Values As Modified by Crew on Right Column.
CM-SPCmplModifiedMaint_ext
Refer to the example below.
Service Point Completion Details Display
(M2-SPCmplDetailsDisp)
End of Values As Sent from Host on Left Column
CM-SPCmplDetails_ext
End of Values As Modified by Crew on Right Column
CM-SPCmplModified_ext
Refer to the example below.
Meter Completion Details Maintenance
(M2-MeterCmplDetailsMaint)
End of Values As Sent from Host on Left Column
CM-MeterCmplDetailsMaint_ext
End of Values As Modified by Crew on Right Column CM-MeterCmplModifiedMaint_ext
Meter Completion Details Display
(M2-MeterCmplDetailsDisp)
End of Values As Sent from Host on Left Column
CM-MeterCmplDetailsDisp_ext
End of Values As Modified by Crew on Right Column CM-MeterCmplModifiedDisp_ext
New Meter Completion Details Maintenance
(M2-NewMeterCmplDetailsMaint)
CM-NewMeterDetailsMaint_ext
New Meter Completion Details Display
(M2-NewMeterCmplDetailsDisp)
CM-NewMeterDetailsDisp_ext
Item Completion Details Maintenance
(M2-ItemCmplDetailsMaint)
End of Values As Sent from Host on Left Column
CM-ItemCmplDetailsMaint_ext
End of Values As Modified by Crew on Right Column CM-ItemCmplModifiedMaint_ext
Item Completion Details Display
(M2-ItemCmplDetailsDisp)
End of Values As Sent from Host on Left Column
CM-ItemCmplDetailsDisp_ext
 
End of Values As Modified by Crew on Right Column CM-ItemCmplModifiedDisp_ext
New Item Completion Details Maintenance
(M2-NewItemCmplDetailsMaint)
CM-NewItemDetailsMaint_ext
New Item Completion Details Display
(M2-NewItemCmplDetailsDisp)
CM-NewItemDetailsDisp_ext
Common Completion Maintenance
(M1-AssignmentCmnCmplMaint)
CM-AssignmentCmnCmplMaint_ext
Common Completion Display
(M1-AssignmentCmnCmplDisplay)
CM-AssignmentCmnCmplDisp_ext
Example - Service Point Completion Display Map Fragments
CM Service Point Completion Activity Details Map Fragment
CM-SPCmplDetails_ext
This fragment should look very similar to the html in the browse division of the laptop fragment (CM-MCPSPDetails_ext). The fields are the same, but the server display uses different html elements.
(<div>,<label>,<span> instead of <tr>, <td>)
 
We recommend that the CM fragment has the activity detail fields first followed by completion only fields.
<div>
<label oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></label>
<span oraField="boGroup/cmAddlSPDataDetails/serialNumber"></span>
</div>
<div>
<label oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></label>
<span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span>
</div>
 
CM Service Point Completion Modified Details Map Fragment
CM-SPCmplModified_ext
This fragment should look very similar to the html in the browse division of the laptop fragment (CM-MCPSPModified_ext). The fields are the same, but the server display uses different html elements
(<div>,<label>,<span> instead of <tr>, <td>)
 
Each activity detail field that can be modified, should have a row in this fragment.
Each row should contain a <label>, a <span> for the modified detail field, and a <span> for the activity detail field.
The <span> for the modified detail field must have an id (e.g. id=”CMNewSerialNumber”)
The <span> for the activity detail field should have a style so that it will not be displayed (e.g. style=display:none”)
The <span> for the activity detail field should call grayOutUnmodifiedDetails() in an oraLoad, passing to it the id of the modified detail field (e.g. oraLoad=”grayOutUnmodifiedDetails(‘CMNewSerialNumber’)”)
<div>
<label oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"></label>
<span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber" id="CMNewSerialNumber"></span>
<span style="display:none" oraField="boGroup/cmAddlSPDataDetails/serialNumber" oraLoad="grayOutUnmodifiedDetails('CMNewSerialNumber')"></span>
</div>
Example - Service Point Completion Maintenance Map Fragments
CM Service Point Completion Details Maintenance Map Fragment
CM-SPCmplDetailsMaint_ext
This fragment can contain the same html as the in the completion division of the laptop fragment (CM-MCPSPDetails_ext).
<tr>
<td><span oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
<td><span oraField="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
</tr>
<tr>
<td oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></td>
<td><input class="oraInput" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"/></td>
</tr>
 
CM Service Point Completion Modified Map Fragment
CM-SPCmplModifiedMaint_ext
This fragment can contain the same html as the in the completion division of the laptop fragment (CM-MCPSPModified_ext).
<tr>
<td oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"></td>
<td><input class="oraInput" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"/></td>
</tr>
Oracle Utilities Mobile Workforce Management Mobile Application – Laptop
Some of the following completion fragments allow the crew to modify details sent from the host. These are designed to have the original values sent from the host displayed on the left column of the map and modifiable details on the right column.
The original values should be read only. This only includes the details that the crew is allowed to modify in the modifiable section. A separate CM fragment is provided on the left and right columns.
Base logic initializes the modifiable values with the original values. Details that were not changed by the crew and displayed in a different font than those that were changed.
Refer to examples in the base maps you extend to follow these display patterns.
Base UI Map Fragment
CM Extended UI Map Fragment
Activity Details Fragment
(M2-MCPActivityMainDispFrag)
End of Customer Information section
CM-MCPCustomerInfo_ext
End of Map
CM-MCPActivityMain_ext
Collections Details Fragment
(M2-MCPCollectionsInfoDispFrag)
CM-MCPCollectionDetails_ext
Service Point Details Fragment
(M2-MCPSPDetailsMaintFrag)
End of Values As Sent from Host on Left Column CM-MCPSPDetails_ext
End of Values As Modified by Crew on Right Column CM-MCPSPModified_ext
Refer to the example below.
Meter Details Fragment
(M2-MCPExistingMeterMaintFrag)
End of Values As Sent from Host on Left Column CM-MCPMeterDetails_ext
End of Values As Modified by Crew on Right Column CM-MCPMeterModified_ext
New Meter Details Fragment
(M2-MCPNewMeterMaintFrag)
CM-MCPNewMeterDetails_ext
Item Details Fragment
(M2-MCPExistingItemMaintFrag)
End of Values As Sent from Host on Left Column CM-MCPItemDetails_ext
End of Values As Modified by Crew on Right Column CM-MCPItemModified_ext
New Item Details Fragment
(M2-MCPNewItemMaintFrag)
CM-MCPNewItemDetails_ext
Common Completion Fragment
(M2-MCPCommonCmplMaintFrag)
CM-MCPCommonCompletion_ext
Example -Service Point Laptop Maintenance Map Fragment
CM Service Point Activity Details Map Fragment
CM-MCPSPDetails_ext
The map fragment should contain 2 groups of elements; one to be displayed in Completion mode and one to be displayed in Browse mode.
We recommend that the CM fragment has the activity detail fields first, followed by completion only fields.
<!-- Browse section -->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td><span oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
<td><span oraField="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
</tr>
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td><span oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span></td>
<td><span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span></td>
</tr>
<!-- completion section -->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Browse');">
<td><span oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
<td><span oraField="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
</tr>
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Browse');">
<td oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></td>
<td><input class="oraInput" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"/></td>
</tr>
 
CM Service Point Modified Activity Details Map Fragment
CM-MCPSPModified_ext
The map fragment should contain 2 <div>; one to be displayed i completion mode and one to be displayed in browse mode.
Each activity detail field that can be modified, should have a row in this fragment.
In the Browse division:
Each row should contain an oraLabel <td>, an oraField <td> for the modified detail field, and an oraField <td> for the activity detail field.
The oraField <td> for the activity detail field should have a class of mcpHidden since it will not be displayed (e.g. class=”mcpHidden”)
<!-- Browse section -->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td><span oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"></span></td>
<td><span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"></span></td>
<td class="mcpHidden" oraField="boGroup/cmAddlSPDataDetails/serialNumber"></td>
</tr>
<!—Completion section -->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Browse');">
<td oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"></td>
<td><input class="oraInput" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"/></td>
</tr>
 
Oracle Utilities Mobile Workforce Management Mobile Application – Handheld
Some of the following completion maps allow the crew to modify details sent from the host. Because of real estate considerations on the handheld these maps are designed to have a Modify button on them that when clicked by the crew it opens up an editable element below each field that is allowed to be modified. The same map in browse mode would only display the modified value if it is different from the original value.
examples in the base maps you extend to follow these display patterns.
Base UI Map Fragment
CM Extended UI Map Fragment
Customer Information (M2-MCPCustomerInfoDisp)
CM-MCPWMCustomerInfo_ext
Collections Details (M2-MCPCollectionsDetailsDisp)
CM-MCPWMCollectionDetails_ext
Service Point Details (M2-MCPSPDetailsMaint)
CM-MCPWMSPDetails_ext
This map supports the Modify button.
Refer to the example below.
Meter Details (M2-MCPExistMeterDetailsMaint)
CM-MCPWMMeterDetails_ext
This map supports the Modify button.
New Meter Details (M2-MCPNewMeterDetailsMaint)
CM-MCPWMNewMeterDetails_ext
Item Details Maintenance (M2-MCPExistItemDetailsMaint)
CM-MCPWMItemDetails_ext
This map supports the Modify button.
New Item Details Maintenance
(M2-MCPNewItemDetailsMaint)
CM-MCPWMNewItemDetails_ext
Common Completion (M1-MCPCommonCompletionMaint)
CM-MCPWMCommonCompletion_ext
Example - Service Point Handheld Maintenance Map
CM MCP WM Service Point Details Map Fragment
CM-MCPWMSPDetails_ext
The map fragment should contain 2 groups of elements; one to be displayed in Completion mode and one to be displayed in Browse mode.
We recommend that the CM fragment has the activity detail fields first, followed by completion only fields. Each activity detail field that can be modified, should be immediately followed by a modified detail row.
In the Browse section:
The oraField <td> in each activity detail row must have an id (e.g. id=”CMOrigSerialNumber”)
The oraField <td> in each modified detail row must have an id (e.g. id=”CMNewSerialNumber”)
The oraField <td> in each modified detail row will call mcpHideUnmodifiedDetails() in an oraLoad, passing to it the id of the modified detail field and the id of the activity detail field (e.g. oraLoad=”mcpHideUnmodifiedDetails(‘CMNewSerialNumber’,’CMOrigSerialNumber)”)
<!-- Browse section-->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td class="oraLabel oraTableLabel"><span oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
<td class="oraNormal oraTableData"><span oraField="boGroup/cmAddlSPDataDetails/serialNumber" id="CMOrigSerialNumber"></span></td>
</tr>
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td> </td>
<td class="oraNormal oraTableData"><span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber" id="CMNewSerialNumber" oraLoad="mcpHideUnmodifiedDetails('CMNewSerialNumber','CMOrigSerialNumber')"></span></td>
</tr>
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Completion');">
<td class="oraLabel oraTableLabel"><span oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span></td>
<td class="oraNormal oraTableData"><span oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span></td>
</tr>
 
In the Completion section:
Each modified detail row should call oraDisplayNone in an oraLoad to not display the row if the modifyButtonClicked is false (e.g. oraLoad=”oraDisplayNone(item,’boGroup/utilityCompletionInformation/servicePointCompletionDetails/modifyButtonClicked’,’false’);”)
<!-- Completion division -->
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Browse');>
<td class="oraLabel oraTableLabel"><span id="CMlblSerialNumber" oraLabel="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
<td class="oraNormal oraTableData"><span id="CMSerialNumber" oraField="boGroup/cmAddlSPDataDetails/serialNumber"></span></td>
</tr>
<tr oraLoad=" oraDisplayNone(item,'common/mode', 'Browse');oraDisplayNone(item,'boGroup/utilityCompletionInformation/servicePointCompletionDetails/modifyButtonClicked', 'false');">
<td> </td>
<td><input class="oraInput" id="CMModSerialNumber" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/serialNumber"/></td>
</tr>
<tr oraLoad="oraDisplayNone(item,'common/mode', 'Browse');>
<td class="oraLabel oraTableLabel"><span id="CMlblCondition" oraLabel="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"></span></td>
<td><input class="oraInput" id="CMCondition" oraField="boGroup/utilityCompletionInformation/servicePointCompletionDetails/cmAddlSPDataDetails/condition"/></td>
</tr>
XSL Template in Oracle Utilities Customer Care and Billing
This section provides information about the XSL Template and how to use the template to pass characteristic and geographic values from Oracle Utilities Customer Care and Billing to Oracle Utilities Mobile Workforce Management.
About the XSL Template
The XSL Template is located in MDS on the framework SOA server. Please refer to Processing CC&B NDS Records Using Middleware/BPEL for more information.
All custom elements should be sent to Oracle Utilities Mobile Workforce Management under a customSchemaData node. Within that node the element must be placed at the same XPath location as defined on the activity business object.
The base product provides an XSL template that facilitates the mapping of characteristics and geographic values of a given entity to corresponding locations in the Oracle Utilities Mobile Workforce Management target schema.
The calling XSL should establish the surrounding group node structure starting from the customSchemaData node and then call the XSL template to handle all the characteristics and geographic values for a specific entity.
The list of characteristic types and geographic value types and corresponding element names in Oracle Utilities Mobile Workforce Management is defined in an input file CM-InputCharacteristicsGeoCodesCollection.xml.
For example, if you have extended the service point details in Oracle Utilities Mobile Workforce Management with characteristics and geographic types, call the XSL Template once for the "Service Point Characteristics" entity and once for the "Service Point Geographic Value" entity.
<customSchemaData>
<yourCMgroupForSPDetailsAsDefinedInMWM>
<xsl:call-template name="C1FieldWorkExtensionTemplate">
 <xsl:with-param name="entityName" select="'SPCharacteristics'"/>
</xsl:call-template>
<xsl:call-template name="C1FieldWorkExtensionTemplate">
 <xsl:with-param name="entityName" select="'ServicepointGeo'"/>
</xsl:call-template>
<someSPfield>
</xsl…>
</someSPfield>
</yourCMgroupForSPDetailsAsDefinedInMWM>
</customSchemaData>
If all custom elements of all entities are just characteristics and geographic values the surrounding group node structure may be defined as part of the element name in the input file allowing you to make a single call to the template:
<customSchemaData>
<xsl:call-template name="C1FieldWorkExtensionTemplate"/>
</customSchemaData>
Using the XSL Template
1. Locate the template file: CM-InputCharacteristicsGeoCodesCollection.xml.
2. Use the following XML format to update the file with an entry for each custom characteristic and geographic value to be forwarded to Oracle Utilities Mobile Workforce Management.
<CharacteristicsGeoCodesCollection>
<CharacteristicGeoCode>
<entityName>SPCharacteristics</entityName>
<charType>PLANT</charType>
<charTypeNode>CM-SPDetails/plant</charTypeNode>
</CharacteristicGeoCode>
<CharacteristicGeoCode>
<entityName>ServicepointGeo</entityName>
<geoType>DVCE</geoType>
<geoTypeNode>CM-ServicePointGeo/geoCodeDevice</geoTypeNode>
</CharacteristicGeocode>
</CharacteristicsGeoCodesCollection>
Entity Name. Refers to different characteristics or geo type entity collections.
Valid values:
FA Type Characteristics (FatyCharacteristic)
FA Characteristics (FACharacteristics)
SP Type Characteristics (ServicepointTypeCharacteristic)
SP Characteristics (SPCharacteristics)
Premise Characteristics (PremiseCharacteristics)
Meter Characteristics (MeterCharacteristics)
Item Characteristics (ItemCharacteristics)
Service Point Geo Code (ServicepointGeo)
Premise Geographic Value (PremiseGeoTypes)
Characteristic Type uniquely identifies the characteristic value in the source collection.
Characteristic Type Node If the template is called within an already established group node structure for a specific entity this is the element name only. If the template is called once for all entities this is the full XPath below the Custom Schema Data node in the target Oracle Utilities Mobile Workforce Management message.
Geo Type uniquely identifies the geographic value in the source collection.
Geo Type Node If the template is called within an already established group node structure for a specific entity this is the element name only. If the template is called once for all entities this is the full XPath below the Custom Schema Data node in the target Oracle Utilities Mobile Workforce Management message of the element, including the element name.