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.