SAP Energy Data Management (SAP EDM) is an application component (IS-U-EDM
) within SAP Utilities for Industry Solutions to manage energy data of a utility company. Based on this data, a utility company can retrieve real-time interval consumption and also decide on pricing and settlements in real time.
SAP Multichannel Foundation for Utilities and Public Sector provides a set of OData entities to help you retrieve the consumption data from the interval registers from SAP EDM Profile Values.
There are two models to get SAP EDM profile values: simplified model and complete model.
With the simplified model, the profile values can be directly accessed by contract, device or register.
Get EDM Profile Values by Device and Register or Contract
When you use OData service navigation from the Contract
entity to the ProfileValues
entity, the SAP EDM profile values are retrieved for all existing profiles of all devices within the contract with all the interval registers of those devices. It is recommended to use filters to reduce the volume of data for profile values.
Example
https://(___servicepath___)/ERP_UTILITIES_UMC/Contracts(‘9000002344’)/ ProfileValues ?$filter=Timestamp ge datetime'2014-03-01T00:00:00' and Timestamp le datetime'2015-01-31T00:00:00' and OutputInterval eq 'MON'
This allows you to get EDM profile values by device and register by using Profile Header. With this approach, the profile values are accessed by the profile headers. Therefore, you are able to apply more complex logic with the profile headers in their applications.
Get EDM Profile Values by Device and Register
Note
Amounts provided by OData entities may differ from the amounts calculated by IS-U billing.
ProfileValue
on SAP ERP returns the EDM profile values with the following fields:
ProfileHeaderID
: Profile ID (Key, Filterable*)
Timestamp
: Interval Time Stamp (Key, Filterable*)
OutputInterval
: Output Interval. (Key, Filterable*) Supported values are:
Initial
: Original Interval
60
: Hourly (Aggregated value If the original interval < 60 minutes)
DAY
: Daily (Aggregated value if the original interval < 1 day)
MON
: Monthly (Aggregated value If the original interval < 1 month
ContractID
: Contract ID (Filterable*)
DeviceID
: Meter Device ID (Equipment ID) (Filterable*)
RegisterID
: Meter Register ID (Filterable*)
ProfileTypeID
: Profile Type ID (Filterable*). Standard EDM Profile types are supported.
ProfileValueTypeID
: Profile Value Type ID.
Supported values are:
H
: Actual
F
: Projected
C
: Calculated
M
: Missing
E
: Error
O
: Others
UnitOfMeasure
: Unit for the profile value (Filterable*)
Currency
: Currency for the profile value (Filterable*)
TimeZone
: Time zone (UTC by default)
Value
: Actual value
* There are restrictions in the filter support for this entity: only the “eq” comparison operator is allowed for all the filterable properties except Timestamp. For the timestamp property, it is possible to define the interval by using “ge” and “le” operators as shown in the earlier example.
Besides the standard fields listed above, the back end API of the OData service also retrieves additional fields as defined in the DDIC structure ISUS_UMC_EDM_PROFILE_VALUE
. The following additional fields are retrieved:
SPARTE
: Division ID
PROF_DATE
: Date for the profile value interval
PROF_TIME
: Time for the profile value interval
In the BAdI definitionISU_UMC_EDM
under the Enhancement Spot ISU_UMC_ODATA
, the method IF_ISU_UMC_EDM~ENHANCE_EDM_PROFILE_VALUES
is designed for further enhancement of the profile values.
Profile Data Aggregation
By default, the system supports three aggregated output interval types. The interval types are defined by the following Customizing parameters under the Maintain Settings for Business Processes
Customizing activity to get real-time consumption from SAP EDM profile values:
Entity Name | Parameter | SEQNO | Parameter Value |
---|---|---|---|
|
| 1 |
|
|
| 1 |
|
|
| 1 |
|
The interval of the original SAP EDM consumption data must be smaller than or equal to the supported aggregation output interval. The EDM interval length is defined in Customizing under
.In the BAdI definition ISU_UMC_EDM
under the Enhancement Spot ISU_UMC_ODATA
, the method IF_ISU_UMC_EDM_BADI~AGGREGATE_EDM_PROFILE_VALUES
is designed for further enhancement of the aggregation.
Profile Value Type Mapping
In the Customizing delivered with the current release, the profile value type is mapped by the profile value status.
The mapping table is defined by the following Customizing parameters under the Maintain Settings for Business Processes
Customizing activity to get real-time consumption from SAP EDM profile values:
Entity Name | Parameter | SEQNO | Parameter Value |
---|---|---|---|
|
| 1 | IU014 |
|
| 1 | IU020 |
|
| 1 | IU012 |
|
| 2 | IU013 |
|
| 3 | IU015 |
|
| 4 | IU016 |
|
| 1 | IU011 |
|
| 2 | IU010 |
Based on the Customizing that is delivered as listed in the preceding table, the profile value types are mapped as follows:
Profile Value Type ID | Profile Value Type Description | Profile Value Status |
---|---|---|
E | Error | IU014 (Value implausible) |
F | Forecasted | IU020 (Value was extrapolated) |
H | Historical | IU012 (Valid value) IU013 (Value was estimated) IU015 (Value entered/changed manually) IU016 (Value has been released) |
M | Missing | IU010 (Value does not exist) IU011 (Value missing) |
You can control the mapping between value type and value status by using the Maintain Settings for Business Processes
Customizing activity. In the BAdI definition ISU_UMC_EDM
under the Enhancement Spot ISU_UMC_ODATA
, the method IF_ISU_UMC_EDM~ MAP_EDM_PROFILE_VALUE_TYPE
is designed for further enhancement of the mapping of profile value types.
The OData entity ProfileHeader
returns the SAP EDM profile header data with the following fields:
ProfileHeaderID
: Profile ID (Key)
DeviceID
: Meter Device ID (Equipment ID)
DivisionID
: Division ID
RegisterID
: Meter Register ID
Interval
: EDM Profile Data Interval
ProfileTypeID
: Profile Type ID
UnitOfMeasure
: Unit
Currency
: Currency
DateFrom
: Profile validity period: Date from
TimeFrom
: Profile validity period: Period From
DateTo
: Profile validity period: Date to
TimeTo
: Profile validity period: Period To
TimeZone
: Time Zone
The OData entity ProfileType
returns the SAP EDM profile header type ID with the description as follows:
ProfileTypeID
: Profile Header Type ID (Key)
Description
: Description
The profile type is maintained in Customizing under
.The OData entity ProfileValueType
returns the SAP EDM profile header value type ID with the description as follows:
ProfileValueTypeID
: Profile Value Type ID (Key)
Description
: Description
Profile value types are defined by the domain ISU_UMC_EDM_PROFILE_VALUE_TYPE
.
The OData entity ProfileValuesFile
returns the search parameters for downloading SAP EDM profile data with the following fields:
ProfileValuesFileID
: Artificial key (composed by all filtering parameters)
MimeType
: MIME type. Currently only supports the CSV ( 'application/octet-stream')
MediaResource
: X-String for the profile values
Timestamp
: Filtering* Parameter: validity period
OutputInterval
: Filtering* Parameter: output interval
ContractID
: Filtering* Parameter: Contract ID
DeviceID
: Filtering* Parameter: Device ID
RegisterID
: Filtering* Parameter: Register ID
ProfileHeaderID
: Filtering* Parameter: Profile Header ID
ProfileTypeID
: Filtering* Parameter: Profile Type ID
The selection criteria for the SAP EDM profile values can be different and the file is dynamically composed based on those criteria. This reason does not allow for the key to be persisted anywhere in the back end.
In order to access the file, you need to get a key. As a result, if you retrieve an entity set with filter parameters, you receive the result with a single entity that contains the correct key for your file.
Example
An example of such query is the following:
https://(___servicepath___)/ERP_UTILITIES_UMC/Contracts(‘9000002344’)/ ProfileValuesFiles ?$filter=Timestamp ge datetime'2014-03-01T00:00:00' and Timestamp le datetime'2015-01-31T00:00:00' and OutputInterval eq 'MON'
Navigation is allowed from the following OData entities:
Contract
Device
RegisterToRead
* There are restrictions in the filter support for this entity: only the “eq” comparison operator is allowed for all the filterable properties except Timestamp. For the timestamp property, it is possible to define the interval by using “ge” and “le” operators as shown in the earlier example.
Currently, SAP Multichannel Foundation for Utilities and Public Sector only supports the CSV (comma-separated values) format. You can control the delimiter and fields by using the following Customizing parameters under the Maintain Settings for Business Processes
Customizing activity to get real time consumption from SAP EDM profile values:
Entity Name | Parameter | SEQNO | Parameter Value |
---|---|---|---|
|
| 1 | , |
|
| 1 |
|
By default, the CSV delimiter is the comma (,). But in European systems, this character is reserved as the decimal indicator. In this case, the parameter “CSV_Delimiter” needs to be set to semicolon (;).
The Customizing parameter Structure_Name
defines the DDIC structure in the output files. This structure must be the subset of the structure with the profile value ISUS_UMC_EDM_PROFILE_VALUE
.
In the BAdI definition ISU_UMC_EDM
under the Enhancement Spot ISU_UMC_ODATA
, the method IF_ISU_UMC_EDM~ GET_EDM_PROFILE_VALUES_CSV
is designed for further enhancement.
You can carry out Customizing for business process settings under
.For more information on SAP Energy Data Management, see https://help.sap.com/erp2005_ehp_05/helpdata/en/7d/a0023b288dd720e10000000a114084/frameset.htm