Setting up Oracle Utilities Meter Data Management
Two BPA scripts are provided to aid in the setup of Oracle Utilities Meter Data Management in synchronous processing. Consequently, the amount of setup work to be done by an implementation is greatly reduced. These scripts are intended to be executed only once prior to any customizations being made to any of the synchronous objects:
1. Insert Oracle Utilities Customer Care and Billing-specific algorithms to Sync Request business objects in Oracle Utilities Meter Data Management.
D2-AddCCBAlg: Inserts transformation algorithms specific to the Oracle Utilities Customer Care and Billing integration into the sync request business objects. If your implementation needs to introduce additional transformation algorithms, they need to be inserted after this script is run.
D2-PopMstCfg: Sets up data in the following master configurations:
Master Data Synchronization Configuration: Contains the foreign key reference information used by framework to validate and/or resolve foreign keys in the master data sync requests.
Seeder Sync Request Master Configuration: Contains information needed by the sync request seeder business object to determine the actual business object to instantiate. The information is keyed to external system, maintenance object, and initial load indicator in the sync request.
The rest of the setup tasks in Oracle Utilities Meter Data Management include:
For more information on configuring and working with Oracle Utilities Meter Data Management, refer to Oracle Utilities Meter Data Management Installation and Configuration Guide.
Standard Oracle Utilities Meter Data Management configuration, such as setting up usage validation rules and setting up services to poll for usage data, is covered in the standard Oracle Utilities Meter Data Management configuration guides.
The following sections provide a general overview of these steps. However, you should refer to the Oracle Utilities Meter Data Management Installation and Configuration Guide for detailed steps.
Oracle Utilities Meter Data Management Admin Data Table Configuration
This section describes the unique setup issues specifically related to configuring your system for the integration.
For more information about configuring Oracle Utilities Meter Data Management, see the Oracle Utilities Meter Data Management User Guide.
Country
Create a country code in Oracle Utilities Meter Data Management by navigating to the Country portal under the Admin menu.
The Main page is used to customize the fields and field descriptions that are displayed where addresses are used in the system. This ensures that all addresses conform to the customary address format and conventions of the particular country you have defined.
Guideline
Corresponding DVM
Create the Country codes
OUCCB2_OUMDM2_Country
Service Point Type
Create the required SP Types by navigating to the SP Type portal under the Admin menu.
Guideline
Corresponding DVM
Create SP Types
 
The codes defined here must exactly match values in the DVM indicated.
OUCCB2_OUMDM2_SPType
Usage Subscription Type
Create the required US Types by navigating to the Usage Subscription Type portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create US Types
OUCCB2_OUMDM2_USType
Device Type
Create the required Device Types by navigating to the Device Type portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create Device Types
OUCCB2_OUMDM2_DeviceType
 
Manufacturer and Model
Create the required Manufacturer and Model codes by navigating to the Manufacturer portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create Manufacturer codes
OUCCB2_OUMDM2_Manufacturer
Create Model codes
OUCCB2_OUMDM2_Model
Device Configuration Type
Create the required Device Configuration Types by navigating to the Device Configuration Type portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create Device
Configuration Types
OUCCB2_OUMDM2_DeviceConfigType
 
Service Type
Create the required Service Types by navigating to the Service Type portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create Service Types
OUCCB2_OUMDM2_MCServiceType
Unit of Measure
Define the Unit of Measure codes by navigating to the Unit of Measure portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Define unit of measurement codes.
OUMDM2_OUCCB2_UOM
Time of Use
Define the Time of Use codes by navigating to the Time of Use portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Define time of use codes
OUMDM2_OUCCB2_TOU
Service Quantity Identifier
Define the SQI codes by navigating to the Service Quantity Identifier portal under the Admin menu. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Define service quantity identifiers
OUMDM2_OUCCB2_SQI
Service Provider
Create a service provider that references the external system for Oracle Utilities Customer Care and Billing.
To create usage transactions (and calculate bill determinants) based on usage requests from Oracle Utilities Customer Care and Billing, add this processing method:
Processing Role: Usage Transaction Creation, Business Object: How To Create US Related Information, Default Processing Method Business Object: D2-UsageTransaction
To send usage (bill determinants) to Oracle Utilities Customer Care and Billing, add this processing method:
Processing Role: Usage Transaction Notification: Online, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message type for usage transaction response for an online usage request>
Processing Role: Usage Transaction Notification: Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message type for usage transaction response for a batch usage request>
Processing Role: Usage Transaction Error Notification: Online, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message type for usage transaction error response for an online usage request>
Processing Role: Usage Transaction Error Notification: Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message type for usage transaction error response for a batch usage request>
Processing Role: Usage Transaction Subsequent Correction Notification: Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message type for usage transaction subsequent correction notification>
To support Oracle Utilities Customer Care and Billing meter read sync, add this processing method:
Processing Role: Initial Measurement Creation, Business Object: How To Create MC Related Information, Default Processing Method Business Object: D1- SyncIMDScalar
To sync dynamic options and dynamic option events from Oracle Utilities Customer Care and Billing, add this processing method:
Processing Role: Contract Option Type Translation, Business Object: How To Translate External Value, Default Processing Method Business Object: D2- CCBContractOptionTypeLookup
To support notification of bill cycle change to Oracle Utilities Customer Care when bill cycle changes resulting from change in SP's measurement cycle, add this processing method:
Processing Role: SP Measurement Cycle Change, Business Object: How To Request Customer Notification, Default Processing Method Outbound Message Type: <outbound message type>
Master Configuration
A BPA script is provided to pre-populate the master configurations with the information necessary to support the base objects included in the data sync. Run D2-PopMstCfg to complete the BPA script.
Navigation
Field
Master Configuration portal under the Admin menu.,
Master Data Synchronization Configuration
Seeder Sync Request
Self Service Rate Compare Configuration
Feature Configuration
To enable navigation from Oracle Utilities Meter Data Management to Oracle Utilities Customer Care and Billing, setup the Oracle Utilities Customer Care and Billing URL option type on the General System Configuration feature configuration. The option value must contain the URL for the Oracle Utilities Customer Care and Billing system (see the demo environment for an example).
Usage Adjustment Profiles
Refer to the Oracle Utilities Meter Data Management Configuration Guide in the Integration chapter for information on setting up the complete usage adjustment profile functionality. This feature only used for the Oracle Utilities Customer Self Service Rate Compare feature.
Oracle Utilities Meter Data Management System Data Table Configuration
To configure System Data Tables, you need the following:
Business Objects
This section describes unique setup issues specifically related to configuring your system for integration.
Business Object
Description
D1-OngoingSyncRequestContact
D1-OngoingSyncRequestDC
D1-OngoingSyncRequestDevice
D1-OngoingSyncRequestIE
D1-OngoingSyncRequestMC
D1-OngoingSyncRequestSP
D2-OngoingSyncRequestUS
CompositeSyncRequestDC
D2-OngoingSyncRequestDynOpt
D2-OngoingSyncRequestDynOptEvt
These business objects define the behavior of the ongoing sync requests. The schema elements define information required to maintain the master data in Oracle Utilities Meter Data Management.
 
