Implementing Custom Transformations
1. Each process in the integration has its own XSD file. The messages have custom elements which can be used to pass additional data from one application to another or vice versa. Refer to the message mappings to see the location of customElements in each message.
2. Each XSD has a corresponding CustomType xsd file in which the complexType elements for each customElements tag are defined.
3. Each process uses two XSD files, one for the Oracle Utilities Customer Care and Billing message and one for the Oracle Utilities Meter Data Management message.
4. To pass additional elements in the customElements tag, the corresponding complexType needs to be modified. Add the additional elements required in both complexType elements. For example, in the xsd for both edge applications.
5. Each process has a main transformation which invokes custom templates. Each main transformation file has a corresponding custom XSL and custom templates are defined in the custom XSL.
6. These custom templates are invoked at the location where each customElements tag is present.
7. The custom XSL can be modified to add transformation for the newly added elements in custom XSD files.
8. The custom XSD files are located in product install home under the following directories:
CCB2MDM2/MDS-Artifacts/CCB2-MDM2/AIAMetaData/AIAComponents/ApplicationObjectLibrary/OUCCB2/V1/schemas
CCB2MDM2/MDS-Artifacts/CCB2-MDM2/AIAMetaData/AIAComponents/ApplicationObjectLibrary/OUMDM2/V1/schemas
9. The custom XSL files are located in product install home under the directory:
CCB2-MDM2/services/industry/Utilities/EBF/<Process Name>/xsl
10. After updating the XSD and XSL files in the product install home, update MDS using the ant deploy command for Deploying MDS folder.
For more information about the command to use to deploying to MDS, see the Deploying MDS Folder section in the Oracle Utilities Customer Care and Billing Integration to Oracle Utilities Meter Data Management Installation Guide.
11. After deploying the files to MDS, restart the SOA server.
12. After restarting the SOA server, the changes to the custom xsd and xsl will be reflected in the integration.
Example: In the SA synchronization process, to pass sendDetails > finalSnapshot > customElements > distMethod element in Oracle Utilities Customer Care and Billing to SyncRequestDetails finalSnapshot > customElements > distributionMethod element in Oracle Utilities Meter Data Management, the following changes should to be done:
In OUCCB2SASyncRequestCustomType.xsd, add the distMethod element to the schema. This xsd file is located in CCB2-MDM2/MDS-Artifacts/CCB2-MDM2/AIAMetaData/AIAComponents/ApplicationObjectLibrary/OUCCB2/V1/schemas folder.
<xsd:complexType name="FinalSnapshotCustomType">
<xsd:sequence>
<xsd:element name="distMethod" type="xsd:string"/>
</xsd:sequence>
<xsd:complexType>
 
13. In OUMDMSASyncRequestCustomType.xsd, add the distributionMethod element in the schema. This xsd file is located in CCB2-MDM2/MDS-Artifacts/CCB2-MDM2/AIAMetaData/AIAComponents/ApplicationObjectLibrary/OUMDM2/V1/schemas folder.
<xsd:complexType name="FinalSnapshotCustomType">
<xsd:sequence>
<xsd:element name="distributionMethod" type="xsd:string"/>
</xsd:sequence>
<xsd:complexType>
 
14. Transformation XformOUCCB2SASyncReq_to_OUMDM2SASyncReq_Custom.xsl
<xsl:template name="finalSnapshot-customElements">
<!-- This template is use for Xformation of
//finalSnapshot/customElements in Request Message-->
<distributionMethod xmlns="http://xmlns.oracle.com/OUMDM2/RequestMessage">
<xsl:value-ofselect="/ns0:sendDetails/ns0:syncRequestDetails/ns0:finalSnapshot/ns0:customElements/ns0:distMethod"/>
</distributionMethod>
</xsl:template>