Skip to main content

Celonis Product Documentation

Additional SAP ECC and S/4HANA configuration options

When configuring your SAP ECC and S/4HANA components, you also have the following additional options:

Note

This feature is available only for selected teams. Reach out to the support team if you need it to be activated for your team.

In older versions of the RFC Module you can apply anonymisation only to the whole column. This usually works fine, because the anonymisation is applied to the "username", which is always a separate column in the table.

However, in some specific scenarios, the username is a part of a composite column, and is basically concatenated with other values. If you anonymise the whole column, then you cannot carve the username out of it.

To support this use case, we have added the concept of calculated columns (supported in RFC Version 1.8.4 and Extractor 2020-07-15) . This allows you to apply the function SUBSTRING to a column, and then anonymise the returned value. So if in the db you have a value like this - "XXXXX_username_YYYYY", applying the function substring to it will isolate the value username, and then anonymise it before extracting to the cloud.

Below are the steps how to set this up:

  • In Data Integration, navigate to the Data Job=>table where the column is stored. Click on the button "Configure calculated column".

39682212.png
  • In the pop up add a new calculated column and define its name and the formula. Currently only the formula ANON_SUBSTRING is supported.

    It accepts three parameters:

    • Column name - this is the source column name that you want the function to be applied to

    • Starting character - the index of the starting character. Index of the first character is 1

    • Length - how many characters should be included

For example, ANON_SUBSTRING(ABCD,2,2) will be applied to 'BC'.

In the screenshot below, the 1st character of the field USR02.ANAME is anonymised.

39682213.png
  • Make sure that the source column is also included in the extraction and marked to be anonymised. This is a technical pre-requisite, so please include the column even if you don't need it.

  • Run the extraction as usually. The calculated column will be available in the table as the other standard columns, i.e. USR02.COL_SUBST

Note

The feature is available only in the on-prem client. The uplink-based on-premise extractor does not support this.Installing on-prem clients

SAP S/4 HANA offers functionality to archive old data and free up working memory. The table is partitioned based on the age of the data. The aged data is moved to the persistent memory and is not available unless it is explicitly invoked.

The RFC module has been enhanced to allow the extracting of this aged data. Go to Data Connection > Advanced Settings and enable the "Enable cold data extraction" option to make the aged data available for extraction along with the current data.

extract_aged_data_settings.png

You can use the _DATAAGING column to filter the aged records based on their date. The filter for the current data is _DATAAGING = '00000000', so be sure to include this in the filter and avoid excluding it from the extraction. For example, the filter in the screenshot below will extract all the current data (_DATAAGING = '00000000') AND any aged data newer than 01-01-2023 (_DATAAGING = '20230101').

extract_aged_data_filters.png

Note

The feature is available only in the on-prem client. The uplink-based on-premise extractor does not support this.Installing on-prem clients

CDS views can require parameters that are passed during the execution and typically applied as filters. The Celonis SAP Extractor supports the extraction of parameterized CDS views. If the user selects this type of CDS view, the parameters will be rendered in a dedicated section of the Table Extraction configurations. Make sure to define values for all required parameters or else the extraction will fail in the SAP layer.

Tip

Only static values are supported, so dynamic parameters cannot be used as inputs.

extract_parameterized_views.png

SAP HANA allows you to pass hints to SELECT queries to instruct where the query is routed. This is a recommended best practice for customers running S/4 HANA since it allows them to balance the system in terms of query response time, query load, resource utilization and freshness of data.

For example, if your SAP HANA architecture is “high availability” and is “Active/Active read enabled”, you may choose to use this feature to route all of Celonis’s SAP extraction queries to the secondary HANA instance, to reduce the load on the primary one.

Prerequisites
  • Make sure you're using RFC Module v3.5.0 or later.

  • Install the Celonis_RFC_S4_Extensions package, which contains the necessary extension to use this new functionality.

    You can download all necessary files directly from Celonis Platform. In your Celonis Platform instance, go to Admin and Settings > Download Portal. You must be an Admin or an Analyst with the MANAGE DOWNLOAD PORTAL permission to access these files.

Procedure

To pass the hint RESULT_LAG() should be used. It takes two parameter values to determine:

  • Which data source to use (snapshot or live data).

  • What is the acceptable lag behind the live data.

Here's the syntax for the RESULT_LAG() hint:

WITH HINT (RESULT_LAG(“<short_class_name>”, [seconds])).

The hint is appended to the SELECT statement.

Example:

SELECT * FROM MY_TABLE WITH HINT( RESULT_LAG ( 'hana_long', 30) );

In this example, if the cache is fresher than 30 seconds then data will be read from there. If it is stale, then the freshness of the data replication on the secondary system is evaluated, and is either queried from there if fresh enough or from the primary system if not. For more details on the available classes and their parameters check the official SAP documentation.

