You are on page 1of 15

Functional Design

Replication EnSights
Change history

Authorization
1 Table of contents

2 About this functional design................................................................................................


2.1 Introduction and background...........................................................................................
2.2 Document Objective........................................................................................................
2.3 References......................................................................................................................
2.4 Scope..............................................................................................................................
3 Requirements......................................................................................................................
4 General Process description...............................................................................................
4.1 Process...........................................................................................................................
5 Interfaces............................................................................................................................
6 SAP CRM Functional Process............................................................................................
6.1 Replication functionality...................................................................................................
6.1.1 EnSights subscription data.......................................................................................
6.1.2 P4 mandate data......................................................................................................
7 SAP IS-U Functional Process.............................................................................................
7.1 Replication functionality...................................................................................................
7.1.1 Replication tables (ZEIS_O_X_TI_CRM and ZEIS_O_X_PR_CRM)........................
7.1.2 Program ZEIS_REPLICATION.................................................................................
2 About this functional design
This chapter describes several general topics concerning this document.

2.1 Introduction and background


This functional design describes the replication process of EnSights subscriptions and P4 mandate data
between SAP CRM and SAP IS-U. This functionality was designed as an addition to the already existing
replication functionality. EnSights is a product offered by Engie in the form of a portal accessible by
customers. By using this portal, customers can gain insight in the usage, costs, and other related data of
connection objects as part of their contracts.

Due to the fact that the SAP customizing present in the Engie SAP CRM and SAP IS-U systems doesn’t
support online replication of the new EnSights subscription data and P4 mandate data, the replication
process has been extended in order to support replication.

2.2 Document Objective


The objective of a functional design is to gain insight of the processes and the architecture of the solution on
a functional level. It is not intended as technical information of the solution. It should be possible to build a
solution with the specifications in this design.

2.3 References
Ref Title Author Version Date Status

1 Functional requirements Ewald Leus 1.0 04-01-2016 Final

2 Architecture design EPP Jeroen Scholten 0.2 19-11-2015 Draft

3 Project Architecture Document Thijs van Meel 1.1


Ensights
4 Functional Design New Customer Wouter Kitsz 0.1 12-02-2016 Draft
EnSights
2.4 Scope
This document describes the replication of EnSights subscription and P4 mandate data. It is part of a set of
four functional designs:

- Replication (This document)


- Subscriptions
- P4 mandate
- Billing & Invoicing

For initial replication of new contracts current replication logic need to be used like MDT in IS-U. This FD
describes functionality for replication of EnSights subscription and P4 mandate for existing contracts.

In scope:
- Customizing changes related to replication
- Replication of EnSights subscription data
- Replication of P4 mandate data
- Update of installation facts in a periodic job
- Replication between SAP IS-U and SAP CRM
- Replication without a stop-start

Out of scope:
- Replication objects other than EnSights subscription data
- Replication objects other than P4 mandata data
- Replication to other systems than SAP IS-U and SAP CRM

3 Requirements
The requirements for the replication process were designed due to a limitation in the current system
interface, and the need to replicate several new data items. During the design phase, the project board has
decided to go for a solution direction where the current replication customizing is extended, in order to
support the new data. The solution direction was chosen due to the fact that it reuses the current replication
functionality, which in terms lead to minimal system impact.
4 General Process description
This chapter provides a high level description of the P4 mandate process for the EnSights products.
In the next chapters the process steps will be described in detail per system.

4.1 Process
The following graphic represents the high level process flow of replication regarding EnSights products:

SAP CRM
Step Description Process
1 User saves The CRM replication is triggered by a user action (save) in the Web UI on the
In Web UI CRM system. This save is executed on contract level.
2 CRM replication The CRM replication functionality will be triggered. The functionality collect:
customizing - EnSights price agreement(s)
- EnSights subscription data
- P4 mandate data
The data is then saved to the tables ZEIS_O_X_TI_CRM (technical item data) and
ZEIS_O_X_PR_CRM (pricing data).

