Implementing Custom Transformations
To implement custom transformations, perform the following:
1. Each process in the integration has its own XSD files for the incoming and outgoing messages. The messages have custom elements at record level which can be used to pass additional data.
2. Each XSD has a corresponding CustomType xsd in which the complexType elements for each customElements tag are defined.
3. To pass additional elements in the customElements tag the corresponding complexType needs to be modified. Add the additional elements required in both the complexType elements i.e. XSD for both edge applications.
4. The custom XSD files are located in the product home under the directories CCB-EBS/MDS-Artifacts/MetaData/ApplicationObjectLibrary/OUCCB/V1/schemas and CCB-EBS/MDS-Artifacts/MetaData/ApplicationObjectLibrary/EBS/schemas/
5. The custom elements in the incoming message can be populated through the Extension points.
6. Each transformation file has a corresponding custom XSL. Custom templates are defined in the custom XSL.
7. Each transformation invokes the custom templates at the record level.
8. The custom XSL has a custom template to map custom elements.
9. The custom XSL files are located in the product home under the directory CCB-EBS/services/industry/Utilities/EnterpriseBusinessFlow/<Process Name>/xsl
10. After updating the XSD and XSL files in the product home, update MDS using the ant scripts and restart the SOA server.
Refer to the instructions for updating MDS located in the Installation Guide.
Example:
CCB Schema: GetCCBAPData.xsd
EBS Schema: InsertIntoEBSAPInvoiceInterfaceTable_table.xsd
To modify the AP Request integration process to map a GEO_CODE from Oracle Utilities Customer Care and Billing to ATTRIBUTE2 of INVOICE_INTERFACE in Oracle E-Business Suite:
Modify TransformationCCBPaymentTOEBSInvoice_Custom.xsl as shown below.
<xsl:template name="ApInvoicesInterface_customElements">
<ns0:attribute2>
<xsl:value-of select="/ns1:GetCCBAPDataProcessResponse/ns1:result/ns2:SelectCCBAPRecordsWithTemplateOutput/ns2:B.GEO_CODE"/>
</ns0:attribute2>
</xsl:template>
<!-- Customers add transformations for custom elements here -->
</xsl:stylesheet>