To pass the hint to the extraction queries you should:

  1. Modify the application-local.yml configuration file  on the Extractor server as described below.

    uplink:  
        enabled: true
    ....
    
    celonis:
         sap: 
          # Any other customisations you may have  
          hdbRouting: true 
          hdbClass: hana_long # can be a custom class or another built in one 
          like hana_sr   
          # hdbMaxLag: optional, retention time value in seconds
  2. Restart the Extractor for the change to take effect.

When managing the RFC module, the following function modules should be mapped:

  • /CELONIS/FM_NEW_EXTRACT: Read data from table, result is saved in a file.

  • /CELONIS/FM_CL_NEW_EXTRACT: Read data from change log table, result is saved in a file.

  • /CELONIS/FM_STAD_EXTRACT: Extract workload information.

  • /CELONIS/FM_CL_RM_EXTRACT: Clean up change log table (after successful extraction).

  • /CELONIS/FM_GET_TABLE_LIST: Retrieve DB table list using search criteria.

  • /CELONIS/FM_GET_CHECKED_TABLES: Verify table names.

  • /CELONIS/FM_CL_GET_TABLE_NAME: Retrieve change log table info.

  • /CELONIS/FM_CL_GET_TABLE_NAMES: Retrieve change log table info (multiple).

  • /CELONIS/FM_GET_TABLE_METADATA: Retrieve table column metadata.

  • /CELONIS/FM_GET_DPNDT_METADATA: Retrieve table column metadata, expanding appended structures.

  • /CELONIS/FM_GET_STAD_METADATA: Retrieve workload metadata.

  • /CELONIS/FM_GET_JOB_LOG: Get log messages from table /CELONIS/LOG2 from specific extraction.

  • /CELONIS/FM_DELETE_JOB_LOG: Clean up log table /CELONIS/LOG2 (old records).

  • /CELONIS/FM_GET_JOB_STATUS: Get extraction job status.

  • /CELONIS/FM_CANCEL_EXTRACT: Cancel running extraction job.

  • /CELONIS/FM_GET_EXTRACT_FILE: Get extraction file content

  • /CELONIS/FM_GET_EXTR_FILE_LIST: Get list of files in directory Z_CELONIS_TARGET.

  • /CELONIS/FM_CLEANUP_FILES: Delete extraction files from specific extraction.

  • /CELONIS/FM_CLEANUP_OLD_FILES: Delete remaining extraction files, after retention period is over.

  • /CELONIS/FM_CONFIG_TEST: Execute configuration check up.

  • /CELONIS/FM_GET_SYS_INFO: Retrieve Application Server info: System ID, Operating System, DB info, Celonis' RFC component version, SAP Application version, SAP Basis version, Time zone.

  • /CELONIS/FM_GET_RUNTIME_INFO: Retrieve memory &amp; CPU information &amp; status from Application Server.

The following describes in detail what the role contains and why the authorizations are necessary along with customization options

Cross-application Authorization Objects

Authorization Check for RFC Access - So the Extractor can remotely access the functions in the RFC module

Object

Field

Activities/Values

S_RFC

ACTVT

16

S_RFC

RFC_NAME

/CELONIS/46C_EXTRACTION, /CELONIS/CL_EXTRACTION, /CELONIS/EXTRACTION, RFC1, SDIFRUNTIME, SDTX, SRFC, SYST, SYSU

S_RFC

RFC_TYPE

FUGR

Basis: Administration

Background Processing: Operations on Background Jobs - So the RFC module can immediately run the extractions as background jobs

Object

Field

Activities/Values

S_BTCH_JOB

JOBACTION

RELE

S_BTCH_JOB

JOBGROUP

*

Administration Functions in Change and Transport System - So the RFC module can list directory contents

No longer necessary in RFC Module versions >= 1.8.0

Object

Field

Activities/Values

S_CTS_ADMI

CTS_ADMFCT

EPS1

Authorization for file access - So the RFC module can write, read, and delete files in the physical path defined for the logical path 'Z_CELONIS_TARGET'

Object

Field

Activities/Values

S_DATASET

ACTVT

06, 33, 34

S_DATASET

FILENAME

*

S_DATASET

PROGRAM

/CELONIS/*

Note

You can replace the '*' in 'FILENAME' with the physical path you have chosen for Z_CELONIS_TARGET, e.g. /<YOUR_PATH>/*

Table Maintenance (via standard tools such as SM30) - So the RFC module can extract data from tables

Object

Field

Activities/Values

S_TABU_DIS

ACTVT

03

S_TABU_DIS

DICBERCLS

*

Note

You can replace the '*' in 'DICBERCLS' with the authorisation group of tables you will be extracting.

Alternatively, If you need to control access to individual tables instead to groups of tables, you can use authorisation object S_TABU_NAM.

Important: When using the Real-Time Extractor, the Changelog tables (ZCL...) should also be whitelisted.