SAP IS-U
Step Description Process
1 Program: The replication program is initiated in a batch run. .
Initiate replication
2 Get unprocessed The replication program reads all the records that have the replication flag(s)
Replication data unmarked.
3 Read (next) replication The program will initiate (or continue) processing by reading the first (or next)
item replication item.
4 Process The replication program processes the EnSights subscription(s) to the installation
EnSights facts on SAP IS-U. Any errors are written to the job log. Errors will not stop the
Subscription(s) processing, the program continues with the next line.
5 Update If the subscription(s) for the current replication item were processed correctly, a
Replication status flag is set in the table ZEIS_O_X_TI_CRM to register the successful replication of
subscription the subscription(s). Also, a flag is set in the field ‘To be sent EPP’’, in order to mark
the replication item to be sent to EPP.
6 Process P4 mandate The replication program processes the P4 mandates to the installation facts on
SAP IS-U. Any errors are written to the job log. Errors will not stop the processing,
the program continues with the next line.
7 Update If the P4 mandate for the current replication item was processed correctly, a flag is
Replication status set in the table ZEIS_O_X_TI_CRM to register the successful replication of the
P4 mandate mandate. Also, a flag is set in the field ‘To be sent ‘To be sent Edias’, in order to
mark the replication item to be sent to Edias.
8 All records The program identifies wether all replication records were processed. In case
Processed? there are more records to process, the program continues with step 2. In case all
records are processed, the program continues to step 9.
9 End The end of the IS-U replication program has been reached.
5 Interfaces
The replication process takes place in both SAP CRM and SAP IS-U. This process interfaces from CRM to
SAP IS-U replication tables, where after a periodic job in SAP IS-U processes the replication data for
EnSights subscriptions and P4 mandates.

During the EnSights process, the following system landscape has been designed.
6 SAP CRM Functional Process

6.1 Replication functionality


The existing CRM replication functionality provides basic replication on (customer specific) fields towards
custom IS-U tables. In the next paragraphs, the data replication of EnSights subscription(s) and P4 mandate
data are explained. Replication only occurs from CRM towards IS-U, and is not a bidirectional process.

6.1.1 EnSights subscription data


EnSights subscriptions are maintained on both contract level and technical item level within SAP CRM.
These subscriptions can be maintained by means of manual action, or by using an automatic subscription
tool (this process is handled in the document “Functional Design Subscriptions”). A subscription consists of
the following data:

A checkbox ‘EnSights’ is marked on the technical item in CRM:

One or more price agreements are maintained on the contract:

The following data is replicated to the IS-U replication tables, upon saving in the Web UI:
- The price agreement including the amount and validity period for any EnSights product(s) on the
contract. As per existing logic, price codes will be created in SAP IS-U for these agreements
-
- Customer specific fields and EnSights replication checkbox value (‘X’ or blank).

6.1.2 P4 mandate data


P4 mandates are maintained on technical item level within SAP CRM. These P4 mandates can be
maintained by means of manual action, or by using an automatic subscription tool (this process is handled in
the P4 mandate design). A P4 mandate consists of the following data:

A checkbox ‘P4’ is marked on the technical item in CRM, a start and end date is filled on the technical item in
CRM:

The following data is replicated to the IS-U replication tables, upon saving in the Web UI:
- The P4 mandate value of the check box
- The P4 mandate value of the start date
- The P4 mandate value of the end date

Upon initial replication, the field ‘P4 to Edias’ is left blank.


7 SAP IS-U Functional Process

7.1 Replication functionality


As described in chapter Error: Reference source not found, CRM pushes any changes on the EnSights
subscription and P4 mandate data towards replication tables in SAP IS-U. Within IS-U, a periodic report will
process the data towards to connections within the IS-U system.

7.1.1 Replication tables (ZEIS_O_X_TI_CRM and ZEIS_O_X_PR_CRM)


Data from the CRM system is initially stored in the following tables:

Description
Table
ZEIS_O_X_PR_CRM This table contains the created pricing data in the SAP IS-U system.
The pricing data is linked to the contract / technical item by means of a
GUID.

ZEIS_O_X_TI_CRM This table contains all the replicated (customer specific) fields specific
to the technical item in CRM.

In the table ZEIS_O_X_TI_CRM, the following replication data is stored:

- EnSights checkbox value (‘X’ or blank).


- P4 mandate active (‘X’ or blank).
- P4 mandate start date
- P4 mandate end date
- To be sent EPP

In addition, the table ZEIS_O_X_TI_CRM houses two fields that are used to register whether or not
replication for the EnSights subscription and/or P4 mandates has been completed:

- EnSights replicated (‘X’ or blank)


- P4 mandate replicated (‘X’ or blank)

In addition, the table ZEIS_O_X_TI_CRM contains one field that is used to register whether or not the P4
mandate is sent to Edias, this field is:

- To be sent Edias (‘X’ or blank)

These fields are saved as blank values when created or changed from the CRM system replication.
7.1.2 Program ZEIS_REPLICATION
The program ZEIS_REPLICATION is used to process all replication entries from the CRM system, as part of
the EnSights subscription and P4 mandate process. In this paragraph, all the program steps are described in
detail.

7.1.2.1 Step 1: Initiate replication


The replication program is initiated in a batch run. This program cannot be run in online mode.

7.1.2.2 Step 2: Reading replication entry


When the program is initiated, it reads all the entries from the table ZEIS_O_X_TI_CRM where the value for
the field ‘EnSights replicated’ and/or the value from the field ‘P4 mandates replicated’ are blank.