As part of sync request processing, an acknowledgement message is sent to the external system (either positive or negative). The "Outbound Message Type" BO option contains a reference to the outbound message BO to use for this purpose. The base package includes BO D1-OngoingSyncReqAckMsg to be used on the outbound message type configuration.
 
(Note that this option does not need to be configured on the ongoing sync requests for Device Configuration and Measuring Component, but does have to be configured on the Composite Sync Request for Device Configuration.)
 
The error states in the ongoing sync requests contain automatic To Do creation and automatic retry. The parameters relevant to these processes (To Do Retry Frequency and To Do Maximum Retries) are captured as BO status options. If your implementation needs to introduce custom values, add a higher sequenced row for the option you need to modify. The algorithms will automatically use these values.
 
The Create To Do algorithm (D1-TDCREATE) has been delivered to use the base package supplied To Do Type D1-SYNIN for this process. If your implementation needs to use a different To Do Type, you will need to configure your own algorithm and supply the value in its parameters.
 
The monitor process on the initial states of these business objects can be removed by the implementation if immediate processing of sync requests as they are created is desired. For example, in the case where implementations have opted to use the C1-TRN-RELSY algorithm in their online Oracle Utilities Customer Care and Billing bill generation process.
D2-UsageTransaction
This business object defines the behavior of a usage transaction.
To configure your system to create usage transactions based on usage requests from external system using this business object:
Create a service provider that references the usage subscriber’s external system (e.g. Oracle Utilities Customer Care and Billing).
Add a processing method for the service provider created earlier. Use a processing role of Usage Transaction Creation and a business object of How To Create US Related Information. Define business object D2-UsageTransaction as the default processing method.
To configure your system to send usage back to the external system, add the following processing methods (using the same provider created earlier).
Processing Role: Usage Transaction Notification - Online, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message for usage transaction response for an online usage request>
Processing Role: Usage Transaction Notification - Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message for usage transaction response for a batch usage request>
Processing Role: Usage Transaction Error Notification - Online, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message for usage transaction error response for an online usage request>
Processing Role: Usage Transaction Error Notification - Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message for usage transaction error response for a batch usage request>
Processing Role: Usage Transaction Subsequent Correction Notification - Batch, Business Object: How To Send US Related Information, Default Processing Method Outbound Message Type: <outbound message for usage transaction subsequent correction notification>
D1-OngoingSyncReqScalarMtrRead
This business object defines the behavior of the Scalar Meter Read ongoing sync requests. The schema elements define information required to sync a Scalar Meter Read as IMD in Oracle Utilities Meter Data Management.
Notable system data delivered for sync Scalar Meter Read -
- Transform algorithm (D1-FRMTRANDT) transforms the sync request’s register reads into IMD Seeder BO data.
- IMD Creation algorithm (D1-CRESYNIMD) instantiates IMD Seeder BOs.
- Sync Request IMD BO (D1-SyncIMDScalar) transformed from IMD Seeder BO.
- Sync Request IMD Scalar Other Info DA (D1-SyncIMDScalarOtherInfo) is an empty DA, that implementation may extend to capture other Oracle Utilities Customer Care and Billing meter/register read elements and custom elements, in the MDM Sync Request IMD BO.
Similar to Master Data Sync, Scalar Meter Read Sync supports
- Sending acknowledgments
- Automatic to do creation and retry in error states.
The monitor process on the initial states of these BOs may be removed by the implementation if immediate processing of they sync requests is desired as they are created (as in the case where implementations have opted to use the C1-TRN-RELSY algorithm in their online Oracle Utilities Customer Care and Billing bill generation process – the previous section for more information).
D2-InboundBillCycleSyncRequest
This business object defines the schema elements and behavior of an ongoing Bill Cycle sync requests in Oracle Utilities Meter Data Management.
The Construct Bill Cycle and Bill Cycle Schedule algorithm (D2-CONBCSCH) derives the primary key and instantiates the bill cycle and bill cycle schedule into the MDM table.
As part of sync request processing, an acknowledgement message (either positive or negative) is sent to the external system. The "Outbound Message Type" BO option contains a reference to the outbound message BO to use for this purpose. The base package includes BO D1- OngoingSyncReqAckMsg to be used on the outbound message type configuration.
For more information about the sync request process, the business objects, maintenance objects, and other components used for this process, see the “Data Synchronization” section in Oracle Utilities Application Framework User Guide.
BO Algorithms
Oracle Utilities Customer Care and Billing-specific algorithms need to be plugged in on the sync request business objects. A BPA script (D2-AddCCBAlg) is provided to plug-in these algorithms on to the sync BOs. This BPA script should be executed prior to any further customizations done on the sync BOs and this should only be executed once.
To support notification of bill cycle change to Oracle Utilities Customer Care when bill cycle changes resulting from change in SP's measurement cycle, the BO audit algorithm (D2-SPMCCHG) must be plugged-in to service point BO (D1-ServicePoint).
Extendable Lookups
Configure the following extendable lookups in Oracle Utilities Meter Data Management:
D1-DeviceLocationLookup – Configure the corresponding values from the Oracle Utilities Customer Care and Billing Meter Location admin table.
D1-SPInstructionLookup – Configure the corresponding values from the
Oracle Utilities Customer Care and Billing Meter Read Instruction admin table.
D1-SPWarningLookup – Configure the corresponding values from the
Oracle Utilities Customer Care and Billing Meter Read Warning admin table.
D1-OkToEnterLookup – Configure the corresponding values from
Oracle Utilities Customer Care and Billing (values are true or false).
D1-KeyLookup – Configure the corresponding values from
Oracle Utilities Customer Care and Billing (values are true or false).
D2-CCBRateScheduleLookup – Configure the
Oracle Utilities Customer Care and Billing rate schedule and its corresponding Oracle Utilities Meter Data Management usage group.
D2-CCBContractOptionTypeLookup - Configure the Oracle Utilities Customer Care and Billing contract option types and their corresponding Oracle Utilities Meter Data Management dynamic option type.
Read Out Type
Navigate to the Lookup portal under the Admin menu to create as needed. The codes defined here must exactly match values in the DVM indicated.
Guideline
Corresponding DVM
Create Read Out Types for READ_OUT_TYPE_FLG field
OUCCB2_OUMDM2_ReadOutType
Menus
Configure the following context menus to allow navigation from Oracle Utilities Meter Data Management to Oracle Utilities Customer Care and Billing:
Menu
Navigation Option
Description
D1_CONTEXT_SP
d1SPGotoCCB
Allows navigation from the MDM SP context menu to Oracle Utilities Customer Care and Billing Control Central - Account Information
Batch Scheduling
The delivered batch codes need no further setup in Oracle Utilities Meter Data Management. The following batch processes can be run from the Batch Submission page.
The following batch processes are used for Initial Sync requests:
All sync requests for all objects being synchronized are expected to be present in the Pending state. The following section describes the general processing for the initial sync request batches.
Batch Code
Description
D1-CMSYN
This batch process split the composite sync request for device configuration into its constituent MO-based sync requests for device configuration and measuring component.
F1-SYSRQ
This batch process transitions all the sync requests out of the PENDING state.
F1-SAKRQ
This batch process pre-allocates the production key to each record and transitions all the sync requests out of the Transformed/Schema Validated state into the Key Allocated state.
D1-SIKCN
D1-SIKSP,
D1-SIKDV,
D1-SIKDC
These batch processes resolves any foreign keys within the schema as well as executes the validation algorithms on the target BOs. These batch codes are for processing Contact, SP, Device and Device Configuration initial sync requests.
These batch processes can be run in parallel.
D1-SILCN
D1-SILDV
These batch processes loads the records for Contact and Device into the production tables. They are loaded first into the system because the other sync request records are dependent on these records before they can be loaded successfully into the system.
These batch processes can be run in parallel.
D1-SILSP
D1-SILDC
These batch processes loads the records for SP and Device Configuration into the production tables.
These batch processes can be run in parallel.
D1-SIKIE
D1-SIKMC
These batch processes resolves any foreign keys within the schema as well as executes the validation algorithms on the target BOs for Install Event and Measuring Component.
These batch processes can be run in parallel.
D1-SILIE
D1-SILMC
These batch processes loads the records for Install Event and Measuring Component.
These batch processes can be run in parallel.
D1-SIKUS
This batch process resolves any foreign keys within the schema and executes the validation algorithms on the US target BO.
D1-SILUS
This batch process loads the US records into the production tables.
D1-SIIER
This is the batch process to transition sync request out of the ERROR state.
If any synchronization requests exist in the Validation Error state, run D1-SIIER to retry the data transformation/schema validation process (after, of course, the error have been investigated and resolved).
If any synchronization requests exist in the Resolution/BO Validation Error state, run its respective D1-SIK* batch job (see above for the proper suffix to use for each master data record being synchronized).
The following batch process are used for Ongoing Sync requests
Batch Code
Description
D1-SIOPE
This is the generic batch process that is used for different sync processes including to transition ongoing sync requests out of the PENDING state. This process includes parameters that can be used to control which sync request BOs to process.
D1-SIOER
This is the batch process to transition ongoing sync request out of the ERROR state.
Depending on how sync requests are sent from Oracle Utilities Customer Care and Billing, it is possible that interdependent sync requests might be received out of order. If you wish to control the order of processing the ongoing sync requests within, you can either introduce your own batch controls to replace D1-SIOPE (each batch control will have the specific ongoing sync BO defaulted in the input parameter); or you can submit D1-SIOPE several times, each time specifying a different ongoing sync BO in the input parameter. Otherwise, you can let the built-in retry processing within the ongoing sync request life cycle resolve the error by running D1-SIOER.
The above also applies to processing of the meter configuration sync request from Oracle Utilities Customer Care and Billing. Since the latter is split into several sync requests in Oracle Utilities Meter Data Management, it is possible that the MC syncs are processed before the DC sync. Any of the options already mentioned can be used to handle this scenario.
The following batch process is used to purge sync requests
Batch Code
Description
C1-PRGSY
This batch process purges sync requests in a Discarded state. The discarded sync requests to be deleted can be filtered by the sync request BO and the number of days since its creation.
The following batch processes are used for usage transaction processing
Batch Code
Description
D2-UTCD
This is the batch process to transition usage transactions out of the Calculation Deferred state. Usage transactions created as a result of batch billing initiated usage requests stop on the Calculation Deferred state. Run this batch process to proceed with the calculation.
D2-UTID
This is the batch process to transition usage transactions out of the Issue Detected state. Usage transactions that encounter issues during calculation stop on the Issue Detected state. Run this batch process to retry calculation.
Oracle Utilities Meter Data Management Inbound Message Configuration
This section describes the configuration needed for Oracle Utilities Meter Data Management to receive messages from the integration layer by consuming them from the queues:
Note: This Inbound Message Configuration is NOT needed if implementation uses the Integration JMS Wrapper processes to receive messages coming from the integration processes. Skip this section and proceed to the Oracle Utilities Meter Data Management Outbound Message Configuration section.
For first-time installation, skip this configuration. For an existing implementation that has already done this setup but want to switch and use the Integration JMS Wrapper processes instead, the JMS configuration can be left as is since these configuration will not be used but the MDB Configuration files must be removed to avoid having issues with message consumption from the queue.
WebLogic Server JMS Configuration
To configure JMS in the Oracle Utilities Meter Data Management WebLogic server log in to the console using the URL http://<server_name>:<port_number>/console.
Example: http://mdmserver:7001/console
Note that the WebLogic Server JMS Configuration is NOT needed if the SOA JMS Wrapper services are installed.
JMS Module
Create a new JMS module in the WebLogic console used for remote queue configuration.
1. Open the WebLogic console and create a new JMS module.
2. Enter a meaningful name for the JMS module. This JMS module is used to create configurations which consume messages from remote WebLogic queues.
Example: MDMInegrationModule
Foreign Server
Create a new Foreign server under the JMS module in the WebLogic console used for remote queue configuration.
1. Open the WebLogic console and select the JMS module created for integration.
2. Create a Foreign server under the JMS module.
3. Add the following:
Name – Name of the Foreign server.
Example: MDMCCBForeignServer
JNDI Initial Context Factoryweblogic.jndi.WLInitialContextFactory
JNDI Connection URL – Add the URL of Integration SOA server.
Example: t3://soaserver.com:8002
JNDI Properties Credential – Password for the SOA server user.
JNDI Properties - java.naming.security.principal=<SOA Server user>.
Example: weblogic
4. Under the Foreign server, create a Foreign destination for each remote queue.
Name – Name of foreign destination.
Local JNDI Name – Add a local JNDI name for the Integration queue. Local JNDI name is later added manually as part of configuration in the WebLogic-ejb-jar.xml > <weblogic-enterprise-bean> > <message-driven-descriptor> > <destination-jndi-name>.
Remote JNDI Name – JNDI name of the queue on the Integration SOA server. For each integration point, one destination is created.
5. Under the Foreign server, create a Remote Connection Factory.
Name – Name of remote connection factory.
Local JNDI Name – Add a local JNDI name for the Integration Connection Factory. This JNDI name is added manually later as part of configuration in the WebLogic-ejb-jar.xml > <weblogic-enterprise-bean> > <message-driven-descriptor> > <connection-factory-jndi-name>.
Remote JNDI Name – JNDI name of the JMS Connection Factory on the Integration SOA server.
Example WebLogic Server JMS Configuration Setup
Person Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
PersonSyncRequest
jms/LocalOUMDM2
PersonSyncRequest
jms/OUMDM2
PersonSyncRequest
SP Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
SPSyncRequest
jms/LocalOUMDM2
SPSyncRequest
jms/OUMDM2
SPSyncRequest
SA Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
SASyncRequest
jms/LocalOUMDM2
SASyncRequest
jms/OUMDM2
SASyncRequest
SA Relationship Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2SA
RelationshipSyncRequest
jms/LocalOUMDM2
SARelationshipSyncRequest
jms/OUMDM2SARelationship
SyncRequest
Meter Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
MeterSyncRequest
jms/LocalOUMDM2
MeterSyncRequest
jms/OUMDM2
MeterSyncRequest
Meter Configuration Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
MeterConfigSyncRequest
jms/LocalOUMDM2
MeterConfigSyncRequest
jms/OUMDM2
MeterConfigSyncRequest
SP-Meter History Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
SPMeterHistSyncRequest
jms/LocalOUMDM2
SPMeterHistSyncRequest
jms/OUMDM2
SPMeterHistSyncRequest
Batch BD Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
BatchBDRequest
jms/LocalOUMDM2
BatchBDRequest
jms/OUMDM2
BatchBDRequest
Online BD Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
OnlineBDRequest
jms/LocalOUMDM2
OnlineBDRequest
jms/OUMDM2
OnlineBDRequest
Meter Read Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
MeterReadSyncRequest
jms/LocalOUMDM2
MeterReadSyncRequest
jms/OUMDM2
MeterReadSyncRequest
Remote Connection Factory
Connection Factory Name
Local JNDI Name
Remote JNDI Name
OUCCB2OUMDM2
ConnectionFactory
jms/LocalOUCCB2OUMDM2
ConnectionFactory
jms/OUCCB2OUMDM2
ConnectionFactory
Dynamic Options Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
DynamicOptSyncRequest
jms/LocalOUMDM2
DynamicOptSyncRequest
jms/OUMDM2
DynamicOptSyncRequest
Dynamic Option Events Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2
DynamicOptEvtSyncRequest
jms/LocalOUMDM2
DynamicOptEvtSync
Request
jms/OUMDM2
DynamicOptEvtSync
Request
Bill Cycle Synchronization Integration Process
Destination Name
Local JNDI Name
Remote JNDI Name
OUMDM2InboundBillCycleSyncRequest
jms/ LocalOUMDM2BillCycleSync Request
jms/OUMDM2Bill CycleSyncRequest
Configuration File Changes for MDBs
Note that the MDB Configuration is NOT needed if implementation will use the Integration JMS Wrapper processes to receive messages coming from the integration processes.
Configure Message Driven Beans (MDB)
It is recommended that you use the Oracle Utilities Meter Data Management template and CM (Customer Modification) feature to make changes to these configuration files. This ensures that your modifications cannot be overwritten by future application patches.
Modify files: ejb-jar.xml and ejb-weblogic-jar.xml
Location: Oracle Utilities Meter Data Management Enterprise Archive (EAR) file. Observe the following points while making configuration file changes:
The Oracle Utilities Meter Data Management configuration files, ejb-jar.xml and ejb-weblogic-jar.xml, must be modified to configure Message Driven Beans (MDB). MDBs which receive messages from the integration queues. These files are part of the Oracle Utilities Meter Data Management Enterprise Archive (EAR) file.
The Oracle Meter Data Management application needs to be redeployed after these changes are made.
Managing Configuration Files: Configuration files such as config.xml, ejb-jar.xml and ejb-weblogic-jar.xml are managed through template configuration files which reside in the environment's templates directory. When the initialSetup.sh script is executed, environment specific information is combined with the template to create the target file which is then deployed to the correct location. When the environment is started up (spl.sh start) the changes are automatically deployed to WebLogic.
Extending existing templates: It is possiable to extend existing templates with the use of Include template file(s) in the same location as the existing template. Using #ouaf_user_exit within the target template that is extended, additional configuration from the included template is processed and appended to the target template where the #ouaf_user_exit is present.
Enabling changes for the integration: To enable your changes for integration with Oracle Utilities Meter Data Management it is recommended that you first make a "CM" copy of the existing template and make your changes to the CM version. If there are any problems with starting the application it is a simple process to delete the CM versions of the files and rerun initialSetup to regenerate and redeploy the original versions.
If you make CM versions of the template files and later install a patch which updates the base template, the CM version will not be updated.
Create an MDB to Receive Messages
Use these steps to create an MDB from the Oracle Utilities Meter Data Management inbound queue:
1. Create a new MDB to receive messages from each integration inbound queue.
For simplicity, we refer to the names of the target configuration files in the following examples. However, you should make your changes in the "templates/cm_<target file>"(for Oracle Utilities Meter Data Management) and “MDM-CCB/templates/cm_<target file>” (for Oracle Utilities Meter Data Management, include a version of the file and then execute initalSetup.sh (Unix) or initalSetup.cmd (Windows) to deploy the generated file.
2. Create an MDB for each Oracle Utilities Meter Data Management inbound queue to receive messages and invoke the Oracle Utilities Meter Data Management service.
3. Create or modify the following files to configure the MDBs:
cm_ejb-jar.xml.wls.jms_1.include
cm_ejb-jar.xml.wls.jms_2.include
cm_weblogic-ejb-jar.xml.jms.include
cm_config.xml.jms.include or cm_config.xml.win.jms.include (for Windows systems only)
a. Add the <message-driven> and <container-transaction> tag for each inbound queue in the ejb-jar.xml. Also, add a security role with role cisusers in the ejb-jar.xml files.
Example: cm_ejb-jar.xml.wls.jms_1.include
<!--Batch BD Integration Point -->
<message-driven>
<description>MDB for OUMDM2BatchBDRequest</description>
<display-name>OUMDM2BatchBDRequest</display-name>
<ejb-name>OUMDM2BatchBDRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!—Meter Config Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2MeterConfigSyncRequest</description>
<display-name>OUMDM2MeterConfigSyncRequest</display-name>
<ejb-name>OUMDM2MeterConfigSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!—Meter Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2MeterSyncRequest</description>
<display-name>OUMDM2MeterSyncRequest</display-name>
<ejb-name>OUMDM2MeterSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!--Online BD Integration Point -->
<message-driven>
<description>MDB for OUMDM2OnlineBDRequest</description>
<display-name>OUMDM2OnlineBDRequest</display-name>
<ejb-name>OUMDM2OnlineBDRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!—Person Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2PersonSyncRequest</description>
<display-name>OUMDM2PersonSyncRequest</display-name>
<ejb-name>OUMDM2PersonSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!—SA Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2SASyncRequest</description>
<display-name>OUMDM2SASyncRequest</display-name>
<ejb-name>OUMDM2SASyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!-SA Relationship Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2SARelationshipSyncRequest</description> <display-name>OUMDM2SARelationshipSyncRequest</display-name> <ejb-name>OUMDM2SARelationshipSyncRequest</ejb-name> <ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class> <messaging-type>javax.jms.MessageListener</messaging-type> <transaction-type>Bean</transaction-type> <message-destination-type>javax.jms.Queue</message-destination-
type>
</message-driven>
<!—SP-Meter History Integration Point -->
<message-driven>
<description>MDB for OUMDM2SPMeterHistSyncRequest</description>
<display-name>OUMDM2SPMeterHistSyncRequest</display-name>
<ejb-name>OUMDM2SPMeterHistSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!-- SP Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2SPSyncRequest</description>
<display-name>OUMDM2SPSyncRequest</display-name>
<ejb-name>OUMDM2SPSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!—Meter Read Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2MeterReadSyncRequest</description>
<display-name>OUMDM2MeterReadSyncRequest</display-name>
<ejb-name>OUMDM2MeterReadSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!-Dynamic Option Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2DynamicOptSyncRequest</description>
<display-name>OUMDM2DynamicOptSyncRequest</display-name>
<ejb-name>OUMDM2DynamicOptSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!-Dynamic Option Event Sync Integration Point -->
<message-driven>
<description>MDB for OUMDM2DynamicOptEvtSyncRequest</description>
<display-name>OUMDM2DynamicOptEvtSyncRequest</display-name>
<ejb-name>OUMDM2DynamicOptEvtSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
<!-Bill Cycle Sync Request Integration Point -->
<message-driven>
<description>MDB for OUMDM2InboundBillCycleSyncRequest</description>
<display-name>OUMDM2BillCycleSyncRequest</display-name>
<ejb-name>OUMDM2BillCycleSyncRequest</ejb-name>
<ejb-class>com.splwg.ejb.mdb.MessageProcessor</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
 
Example: cm_ejb-jar.xml.wls. jms_2.include
<security-role>
<role-name>cisusers</role-name>
</security-role>
<!--Batch BD Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2BatchBDRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!—Meter Config Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2MeterConfigSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!—Meter Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2MeterSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!--Online BD Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2OnlineBDRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!--Person Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2PersonSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!—SA Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2SASyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!-SA Relationship Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2SARelationshipSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!—SP-Meter History Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2SPMeterHistSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!-- SP Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2SPSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!—Meter Read Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2MeterReadSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!-Dynamic Option Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2DynamicOptSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!-Dynamic Option Event Sync Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2DynamicOptEvtSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<!-Inbound Bill Cycle Sync Request Integration Point -->
<container-transaction>
<method>
<ejb-name>OUMDM2BillCycleSyncRequest</ejb-name>
<method-name>onMessage</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
 
b. Modify the cm_weblogic-ejb-jar.xml.jms.include file. Add the <weblogic-enterprise-bean> tag for each inbound queue.
The references in <weblogic-enterprise-bean> tag include:
<ejb-name> - MDB name given in ejb-jar.xml.
<destination-jndi-name> - JNDI name provided in JMS module > Foreign server > Foreign destination Local JNDI name.
<connection-factory-jndi-name> - JNDI name provided in JMS module > Foreign server > Remote Connection Factory > Local JNDI name.
Example: cm_weblogic-ejb-jar.xml.jms.include
<!--Batch BD Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2BatchBDRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2BatchBDRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!--Meter Config Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2MeterConfigSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2MeterConfigSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!—Meter Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2MeterSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2MeterSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!--Online BD Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2OnlineBDRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2OnlineBDRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!—Person Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2PersonSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2PersonSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!—SA Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2SASyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2SASyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!-SA Relationship Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2SARelationshipSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2SARelationshipSyncRequest</
destination-jndi-name>
<connection-factory-jndi-name>jms/
LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name> </message-driven-descriptor>
</weblogic-enterprise-bean>
<!—SP-Meter History Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2SPMeterHistSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2SPMeterHistSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!-- SP Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2SPSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2SPSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!—Meter Read Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2MeterReadSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2MeterReadSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!—Dynamic Option Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2DynamicOptSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2DynamicOptSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!-Dynamic Option Event Sync Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2DynamicOptEvtSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2DynamicOptEvtSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<!-Bill Cycle Sync Request Integration Point -->
<weblogic-enterprise-bean>
<ejb-name>OUMDM2BillCycleSyncRequest</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>5</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/LocalOUMDM2InboundBillCycleSyncRequest</destination-jndi-name>
<connection-factory-jndi-name>jms/LocalOUCCB2OUMDM2ConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
 
c. Example: cm_config.xml.jms.include / cm_config.xml.win.jms.include
<jms-system-resource>
<name>CCB2IntegrationExampleModule</name>
<target>myserver</target>
<sub-deployment>
<name>CCB2IntegrationExample</name>
<target>myserver</target>
</sub-deployment>
<descriptor-file-name>jms/Module-for-CCB-integration-example-1-jms.xml</descriptor-file-name>
</jms-system-resource>
Oracle Utilities Meter Data Management Outbound Message Configuration
This section describes the following configuration needed for Oracle Utilities Meter Data Management to send messages out to the integration layer.
Note: The following Outbound Message Configurations: JNDI Server, JMS Queue and JMS Connection setup are NOT needed when using the Integration JMS Wrapper processes to send messages to the integration. Proceed to Message Sender, Outbound Message Type and External System configuration.
For new installation and existing implementations that want to use the JMS Wrapper Services instead of the queues, follow the instructions above. Existing implementations that has already done the outbound message configuration to send messages to queues can just leave the old setup as is. These configuration will just be ignored and not used.
JNDI Server
Create a new JNDI server which points to the Integration SOA server to communicate with the integration layer.
1. Navigate to the JNDI portal under the Admin menu.
2. Enter the JNDI server name.
Example: CCB_JNDI
3. Enter the JNDI server description.
Example: MDM-CCB Integration server.
4. Enter the Provider URL in the format:
t3//<SOA Server>: <SOA_ManagedServer_Port>
Example: t3://soaserver.us.oracle.com:8002
5. Enter the Initial Context Factory details.
Example: weblogic.jndi.WLInitialContextFactor
JMS Queue
Create a new JMS Queue for each integration queue where Oracle Utilities Meter Data Management sends messages.
1. Navigate to the JMS Queue portal under the Admin menu.
2. Enter the following:
JMS Queue – Queue name in Oracle Utilities Meter Data Management.
Description – Queue description
Queue Name – JNDI name of the queue on the Integration server.
Example: jms/OUMDM2SPSyncResponse
Target Client FlagJMS
JNDI Server – Select the JNDI server created for integration.
Note: Only define the queues that Oracle Utilities Meter Data Management will be publishing or writing messages to.
Example JMS Queue Setup
Contact Synchronization Integration Process
JMS
Queue
Description
Queue Name
Target Client
JNDI Server
ConSyncRes
Contact Sync
Response
jms/OUMDM2
PersonSyncResponse
JMS
CCB_JNDI
Device Configuration Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI
Server
DCSyncRes
Device Configuration
Sync Response
jms/OUMDM2
MeterConfigSyncResponse
JMS
CCB_JNDI
Device Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI
Server
DevSyncRes
Device
Sync Response
jms/OUMDM2
MeterSyncResponse
JMS
CCB_JNDI
Install Event Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI
Server
IESyncRes
Install Event
Sync Response
jms/OUMDM2S
PMeterHistSyncResponse
JMS
CCB_JNDI
SP Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
SPSyncRes
Service Point
Sync Response
jms/OUMDM2
SPSyncResponse
JMS
CCB_JNDI
Usage Subscription Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
USSyncRes
Usage Subscription Sync Response
jms/OUMDM2
SASyncResponse
JMS
CCB_JNDI
Usage Subscription Relationship Synchronization Integration Process
JMS
Queue
Description
Queue Name
Target
Client
JNDI Server
USRelSync Res
Usage Subscription
Relationship Sync Response
jms/OUMDM2SARelationship SyncResponse
JMS
CCB_JNDI
Dynamic Option Synchronization Integration Process
JMS
Queue
Description
Queue Name
Target
Client
JNDI Server
DynOptSyncRes
Dynamic Option
Sync Response
jms/OUMDM2
DynamicOptSyncResponse
JMS
CCB_JNDI
Dynamic Option Event Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
DynOpESyncRes
Dynamic Option Event
Sync Response
jms/OUMDM2
DynamicOptEvtSyncResponse
JMS
CCB_JNDI
Batch BD Response Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
BatchBDRes
Batch Bill
Determinant Response
jms/OUMDM2
BatchBDResponse
JMS
CCB_JNDI
Online BD Response Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
OnlineBDRes
Online Bill
Determinant Response
jms/OUMDM2
OnlineBDResponse
JMS
CCB_JNDI
Replacement Read/Subsequent Correction Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI Server
ReplReadReq
Replacement
Read Request
jms/OUMDM2
ReplReadRequest
JMS
CCB_JNDI
Meter Read Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI
Server
MtrRdSyncRes
Initial Measurement
Data Sync Response
jms/OUMDM2
MeterReadSyncResponse
JMS
CCB_JNDI
Bill Cycle Synchronization Integration Process
JMS Queue
Description
Queue Name
Target
Client
JNDI
Server
BillCycSyncRes
Bill Cycle Sync
Response
jms/OUMDM2
BillCycleSyncResponse
JMS
CCB_JNDI
JMS Connection
Create a new JMS Connection used to connect to the integration queues.
1. Navigate to the JMS Connection portal under the Admin menu.
2. Enter the following:
JMS Connection – Connection name in Oracle Utilities Meter Data Management.
Description – Connection description
JNDI Server – Select the JNDI server created for this integration (as described in the JNDI Server section).
JNDI ConnectionFactory JNDI name of the connection factory on the integration server.
Example JMS Connection Setup
JMS
Connection
Description
JNDI Server
JNDI Connection
Factory
CCB2_CF
MDM CCB
Integration Connection
CCB_JNDI
jms/OUCCB2OUMDM2
ConnectionFactory
Message Sender
This section focuses on the message sender.
Message Sender to Invoke Integration Asynchronous Processes
If Oracle Utilities Meter Data Management is writing to the integration queues, create a Message Sender for each outbound queue. Refer to the Message Sender for Each Outbound Queue setup below.
Note that Message Sender for Each JMS Wrapper Service Configuration is not needed.
If Oracle Utilities Meter Data Management is calling the integration JMS Wrapper services, create a Message Sender for each JMS Wrapper service. Refer to the Message Sender for Each Integration JMS Wrapper Service setup below.
Note that when the Integration JMS Wrapper Services are used, the Message Sender for each outbound queue Configuration is not needed.
Message Sender for Each Outbound Queue
Create a new real time Message Sender (to communicate with the integration layer) for each Oracle Utilities Meter Data Management outbound integration queue.
1. Navigate to the Message Sender portal under the Admin menu.
2. Enter a unique Message Sender and its description.
3. Populate the following values:
Message Sender – Sender name in Oracle Utilities Meter Data Management.
Description – Sender description
Invocation Type – Real-time
Message Class – RTJMSQSNDR (Realtime JMS Queue Sender)
Active - Select the checkbox.
MSG Encoding UTF-8 message encoding
JMS Connection – JMS Connection created for integration.
JMS Queue – JMS Queue created for the Oracle Meter Data Management outbound queue.
4. Select the Context tab and set values for the following context types:
JMS Message Type (Bytes(Y)/Text(N)) – N
JMS User Name – User for the SOA server to be accessed.
JMS User Password – Password for the SOA server to be accessed.
Message Sender for Each Integration JMS Wrapper Service
Create a real time Message Sender configured to communicate with the integration JMS wrapper service.
1. Navigate to the Message Sender portal under the Admin menu.
2. Enter a unique Message Sender and its description.
3. Populate the following values:
Message Sender – Sender name in Oracle Utilities Customer Care and Billing.
Description – Sender description
Invocation Type – Real-time
Message ClassSOAPSNDR (SOAP Sender)
Active - Select the checkbox.
MSG Encoding UTF-8 message encoding
4. Select the Context tab and set values for the following context types:
HTTP Header - SOAPAction:"process"
HTTP Login User - User ID to access Integration BPEL process
HTTP Password - Password to access Integration BPEL process
HTTP Method (POST/GET) - POST
HTTP Timeout - 60
HTTP Transport Method - SendReceive
HTTP URL 1 - Set the URL to be accessed. If the URL value does not fit, use the additional HTTP URL types to set the complete URL.
Example Message Sender For Outbound Queue Setup
Contact Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-CSACK
Contact Sync
Response Sender to CCB
CCB2_CF
ConSyncRes
Device Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-DVCSACK
Device Sync Response Sender to CCB
CCB2_CF
DevSyncRes
Device Configuration Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-DCSACK
Device Configuration
Sync Response Sender to CCB
CCB2_CF
DCSyncRes
Install Event Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-IESACK
Install Event Sync
Response Sender to CCB
CCB2_CF
IESyncRes
Service Point Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-SPSACK
Service Point
Sync Response Sender to CCB
CCB2_CF
SPSyncRes
 
Usage Subscription Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-USSACK
Usage Subscription
Sync Response Sender to CCB
CCB2_CF
USSyncRes
 
Usage Subscription Relationship Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-USRACK
Usage Subscription Relationship
Sync Response Sender to CCB
CCB2_CF
USRelSyncRes
Dynamic Option Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-DYOACK
Dynamic Option
Sync Response Sender to CCB
CCB2_CF
DyOptSyncRes
 
Dynamic Option Event Synchronization Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-DOEACK
Dynamic Option Event
Sync Response Sender to CCB
CCB2_CF
DyOpESyncRes
 
BD Response (Batch BD Request) Integration Process
Message Sender
Description
JMS Connection
JMS Queue
DM-BBD
Bill Determinants for Batch
Request JMS Queue Sender to CCB
CCB2_CF
 BatchBDRes
 
BD Response (Online BD Request) Integration Process
Message Sender
Description
JMS ConnectionJMS Queue
JMS Queue
DM-OBD
Bill Determinants for Online
Request JMS Queue Sender to CCB
CCB2_CF
OnlineBDRes
 
 
 
Replacement Reads/Subsequent Correction Integration Process
Message Sender
Description
JMS
Connection
JMS Queue
DM-SC
Bill Determinants Subsequent
Correction Notification JMS
Queue Sender to CCB
CCB2_CF
ReplReadReq
 
Meter Read Synchronization Integration Process
Message Sender
Description
JMS
Connection
JMS Queue
DM-MRSACK
Meter Read Sync Response
Sender to CCB
CCB2_CF
MtrRdSyncRes
 
Bill Cycle Synchronization Integration Process
JMS Queue
Description
JMS
Connection
JMS Queue
DM-BCACK
Bill Cycle Sync Response Sender to CCB
CCB2_CF
BillCycSyncRes
Example Message Sender Setup For Integration JMS Wrapper Services
Contact Sync Response JMS Write Service
Message Sender
Description
HTTP URL
ConSynRspJW
Contact Sync Response
JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/ CCB2-MDM2/OUMDM2OUCCB2PersonSyncRespJMSWriteSvc/
OUMDM2OUCCB2PersonSync
RespJMSWriteSvc_client_ep
Service Point (SP) Sync Response JMS Write Service
Message Sender
Description
HTTP URL
SPSynRspJW
SP Sync Response
JMS Write Wrapper Service
http://intenv:8001/soa-infra/ services/CCB2-MDM2/OUMDM2OUCCB2SPSyncResp JMSWriteSvc/
OUMDM2OUCCB2SPSyncRespJMSWriteSvc_client_ep
Usage Subscription (US) Sync Response JMS Write Service
Message Sender
Description
HTTP URL
USSynRspJW
US Sync Response JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/OUMDM2OUCCB2SASyncResp JMSWriteSvc/OUMDM2OUCCB2SASyncResp
JMSWriteSvc_client_ep
Usage Subscription (US) Relationship Sync Response JMS Write Service
Message Sender
Description
HTTP URL
USRelSynRspJW
US Relationship Sync Response JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/OUMDM2OUCCB2SA
RelationshipSyncRespJMSWriteSvc/
OUMDM2OUCCB2SARelationshipSyncRespJMSWriteSvc_client_ep
Device Sync Response JMS Write Service
Message Sender
Description
HTTP URL
DvcSynRspJW
Device Sync Response
JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/OUMDM2OUCCB2Meter
SyncR espJMSWriteSvc/
OUMDM2OUCCB2MeterSyncRespJMSWriteSvc_client_ep
Device Configuration Sync Response JMS Write Service
Message Sender
Description
HTTP URL
DvCfSynRspJW
Device Config Sync Response
JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/ services/
CCB2-MDM2/OUMDM2OUCCB2Meter
ConfigSyncRespJMSWriteSvc/
OUMDM2OUCCB2MeterConfigSyncRespJMSWriteSvc_client_
ep
Install Event Sync Response JMS Write Service
Message Sender
Description
HTTP URL
IESynRspJW
Install Event Sync Response JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2SPMeterHistSyncRespJMSWriteSvc/OUMDM2OUCCB2SPMeterHistSyncRespJMSWriteSvc_client_
ep
Batch BD Response JMS Write Service
Message Sender
Description
HTTP URL
BatchBDRspJW
BatchBDResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2BatchBDRespJMSWriteSvc/OUMDM2OUCCB2BatchBDRespJMSWriteSvc_client_ep
Online BD Response JMS Write Service
Message Sender
Description
HTTP URL
OnlineBDRspJW
OnlineBDResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2OnlineBDRespJMSWriteSvc/OUMDM2OUCCB2OnlineBDRespJMSWriteSvc_client_ep
Meter Read Sync Response JMS Write Service
Message Sender
Description
HTTP URL
MRSynRspJW
MeterReadSyncResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/OUMDM2OUCCB2MeterReadSyncRespJMSWriteSvc/OUMDM2OUCCB2MeterReadSyncRespJMSWriteSvc_client_ep
Replacement Read Request JMS Write Service
Message Sender
Description
HTTP URL
RRSynReqJW
ReplacementreadRequest JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2ReplReadReqJMSWriteSvc/OUMDM2OUCCB2ReplReadReqJMSWriteSvc_client_ep
Dynamic Option Sync Response JMS Write Service
Message Sender
Description
HTTP URL
DOPTSynRspJW
DynamicOption SyncResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2DynamicOptSyncRespJMSWriteSvc/OUMDM2OUCCB2DynamicOptSyncRespJMSWriteSvc_client_ep
Dynamic Option Event Sync Response JMS Write Service
Message Sender
Description
HTTP URL
DOEvSynRspJW
DynamicOptionEventSyncResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/OUMDM2OUCCB2DynamicOptEvtSyncRespJMSWriteSvc/OUMDM2OUCCB2DynamicOptEvtSyncRespJMSWriteSvc_client_ep
Bill Cycle Sync Response JMS Write Service
Message Sender
Description
HTTP URL
BCSynRspJW
BillCycleSyncResponse JMS Write Wrapper Service
http://soa_host:soa_managerServer_Port/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCB2BillCycleSyncRespJMSWriteSvc/OUMDM2OUCCB2BillCycleSyncRespJMSWriteSvc_client_ep
Note: The endpoint URL for the integration services can be obtained from the SOA EnterpriseManager. From the SOA folder, navigate to Navigator > soa-infra > CCB2-MDM2 partition and select the composite application. At the top of the page, click the Test tab. The composite application's endpoint URL is shown there..
Message Sender to Invoke Integration Synchronous Services
Create a new Message Sender for each Integration Service being called.
1. Navigate to the Message Sender portal under the Admin menu.
2. Enter a unique Message Sender and its description.
3. Populate the following values:
Message Sender – Sender name in Oracle Utilities Customer Care and Billing.
Example: BCCHGNOTIF
Description – Sender description
Invocation Type – Real-time
Message Class – RTHTTPSNDR (Real Time Sender to route messages via HTTP)
Active - Select the checkbox.
MSG Encoding UTF-8 message encoding
4. Select the Context tab and set values for the following context types:
HTTP Header - SOAPAction:"process"
HTTP Login User - User ID to access Integration BPEL process
HTTP Password - Password to access Integration BPEL process
HTTP Method (POST/GET) - POST
HTTP Timeout - 60
HTTP Transport Method - SendReceive
HTTP URL 1 - Set the URL to be accessed. If the URL value does not fit, use the additional HTTP URL types to set the complete URL.
Example Message Sender Setup For Integration Synchronous Service
Bill Cycle Change Notification Process
Message Sender
Description
HTTP URL
BCChgNotif
BillCycle Change Notification Sender
http://intenv:8001/soa-infra/services/CCB2-MDM2/ OUMDM2OUCCBBillCycleChangeNotif EBF/BillCycleChangeNotificationService
Outbound Message Type
Create an Outbound Message Type for each Oracle Utilities Meter Data Management outbound message to send out.
1. Navigate to the Outbound Message Type portal under the Admin menu.
2. Enter an outbound message type, its description, and then the detailed description.
3. Select the Outbound Message business object created for the specific outbound queue.
 
Example Outbound Message Type Setup
Contact Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBCSACK
CCB Contact Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
Device Configuration Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBDCSACK
CCB Device Configuration
Sync Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
Device Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBDSACK
CCB Device Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
Install Event Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBIESACK
CCB Install Event Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
SP Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBSPSACK
CCB SP Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
US Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBUSSACK
CCB US Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
US Relationship Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBUSRACK
CCB US Relationship Sync Acknowledgment Message
D1-OngoingSyncReqAckMsg
Dynamic Option Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBDYOACK
Dynamic Option
Sync Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
Dynamic Option Event Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBDOEACK
Dynamic Option
Event Sync Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
Bill CycleSynchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBBCACK
Bill Cycle Sync
Acknowledgement
Message
D1-OngoingSyncReqAckMsg
 
 
Batch BD Response Integration Process
Outbound Message
Type
Description
Business Object
DM-CCB-BBD
Usage Transaction Response
for a Batch Usage Request
D2-UsageTranOutboundMesg
 
Online BD Response Integration Process
Outbound Message
Type
Description
Business Object
DM-CCB-OBD
Usage Transaction Response
for an Online Usage Request
D2-UsageTranOutboundMesg
 
Replacement Read/Subsequent Correction Notification Integration Process
Outbound Message Type
Description
Business Object
DM-CCB-SC
Usage Transaction Subsequent Correction Notification
D2-UsgTranSubCorrectOutbound
 
Meter Read Synchronization Integration Process
Outbound Message
Type
Description
Business Object
DM-CCBMRSACK
CCB Meter Read Sync
Acknowledgement Message
D1-OngoingSyncReqAckMsg
 
 
Bill Cycle Change Notification Integration Process
Outbound Message Type
Description
Business Object
DM-MCBCCHG
SP Bill Cycle Change Notification Message
D2-SPMsrmtCycleChangeOutMsg
 
 
 
External System
Create a new external system for the integration.
1. Navigate to the External System portal under the Admin menu.
2. Enter a unique name for the external system and its description.
Example:
Name = CI_CCB
Description = Oracle Utilities Customer Care and Billing
3. Set the Our Name in Their System field to Meter Data Management.
4. Associate the outbound message types created to the external system. For each outbound message type, set the following:
Outbound Message Type – Set the outbound message type created for Oracle Utilities Meter Data Management outbound queue.
Processing Method – Real-time
Message Sender – Set the Message Sender created for the queue.
Message XSL
When sending to queues - Use D1-MDMJMSQAddNamespace.xsl
When invoking webservices - Use CDxAddEnvelope-SOAP1-2.xsl
Note: When sending outbound messages through web services, Message XSL need to be populated when the Message Sender used for this outbound message type has a Message Class of RTHTTPSNDR (Real Time Sender to route messages via HTTP. Message Senders with Message Class of SOAPSNDR (Sender for real-time HTTP/SOAP messages do not need to populate the Message XSL to add the SOAP envelope.
If Oracle Utilities Meter Data Management sends JMS messages to the integration queues, use the message senders created for each outbound queue. See Message Sender for Each Outbound Queue for more information.
If Oracle Utilities Meter Data Management sends JMS messages to the integration JMS Wrapper service, use the message senders create for each JMS Wrapper service. See Sample Message Sender for Each JMS Wrapper Service for more details.
Example: External System – Oracle Utilities Customer Care and Billing
Outbound Message Type
Processing Method
Message Sender
Message XSL
DM-CCBCSACK
Real-time
DM-CCBCSACK or ConSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBDCSACK
Real-time
DM-CCBDCSACK or DvCfSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBDSACK
Real-time
DM-CCBDSACK or DvcSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBIESACK
Real-time
DM-CCBIESACK or IESynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBSPSACK
Real-time
DM-CCBSPSACK or SPSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBUSSACK
Real-time
DM-CCBUSSACK or USSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBUSRACK
Real-time
DM-CCBUSRACK or USRelSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBDYOACK
Real-time
DM-CCBDYOACK or DOPTSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBDOEACK
Real-time
DM-CCBDOEACK or DOEvSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBBCACK
Real-time
DM-CCBBCACK or BCSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCB-BBD
Real-time
DM-CCB-BBD or BatchBDRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCB-OBD
Real-time
DM-CCB-OBD or OnlineBDRspJW
D1-MDMJMSQAddNamespace.xsl
DM-CCB-SC
Real-time
DM-CCB-SC or RRSynReqJW
D1-MDMJMSQAddNamespace.xsl
DM-CCBMRSACK
Real-time
DM-CCBMRSACK or MRSynRspJW
D1-MDMJMSQAddNamespace.xsl
DM-SPBCCHG
Real-time
DM-BCCHGNTF
CDxAddEnvelope-SOAP1-2.xsl
For more information about configuration guidelines, refer to the Oracle Utilities Meter Data Management user documentation.