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.
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:
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.
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.
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.