7.1.2.3 Step 3: Read (next) replication item


The program reads the first entry (or next entry) from the replication table.
7.1.2.4 Step 4: Process EnSights Subscription(s)
This step is executed in case the field ‘EnSights replicated’ is blank.
Based on the internal table GUID, the prices for EnSights is/are retrieved from the table
ZEIS_O_X_PR_CRM. These prices can be identified by the following condition types ZNE1 through ZNE8.

For every price, an installation fact with a specific price operand will be created when EnSights checkbox
value = X.
During replication, the functionality will retrieve the market segment (which is GV or KV) from the RNB data
according to the installation. The price for either KV or GV is then replicated to the installation fact based on
that market segment, as can be seen in the table below. The installation fact is created or modified with the
period as input from the replication table. In the below table, the logical target operand based on a price is
specified:

Target Operand
Product Connection Type Price Condition Price Agreement
NL_EB_E1
EnSights Base KV ZNE1 ZNE1_PR_SAP00099
NL_EB_E2
EnSights Base GV ZNE2 ZNE2_PR_SAP00099
NL_EB_E3
EnSights contract monitoring KV ZNE3 ZNE3_PR_SAP00099
NL_EB_E4
EnSights contract monitoring GV ZNE4 ZNE4_PR_SAP00099
NL_EB_E5
EnSights budget bewaking KV ZNE5 ZNE5_PR_SAP00099
NL_EB_E6
EnSights budget bewaking GV ZNE6 ZNE6_PR_SAP00099
NL_EB_E7
EnSights benchmarking KV ZNE7 ZNE7_PR_SAP00099
NL_EB_E8
EnSights benchmarking GV ZNE8 ZNE8_PR_SAP00099

If the EnSights flag is empty in the replication item, and any EnSights operands are active on the installation,
all EnSights operands should be ended with the system date. This is done in order to prevent billing when
the customer stops one subscription installation.

In case an operand cannot be processed due to an error, the following message will be written to the job log:
“EnSights abbonement voor GUID <guid ID> kan niet worden verwerkt.”.

If the target operand data is already on the installation, with the exact same data as the replication input, the
data will not be modified / updated. It is however processed as successful, in order to keep the replication
item from processing the next time the replication job runs.

The program will use standard SAP function modules to maintain the installation facts, which will have
support for change documents.

If EnSights is not applicable for the replication item, the replicated mark will be set. This will prevent the
replication item from being processed the next time the replication program runs.
7.1.2.5 Step 5: Update replication status subscription
Based on the result of step 4, the status of the fields ‘EnSights replicated’ and ‘To be sent EPP’ will be
updated. The following scenarios are possible:

Value of field
Value of field ‘To be sent EPP’
Result ‘EnSights replicated’
‘X’
Installation fact successfully processed ‘X’
Installation fact not updated due to data ‘’
already present ‘X’
‘’
EnSight is not applicable ‘X’
‘’
Installation fact failed to process ‘’

7.1.2.6 Step 6: Process P4 mandate


This step is executed in case the field ‘P4 mandate replicated’ is blank.

Based on the field ‘P4 mandate active’, an installation fact is created or modified with the period as input
from the replication table.

The following operand will be used to register the mandate on the installation facts:
NL_FL_P4 (P4 Mandate)

In case a P4 mandate cannot be processed due to an error, the following message will be written to the job
log: “P4 mandaat voor GUID <guid ID> kan niet worden verwerkt.”.

If the target operand data is already on the installation, with the exact same data as the replication input, the
data will not be modified / updated. It is however processed as successful, in order to keep the replication
item from processing the next time the replication job runs.

If the P4 mandate flag is empty in the replication item, and the P4 mandate flag is active on the operand, the
flag should be cleared from the operand accordingly.

The program will use standard SAP function modules to maintain the installation facts, which will have
support for change documents.

If the P4 mandate is not applicable for the replication item, the replicated mark will be set. This will prevent
the replication item from being processed the next time the replication program runs.

7.1.2.7 Step 7: Update replication status P4 mandate


Based on the result of step 6, the status of the field 'EnSights replicated' will be updated. The following
scenarios are possible:

Value of field
Value of field ‘P4 ‘To be sent Edias’
Result mandate replicated’
‘X’
Installation fact successfully processed ‘X’
Installation fact not updated due to data ‘’
already present ‘X’
‘’
P4 mandate is not applicable ‘X’
‘’
Installation fact failed to process ‘’
7.1.2.8 Step 8: All records processed?
The program will identify if there are more replication records to be processed. In case there are, the
program will continue with step 2. In case all records are processed, the program will end.

7.1.2.9 Step 9: End


When the program is done, a job log will be visible on the background job containing the error log.

You might also like