orkungedik/SAP-basis-dataset huggingface dataset:
## 4.2.13.4.2  Create a Communication Arrangement for Inbound Communication with Service Key Type Basic
Learn how to quickly create a communication user and communication arrangement for an inbound communication scenario by using a service key of type basic.
## Prerequisites
- You have created a communication scenario.
- You have created a space. See Create Spaces.
- You have the space developer role. See Assigning the Space Developer Role to the Developer Users.
## Procedure
1. Log on to the cockpit and go to the subaccount that contains the space you'd like to navigate to. See Navigate in the Cockpit.
2. In the navigation area, go to Cloud Foundry Spaces and choose your space.
3. Select Services Instances from the navigation area and find your ABAP system service instance.
4. Click on  and select Create Service Key .
5. In the New Service Key dialog, enter a name for your service key and specify the parameters in JSON format as follows:
```
{ "scenario_id":"SAP_COM_XYZ", "type":"basic" }
```
##  Note
SAP\_COM\_XYZ is the ID of the communication scenario in your ABAP system.
basic is the type of service key that is needed to generate a communication user and communication arrangement for an inbound communication scenario.
6. (Optional to step 5) If your communication scenario has additional custom properties, you can automatically assign values to them by using the optional parameter additional\_properties .
```
{ "scenario_id":"SAP_COM_XYZ", "type":"basic", "additional_properties": [ { "technical_name": "CUSTOM_PROPERTY_1", "value": "VALUE_1" }, { "technical_name": "CUSTOM_PROPERTY_2",
```
<!-- image -->
## Results
The communication user is generated and the credentials, depending on the selected type, are returned in the service key. The communication user receives authorizations for all services included in the communication scenario.
## 4.2.13.4.3  Configure Timeout of @sap/approuter Component of a Communication Arrangement for Inbound Communication with Service Key OAuth
By default, communication between the approuter and connected services is timed out after 30 seconds. This default value is suitable for most applications. However, for long-lasting data transfer, communication lasts longer. If you experience timeouts, you can set the service key parameter abap\_endpoint\_timeout to a value higher than 30 seconds.
## Prerequisites
- You have created a space. See Create Spaces.
- You have the space developer role. See Assigning the Space Developer Role to the Developer Users.
## Procedure
1. Log on to the cockpit and go to the subaccount that contains the space you'd like to navigate to. See Navigate in the Cockpit.
2. In the navigation area, go to Cloud Foundry Spaces and choose your space.
3. Select Services Instances from the navigation area and navigate to your ABAP system service instance.
4. Click on  and select Create Service Key .
5. In the New Service Key dialog, enter a name for your service key and specify the parameter in JSON format as follows:
```
{ "abap_endpoint_timeout": 600000 }
```
##  Note
You can use s (seconds) or m (minutes) to define the value.
If no unit is defined, the value is interpreted as seconds.
The maximum value is 600s or 10m.
## Related Information
Integration with Business Services
## 4.2.13.6  Developing Metrics for Health Monitoring
Learn how you can add your own metrics to Health Monitoring in SAP Cloud ALM or SAP Focused Run.
## Use Case
SAP Cloud ALM provides you with insights regarding the health of Cloud services. In the overview dashboard, all health monitoring metrics are exposed, and for each metric, a detailed history is available. While a number
of metrics defined by SAP are available for checking customer-initiated operational issues, you might want to add your own application-specific metrics. These metrics serve to monitor the health of your own customer or partner solutions running on the ABAP environment. Similarly, you might want to have your own metrics in Health Monitoring of SAP Focused Run.
## Architecture Overview
<!-- image -->
The central object in this context is the metric provider, an ABAP repository object that references an implementing class. The class defines a metric model for your application and implements the metric measurement. The metric model defines, for example, what kind of metrics are available in the system, how often a metric is measured, its tags, or its unit of measurement.
An application job (the generic simple metric collector) runs regularly. It calls up the GET\_METRIC\_VALUES( ) method of all metric providers and stores all measured values as metrics in a generic format in the metric store. After an administrator has set up a communication arrangement based on the communication scenario SAP\_COM\_0527 , the metrics are automatically pushed from the generic metric store to SAP Cloud ALM and SAP Focused Run.
## About This Documentation
In this documentation, you get information about creating your own metric providers as a developer. In addition, there's also a short information for administrators about creating an application job that calls up all created metric providers and transfers their measured values to the generic metric store.
For more information about setting up SAP Cloud ALM and SAP Focused Run, see Central Health Monitoring Using SAP Focused Run and SAP Cloud ALM [page 3087].
## 4.2.13.6.1  Creating a Class for Metric Providers
To create a metric model for your customer or partner application, create a class in ABAP Development Tools (ADT) that implements the interface IF\_GSM\_API\_PROVIDER .
## Prerequisites
You have a developer role for creating objects with ABAP for Cloud Development.
You have created an ABAP Cloud project and a package in ABAP Development Tools.
## Context
With the class, you define the metric model and measurement.
##  Note
For code samples, see https:/ /github.com/SAP-samples/abap-platform-ops .
## Procedure
1. In your ABAP Cloud project and package, create a class implementing the interface IF\_GSM\_API\_PROVIDER .
As a result, you get a class with the following methods: INITIALIZE( ) , DEFINE\_MODEL( ) , and GET\_METRIC\_VALUES( ) .
2. When you edit this class, we recommend that you define constants for the metric names and values that are exactly the same for methods DEFINE\_MODEL( ) and GET\_METRIC\_VALUES( ) . All metric names that do not match are ignored at runtime.
For example, your code might look as follows:
<!-- image -->
```
demo_attr_01 TYPE if_gsm_api_types=>tv_attribute_id VALUE 'zdemo_attr_01', END OF e_attribute_id .
```
You create one metric group and assign your metrics to the group. The metric group is just for semantical grouping and holder for meta data. It has no physical impact on the metric store or the data collection for metrics later.
3. Redefine the methods DEFINE\_MODEL( ) and GET\_METRIC\_VALUES( ) according to your business needs.
## Related Information
```
Creating a Metric Model [page 1111] Defining the Metric Measurement [page 1112]
```
## 4.2.13.6.1.1  Creating a Metric Model
In the DEFINE\_MODEL( ) method, you specify your metric model, including the metric IDs, their data types, or their units of measurement.
## Prerequisites
You've created a class for metric providers (see Creating a Class for Metric Providers [page 1110]).
## Procedure
In the class that you've created, change the DEFINE\_MODEL( ) method according to your business needs.
For example, your method might be as follows:
```
 Sample Code METHOD if_gsm_api_provider~define_model. DATA: lo_api_metric_group TYPE REF TO if_gsm_api_metric_group. lo_api_metric_group = io_model->add_metric_group( iv_metric_group_id   = me->e_metric_group_id-demo_group iv_metric_group_name = `Demo Client API Provider` ##NO_TEXT iv_category          = if_gsm_api_constants=>e_category-performance iv_severity          = if_gsm_api_constants=>e_severity-_2_low ). lo_api_metric_group->add_target( iv_target_type       = if_gsm_api_constants=>e_target_type-health ). lo_api_metric_group->add_metric( iv_metric_id         = me->e_metric_id-demo_metric_id iv_metric_name       = `Demo Client API Metric` ##NO_TEXT
```
```
iv_unit              = if_gsm_api_constants=>e_unit-seconds iv_data_type         = if_gsm_api_constants=>e_data_type-integer iv_period            = if_gsm_api_constants=>e_period-every_05_minutes iv_description       = `Just a demo`  ##NO_TEXT iv_metric_type       = if_gsm_api_constants=>e_metric_type-counter )->add_target( iv_target_type       = if_gsm_api_constants=>e_target_type-health ). ENDMETHOD.
```
Notes: For all input parameters, you can find the relevant enumerations in the released interface IF\_GSM\_API\_CONSTANTS . Note, however, that there are a few additional considerations:
- The category of the metric group expresses the semantic nature of the metric, for example, whether the availability or performance of the system is affected.
- The attributes of a metric refer to the consumption of the metric:
- Period : The period specifies the frequency with which the metric measurement is triggered. It implicitly derives a runtime quota. Metric providers that are executed more often must return the metrics faster. For example, metric providers running each minute must return values within 5 seconds. Otherwise, they will be banned by the framework in the future.
- The period attribute is the only control attribute. All other attributes don't have any runtime impacts.
- Metric type : Metrics can be collected in different ways. Some metrics are of type Counter . A counter always goes up and is only reset at special events like system restart. For example, the number of processed requests is typically expressed as a counter. In contrast to a counter, a gauge metric can go up or down. The temperature or current memory usage are common examples of gauge metrics.
- Target type : The target type is used to control the metric flow for different usage scenarios. Only the available target type HEALTH is supported. This target type registers the metric to be exported to Health Monitoring in SAP Cloud ALM and SAP Focused Run.
- Severity : The severity is available, but not pushed to Health Monitoring.
## 4.2.13.6.1.2  Defining the Metric Measurement
In the GET\_METRIC\_VALUES( ) method, you specify how the metrics are measured, including the requested metrics and the time frame for processing.
## Prerequisites
You've created a class for metric providers (see Creating a Class for Metric Providers [page 1110]).
## Context
At runtime, the generic metric provider framework calls the method GET\_METRIC\_VALUES( ) . The method expects multiple input parameters like the requested metrics and the time frame for processing. If you include multiple metrics with different collection frequencies, the framework calls this method accordingly with the
corresponding metric IDs for which it requests to return data. When you provide the correct input in the GET\_METRIC\_VALUES( ) implementation, you avoid wasting work for metrics not being requested.
The measurement should be fast. If a measurement takes too much time, it blocks all the other measurements. Therefore, the metric provider framework automatically monitors the runtime of each metric provider. If a metric provider exceeds the runtime quota, the framework will ban the metric provider so that all the other metric providers can be collected.
## Procedure
In the class that you've created, change the GET\_METRIC\_VALUES( ) method according to your business needs.
For example, your method might be as follows:
```
 Sample Code METHOD if_gsm_api_provider~get_metric_values. DATA: ls_metric_value    TYPE if_gsm_api_types=>ts_metric_value. DATA: lv_timestamp       TYPE timestamp. GET TIME STAMP FIELD lv_timestamp. ls_metric_value-metric_id = me->e_metric_id-demo_metric_id. IF iv_timestamp_start IS SUPPLIED AND iv_timestamp_start <> 0. ls_metric_value-value_timestamp = iv_timestamp_start. ELSEIF iv_timestamp_end IS SUPPLIED AND iv_timestamp_end <> 0. ls_metric_value-value_timestamp = iv_timestamp_end. ELSE. ls_metric_value-value_timestamp = lv_timestamp. ENDIF. ls_metric_value-value_count  = 1. ls_metric_value-value_text   = ''. INSERT VALUE #( attribute_id = me->e_attribute_id-demo_attr_01 value        = 'None' ##NO_TEXT ) INTO TABLE ls_metric_value-attributes REFERENCE INTO DATA(lsr_mp_attr_01). " metric data " -------------------------------------------------------------------------" Retrieval of the metric values at this point in time. DATA(lt_metrics) = me->mo_api_access->get_metrics( ). " transformation " -------------------------------------------------------------------------" Transform the metric values format to the GSM data structures. LOOP AT lt_metrics REFERENCE INTO DATA(lrs_metric). lsr_mp_attr_01->value     = lrs_metric->attribute. ls_metric_value-value_sum = lrs_metric->value. ls_metric_value-value_max = ls_metric_value-value_sum. ls_metric_value-value_min = ls_metric_value-value_sum. IF ls_metric_value-value_sum > 10. ls_metric_value-value_rating = if_gsm_api_constants=>e_rating-_2_warning. ELSE. ls_metric_value-value_rating = if_gsm_api_constants=>e_rating-_1_ok. ENDIF. INSERT ls_metric_value INTO TABLE et_metric_values. ENDLOOP. ENDMETHOD.
```
## 4.2.13.6.2  Creating a Metric Provider
You can create a metric provider in ABAP Development Tools to make your own metrics available for health monitoring of your ABAP system.
## Prerequisites
You've created a class implementing the interface IF\_GSM\_API\_PROVIDER . This class defines your metric model.
## Context
With the creation of a metric provider, you register your metrics that are defined in the class for a periodic collection of values.
##  Note
For more information about creating metric providers, see the documentation in ABAP Development Tools.
## Procedure
1. To create a metric provider in ABAP Development Tools, choose New Other ABAP Repository Object Observability Metric Provider .
2. In the wizard, enter a package, name, and description.
A metric provider is created.
3. In the metric provider, as implementing object, enter the class that defines your metric model for this metric provider (see Creating a Class for Metric Providers [page 1110] ).
4. Under Execution , select the priority with which the values of this metric provider must be collected.
##  Note
The execution mode is set to Job , which you can't change. The collection of metric values is executed by an application job that your administrator must schedule (see Collect Metric Provider Values (Administrator) [page 1116]). The application job runs regularly and collects the values of all metric providers using their GET\_METRIC\_VALUES( ) methods.
Set a higher priority for metric providers that you consider as more important than others. A higher priority ensures that the values for these metric providers are collected first by the application job. Make sure that metric providers that are dependent on the values of other metric providers have a lower priority than the metric providers on which they depend.
5. Leave the field Scope Dependent set to No .
## 4.2.13.6.3  Testing the Metric Providers
You can use class CL\_GSM\_API\_TEST to create unit tests for your metric providers.
## Context
With unit tests, you can simulate the API that retrieves the lower-level raw data. You focus here on the transformation logic to the structures of the generic metric store.
## Procedure
1. In ABAP Development Tools (ADT), you can find the class CL\_GSM\_API\_TEST as released object in the package S\_GSM\_API .
2. To create unit tests, implement the methods of the class CL\_GSM\_API\_TEST .
## 4.2.13.6.4  Considerations for Metric Provider Updates
When you update an existing metric provider, make sure that these updates are synchronized across the system landscape.
## Background
With the metric provider, you define a metric model using the method DEFINE\_MODEL( ) . This code is executed each time when you activate the metric provider and when the metric provider is imported into target systems. It's important to understand these synchronization events to transport metric providers correctly.
## Things to Consider
Please keep the following considerations in mind to ensure a consistent metric model for your applications:
- Whenever you add a metric provider to a transport request (because you changed or activated it), also add the implementing class to the transport.
- Whenever you change a metric model in an implementing class, also add the corresponding metric provider to the transport. If you forget to add the metric provider, the metric model synchronization won't be triggered when the transport is imported into another system.
- When you activate a metric provider, the metric model is synchronized. Let's assume you change the behavior of the implementing class: For example, you change the definition of a metric, add a new metric, or you change something else in the metric model of your metric provider. Then you must not only activate the implementing class, but also the metric provider again to trigger a metric model synchronization. After activating the implementing class, log off and on again to the ABAP Development Tools and then activate the metric provider.
## 4.2.13.6.5  Collect Metric Provider Values (Administrator)
As an administrator, you must create an application job to collect metric providers and their measured values for the generic metric store. From the generic metric store, they can be pushed to SAP Cloud ALM or SAP Focused Run.
## Prerequisites
You need an administration role to be able to create application jobs.
You must set up a communication arrangement based on communication scenario SAP\_COM\_0527 , so that metrics stored in the generic metric store are automatically pushed to Health Monitoring in SAP Cloud ALM and SAP Focused Run.
## Procedure
1. In the SAP Fiori launchpad, open the Schedule Metric Provider Collection app.
2. Choose Create to create a new application job.
The job template for collecting metric provider values is already selected.
3. To change job settings, follow the instructions of the in-built documentation of SAP Companion.
##  Note
Enter a recurrence that is a multiple of 5 minutes. Don't use a recurrence pattern that's shorter than 5 minutes.
4. Schedule the job.
##  Note
Make sure that you schedule this job for the development system and all follow-up systems.
## Results
The metric provider values are collected and saved to the generic metric store.
## 4.2.13.6.6  Troubleshooting
If your own metrics for health monitoring aren't collected as expected, check for the possible error sources. You can check the following:
- Display the log of the application job Collect Metric Provider Values . In the log, search for *GSM* or the name of the metric provider.
- In the log, you might find error messages saying that metric providers have been banned and the reasons for the bans.
Background: If the metric provider framework detects any kind of runtime violation such as, for example, too many consecutive dumps, an exceeded runtime limit, or too much memory consumption during the metric value collection, the relevant metric provider is banned for 24 hours. The ban protects the metric measurement of other metric providers. Fix the issues mentioned in the log. After 24 hours, the metric provider framework attempts to execute the provider once more in a tentative mode. If the execution passes without any issues, the ban is lifted, otherwise it's extended by 24 hours.
- If the metric provider is executed, but a metric is missing, you might need to retransport the metric provider to trigger an implicit metric model synchronization.
## Related Information
Collect Metric Provider Values (Administrator) [page 1116] Considerations for Metric Provider Updates [page 1115]
## 4.2.13.7  Accessing ABAP-Managed Data Using SQL Services for Data Integration Scenarios
As a developer in the ABAP environment, you can expose CDS view entities in an ABAP system for external consumption using SQL services.
Using the open database connectivity (ODBC) as a standard API for accessing databases, you can use SQL statements in external analytical tools to access the data of these CDS view entities from your ABAP system and formulate ad-hoc SQL queries on your data. You can also use the exposed CDS view entities from SQL services to set up data replication for further processing of the data and combining it with data from other data sources.
## Why SQL Services?
There are situations where you would like to have external SQL read access to CDS objects owned by the ABAP system. Direct SQL read access to the underlying SAP HANA database of an ABAP system isn't recommended because, for example, ABAP-level security concepts are bypassed and typecasts might not be performed as expected (see also SAP Note 2511210 ).
Security concerns and other aspects such as authentication and authorization don't arise if you treat the ABAP system itself as a database by accessing the ABAP system directly using the SQL service exposure. In this case, authentication and authorization are done using an ABAP user. Full ABAP SQL semantics apply and even buffering on application server level can be used as well as ABAP-level access control and read access logging.
Compared to the OData interface, the SQL service exposure has the advantage that it allows for unrestricted SQL access to all exposed ABAP CDS view entities. Data from different entities can be joined in an ad-hoc fashion and data can be aggregated for analytical queries.
## Data Integration Patterns and Scenarios
Data access patterns for ABAP-managed data can be categorized into data federation and data replication, as well as privileged access and business user access. Data federation allows for live access to the source system without replicating the data, while data replication involves replicating the data to a second system for local execution. Privileged access enables communication between an SQL-based client and the ABAP system using a communication user. (The communication user is a non-restricted technical power user or represents a technical system.) Business user access applies access controls to limit data access based on authorizations of the business user.
Examples of data consumption scenarios include data consumption using external ODBC clients like Microsoft Excel and LibreOffice, which can work with both privileged and business user access. Another example is data consumption using SAP Datasphere, where data is replicated from an ABAP system to SAP Datasphere for analytical scenarios.
## More Information
For more information and a detailed end-to-end setup description, see the ABAP integration and connectivity guide on SAP Help Portal:
Data Integration (concept and architecture overview)
Data Integration (developer guide)
## 4.2.13.8  Integrating Enterprise Event Enablement
In the context of business applications, an event represents a significant change of state that is relevant for follow-up processes. For example, when a new sales order is created, you can use events to trigger additional workflows in other applications.
Event-driven architecture enables asynchronous communication between an event provider and an event consumer in use cases where no direct response from the event consumer is required.
For more information on how to use business events, refer to the ABAP Integration and Connectivity guide, under Event-Based Integration.
## 4.2.13.8.1  Communication Management
The Communication Management app helps you to integrate your SAP BTP ABAP environment system with SAP BTP, Cloud Foundry environment systems to enable data exchange.
You can use the SAP\_COM\_0092 and SAP\_COM\_0492 communication scenario IDs to configure a connection with the SAP Event Mesh service to enable the exchange of events. To set up a communication scenario using the Communication Management app, follow the steps in the following topics:
- Creating Technical Communication User [page 1119]
To set up the communication arrangement, refer to the respective topics in:
- Integration with SAP Enterprise Messaging 1.0 for Cloud Foundry [page 1125]
- Integration with Advanced Mesh Service Plan for Service Cloud [page 1131]
## 4.2.13.8.1.1  Creating Technical Communication User
You use this procedure to create a communication user for inbound communication from SAP BTP ABAP environment to SAP S/4HANA Cloud systems.
## Prerequisites
- You have a subaccount in SAP BTP, Cloud Foundry environment. Refer to Getting Started with a Trial Account in the Cloud Foundry Environment.
- You have created a service instance for SAP Event Mesh or SAP Advanced Mesh Service Plan.
- The key user must have the business role SAP\_BR\_ADMINISTRATOR (Administrator) that contains the business catalog SAP\_CORE\_BC\_COM (Communication Management).
## Context
A communication user enables the integration with other solutions.
## Procedure
1. Log on to the SAP Fiori launchpad in the ABAP environment system.
2. In the Communication Management app, choose the Maintain Communication Users artifact.
3. Choose New to create a new user.
4. Enter a User Name for the user.
5. Enter a Description for the user.
6. Assign a Password for the user.
7. Choose Create .
8. Make a note of the User Name .
The user name is required when you create the communication arrangement.
## Results
You have created a communication user. It is listed in the Maintain Communication Users artifact.
## 4.2.13.8.3  Event Consumer
In this topic, you can find information about how to enable the event consumption for an event consumption model defined using the ABAP Development Tools and how to set up the corresponding communication arrangement.
The communication arrangements SAP\_COM\_0092 or SAP\_COM\_0492 define the connection from ABAP environment to the respective event exchange infrastructure. Via these communication arrangements, the ABAP environment receives events from the event queue and transfers the events to the event consumption model, which then processes the event. The event is processed according to the logic implemented in the method for handling the event in the consumer extension class.
The following steps are required to configure the event consumer:
## Creating a Communication Arrangement for the Communication Scenario bound to an Event Consumption Model [page 1122]
To be able to receive events from the event exchange infrastructure service instance, you must configure the inbound communication from the event exchange infrastructure to the consuming event consumption model.
## Checking Channel Binding [page 1124]
This topic describes how to check the channel binding for the enterprise event enablement.
## Related Information
Queue Subscriptions [page 1130]
## 4.2.13.8.3.1  Creating a Communication Arrangement for the Communication Scenario bound to an Event Consumption Model
To be able to receive events from the event exchange infrastructure service instance, you must configure the inbound communication from the event exchange infrastructure to the consuming event consumption model.
## Prerequisites
- You've set up a communication arrangement for SAP\_COM\_0092 or SAP\_COM\_0492 as described in Communication Management [page 1119].
- You've created an event consumption model and a Communication Scenario as described in Event Consumption [page 1148].
## Context
Following the procedure, you create an inbound communication arrangement.
## Procedure
1. Log on to the SAP Fiori launchpad in the ABAP environment system.
2. In the Communication Management app, select the Communication Arrangements artifact.
3. Choose New .
4. Select the Communication Scenario that was created for the respective event consumption model.
You can recognize the scenario by its Inbound Service . An Inbound Service is created for each event consumption model and later on assigned to the respective communication scenario.
5. Choose an Arrangement Name and click on Create .
6. To assign a communication system, proceed as follows:
- Assign an existing communication system by selecting a Communication System . Y ou can ignore the substeps.
- Create a communication system as described in How to Create Communication Systems.
- a. In the General tab under Technical Data , pull the switch for Event Mesh to ON . Note that communication arrangements created for an event consumption model only support Event Mesh
inbound communication. That's why the Inbound Only flag is activated when switching on.
- b. In the General tab under Technical Data , select the Event Channel that you've configured as described in Communication Management [page 1119].
The Event Channel name you see in the value help is the name that was assigned in the property Channel of the respective SAP\_COM\_0092 or SAP\_COM\_0492 communication arrangement.
- c. In the Users for Inbound Communication tab, add an inbound user.
##  Note
The User for Inbound Communication (inbound user) and the Communication User must be maintained as two different users. Make sure to create a dedicated inbound user, apart from your communication user. To create a new inbound user, follow the steps described in How to Create Communication Users.
The inbound user is used later for event processing. This user has authorizations maintained in the Authorization Default Values as described in Adjusting the Generated Artifacts.
- d. Choose Save .
In general, you can assign multiple event consumption models via the corresponding communication scenarios to the same SAP\_COM\_0092 or SAP\_COM\_0492 communication arrangement.
## Results
You've created an inbound communication arrangement for your event consumption model.
## Related Information
How to Create a Communication Arrangement
## 4.2.13.8.3.2  Checking Channel Binding
This topic describes how to check the channel binding for the enterprise event enablement.
## Prerequisites
- You've set up a communication arrangement for SAP\_COM\_0092 or SAP\_COM\_0492 as described in Communication Management [page 1119].
- You've created an event consumption model and a communication scenario as described in Event Consumption [page 1148].
## Context
Inbound topic bindings are automatically created during generation and configuration of an event consumption model by assigning the communication system of your event consumption model to the corresponding communication arrangement. Maintaining inbound topic bindings can only be done through changes of the communication system of your event consumption model.
Follow the steps below to view the inbound topic bindings.
## Procedure
1. Log on to the SAP Fiori launchpad in the ABAP environment system.
2. In the Communication Management app, select the Enterprise Event Enablement - Configure Channel Binding app.
3. Select the Channel name of the corresponding communication arrangement to which the communication system of your event consumption model has been assigned to in Creating a Communication Arrangement for the Communication Scenario bound to an Event Consumption Model [page 1122].
In the Inbound Topic Bindings tab under Inbound Topics , the event topics of the event consumption model are displayed. The topics you see here correspond to the event types you've selected during the creation of the event consumption model. Since these are created automatically, the Maintained by field has the value Communication Management .
4. Maintain the subscriptions in the Subscriptions tab as described in Queue Subscriptions [page 1130].
Here you can add all subscription addresses of the respective event exchange infrastructure queues from which you want to consume events.
If a subscription to a queue of the respective event exchange infrastructure service instance is maintained and acknowledged, all events on this queue are consumed by the ABAP environment. Only if the event topics are maintained under Inbound Topics , the incoming events are handed over to the consumer extension class of the corresponding event consumption model. If the event topic isn't maintained, the event is consumed without any further processing.
## 4.2.13.8.4  Integration with SAP Enterprise Messaging 1.0 for Cloud Foundry
This section describes the integration of the enterprise event enablement with the integration scenario SAP\_COM\_0092 .
##  Note
The SAP Enterprise Messaging 1.0 for Cloud Foundry is also referred to as SAP Event Mesh.
## 4.2.13.8.4.1  Communication Arrangements
A communication arrangement is required for the event exchange between ABAP environment and SAP BTP, Cloud Foundry environment.
To use a communication arrangement, you need to create a service instance for the SAP Event Mesh. The service instance contains all information required to establish a connection. This required information, such as endpoints and credentials, is stored in the service key. The enterprise event enablement extracts the information of the service key and creates the corresponding destination and OAuth 2.0 client configuration automatically.
## 12. Choose Save .
After saving the communication arrangement, the channel is activated and the connection is established. The result of the connection test is displayed in the message view on the bottom left.
## Results
You have created a communication arrangement.
##  Note
To maintain inbound and outbound bindings, refer to Configuration of Event Publishing and Event Consumption Scenarios [page 1143]
## 4.2.13.8.4.1.2  Maintaining Communication Arrangements
In this topic, a communication arrangement is maintained.
## Prerequisites
The key user must have the business role SAP\_BR\_ADMINISTRATOR (Administrator) that contains the business catalog SAP\_CORE\_BC\_COM (Communication Management).
## Context
After creating a communication arrangement, you can still change parameters, either via a service key or by entering parameters manually. You can change the default values for the Quality of Service (QoS), the number of reconnect attempts, the reconnect wait time, and the topic space.
## Procedure
1. Log on to the SAP Fiori launchpad in the ABAP environment system.
2. In the Communication Management app, select the Communication Arrangements artifact.
3. Select the communication arrangement you want to maintain.
## Update by Service Key
4. To change connection details, click the Update by Service Key button.
5. Enter the service key with the new connection details.
6. Choose Update to save your entries.
## Update Additional Properties
7.
##  Note
Updating via the additional properties reactivates the communication arrangement and channel (if deactivated).
To change additional properties, choose Edit .
8. To save your changes, choose Save .
## Results
You have maintained a communication arrangement.
## 4.2.13.8.4.1.3  Deleting Communication Arrangements
In this topic, a communication arrangement is deleted.
## Prerequisites
The key user must have the business role SAP\_BR\_ADMINISTRATOR (Administrator) that contains the business catalog SAP\_CORE\_BC\_COM (Communication Management).
## Context
After creating a communication arrangement, you can still delete the communication arrangement.
## Procedure
1. Log on to the SAP Fiori launchpad in the SAP BTP ABAP environment system.
2. In the Communication Management app, select the Communication Arrangements artifact.
3. Select the checkbox of the communication arrangement you want to delete.
4. Choose Delete .
## Results
You have deleted a communication arrangement.
##  Note
When a communication arrangement is deleted, all events belonging to the channel - including those that have not yet been successfully published to the respective service - are deleted from the event queue. Additionally, the configuration for the underlying channel, such as inbound and outbound bindings, is deleted.
## Next Steps
After deleting the communication arrangement, you need to delete the communication system belonging to the communication arrangement manually.
## 4.2.13.8.5  Integration with Advanced Mesh Service Plan for Service Cloud
With the SAP Event Mesh Advanced Plan, you can connect directly to your own SAP AEM instance. You can use SAP Event Mesh Advanced Plan for very large projects, where performance is crucial.
If you have a valid subscription to the SAP Integration Suite, advanced event mesh, you can use the Virtual Message Router (VMR) endpoint of SAP AEM broker obtained from the SAP AEM Console UI. The SAP AEM's validation service then only checks if a valid SAP AEM broker instance is available. If a valid SAP AEM instance is available, a direct connection to this instance is established.
This section describes the integration of the enterprise event enablement with the communication scenarios SAP Advanced Event Mesh Integration (SAP\_COM\_0492) and SAP Advanced Event Mesh Validation Service Integration (SAP\_COM\_0493).
The communication scenario SAP\_COM\_0492 is the prerequisite for SAP\_COM\_0493. To integrate with the SAP Advanced Event Mesh service, you need to create both the scenarios.
For the integration of an ABAP Platform Cloud tenant, you require a subscription to the SAP Advanced Event Mesh service and to the SAP AEM Validation service.
## 4.2.13.8.5.1  Uploading the Client Certificate
## Context
To connect your ABAP environment system with the SAP AEM broker, you need to upload the client certificate and the root certificate to the SAP AEM broker.
## Procedure
1. On the SAP Fiori launchpad in the ABAP environment system, open the app Maintain Client Certificate .
2. To download the client certificate , proceed as follows:
- a. Open the Client Default from the Client Certificates list.
- b. To export the client certificate , choose Export .
- c. On the Export Certificate dialog box, choose the X.509 Certificate (.pem) format.
- d. Choose Export .
##  Note
Remove any line breaks from the downloaded certificate before you proceed.
## 3.  Note
You need both the client and the root certificate. The root certificate can be extracted from the client certificate. T o access the root certificate, you must download the client certificate again in the crt-format and then extract the root certificate from this file.
To prepare the root certificate , proceed as follows:
- a. In the Maintain Client Certificate app, for the Client Default , choose Export again.
- b. On the Export Certificate dialog box, choose the Base-64-encoded X.509 certificate (.crt) format.
##  Note
The root certificate must be extracted from the crt-file. The procedure depends on whether you work on a Windows or on a Mac computer.
4. To prepare the root certificate on a Windows computer, proceed as follows:
- a. Double-click on the downloaded crt-file, or right click on the file and choose Open .
- b. Open the Details tab.
- c. Choose the Copy to File... button, then choose Next .
- d. Select the Base-64 encoded X.509 (.CER) format, and choose Next .
- e. Enter a file name and browse for a location, then choose Next .
- f. Choose Finish .
5. To prepare the Root Certificate on a Mac computer, proceed as follows:
- a. Open the Keychain app.
- b. Search for SAP .
- c. Select the correct root certificate.
Make sure to select the correct root certificate.
- d. Right-click on it and select Export &lt;name of certificate&gt; .
- e. Select the Privacy Enabled Mail (.pem) format.
- f. choose Save .
6. To upload the certificates to the SAP AEM broker, proceed as follows:
- a. Open the SAP AEM broker UI console.
- b. On the Manage tab, choose the Certificate Authorities tile.
- c. Choose the Add Client Certificate Authority button.
- d. Provide a Certificate Authority Name .
- e. Copy the content of the certificate you downloaded from your ABAP environment system before.
- f. Paste the content into Client Certificate Content field.
- g. Choose Save .
7. To upload the root certificate, proceed in the same way as for the client certificate.
## 4.2.13.8.5.3  Creating a Communication Arrangement for the Advanced Event Mesh Validation Service Integration (SAP\_COM\_0493)
## Context
This communication arrangement is needed to validate the SAP AEM broker destination URL.
## Procedure
1. Log on to the SAP Fiori launchpad in the ABAP environment system.
2. In the Communication Management app, select the Communication Arrangements artifact.
3. Choose New to create a new communication arrangement.
4. Enter or select the Scenario SAP\_COM\_0493 (communication scenario ID) for SAP AEM Validation Service .
5. Adapt the Arrangement Name .
6. Choose the Additional Properties button.
- a. For Channel , enter the name of the first channel you created in the previous chapter (SAP\_COM\_0492).
7. Choose Close to confirm your entries.
8. Enter the Service Key .
You find the service key in your SAP BTP Cockpit Subaccount under View Credentials .
9. Choose Create .
To check the connection, proceed as follows:
10. In the Communication Management app, go to Communication Arrangements .
11. Open the SAP\_COM\_0492 channel you created before.
12. Under Outbound Services , choose the Check Connection button.
The connection is tested. You get a status message from the Fiori Launchpad whether the connection check was succesful.
## Results
##  Note
To maintain inbound and outbound bindings, refer to Configuration of Event Publishing and Event Consumption Scenarios [page 1143]
## 4.2.13.8.6  Direct Push-Based Integration
With direct push-based integration, you can connect neighboring ABAP Systems (for example SAP S/4HANA Public/Private Cloud, SAP S/4HANA On-Premise or SAP BTP ABAP environment tenants) with each other. In this scenario, the connected systems exchange data (like business events) by calling each other directly via RFC.
Advantages of this functionality are a simpler setup and a faster connectivity (depending on the RFC technology used). This integration can also be used to try out event-driven architecture in a small scope.
##  Note
Direct push-based integration can only be used between ABAP systems. An ABAP system can be an SAP S/4HANA Cloud, SAP S/4HANA On-Premise or SAP BTP ABAP environment system.
For this one-directional process, you need (at least) two ABAP systems:
- one receiver system
- one (or more) sender system(s)
## 4.2.13.8.6.1  Creating the Receiver Channel SAP\_COM\_0A23
## Context
Outline:
- Create a new communication arrangement.
- Create a new communication system.
- Create a new inbound user as daemon user. Copy user and password.
- Save the communication system.
- Save the communication arrangement. Copy API-url.
## Procedure
1. Open the SAP Fiori launchpad of the receiver system.
2. In the Communication Management section, open Communication Arrangements .
3. Choose the New button.
4. Select the scenario SAP\_COM\_0A23 , labeled Enterprise Event Enablement - Direct Event Inbound Integration .
5. Enter an arrangement name and choose Create .
The communication arrangement editor is opened.
6. In the Common Data section, next to the Communication System field, choose New to create a new communication system.
The communication system editor is opened.
7. Provide a System ID and a System Name .
You can choose any system ID and name. For example, you can use the same as for the communication arrangement for both ID and name.
8. Choose Create .
The new Communication System is opened.
9. In the Technical Data section, under General , mark the Inbound Only checkbox.
10. In the section Users for Inbound Communication , choose the + symbol on the right to create a new user.
- a. For the Authentication Method , select User Name and Password .
- b. Leave the User Name/Client ID field blank and choose New User .
The Create Communication User editor is opened.
- c. Enter a User Name and a Description .
- d. Enter a Password or choose Propose Password and save it for later.
- e. Choose Create .
- f. Choose OK in the New Inbound Communication User popup window.
A new inbound user is created and added to the communication system.
11. Choose Save in the Communication System creation window.
12. In the Communication Arrangements window, in the Additional Properties tab, provide a Channel and a Description .
You can choose any channel name. For example, you can use the same as for the communication arrangement for both channel and description. This channel name is used later during the channel configuration and monitoring.
13. From the Common Data section, copy the provided API-URL without https:// . Y ou will need this info later for the host name of the sender channel.
14. Choose Save .
## 4.2.13.8.6.2  Creating the Sender Channel SAP\_COM\_0A22
## Context
## Outline:
- Create a new communication arrangement
- Create a new communication system.
- Create a new outbound user: choose the daemon user created before.
- Additionally, create a new inbound user as destination.
- Save the communication system.
- Save the communication arrangement.
## Procedure
1. Open the SAP Fiori launchpad of the sender system.
2. In the Communication Management section, open Communication Arrangements .
3. Choose the New button.
4. Select the scenario SAP\_COM\_0A22 , labeled Enterprise Event Enablement - Direct Event Outbound Integration .
5. Enter an arrangement name and choose Create .
The communication arrangement editor is opened.
6. In the Common Data section, next to the Communication System field, choose New to create a new communication system.
The communication system editor is opened.
7. In the General section, paste the API-url you created in the communication arrangement of receiver channel into the Host Name field.
Paste the url without https:// .
For more information about where to find the API-url for the host name, see Creating the Receiver Channel SAP\_COM\_0A23 [page 1138].
8. In the section Users for Outound Communication , choose the + symbol on the right to create a new user.
- a. For the Authentication Method , select User Name and Password .
- b. In the User Name/Client ID field, enter the inbound user you created in the receiver channel.
- c. Enter the Password you defined for the inbound user of the receiver channel.
- d. Choose Create .
A new outbound user is added to the communication system.
9. In the section Users for Inbound Communication , choose the + symbol on the right to create a new user.
- a. For the Authentication Method , select User Name and Password .
- b. Leave the User Name/Client ID field blank and choose New User .
The Create Communication User editor is opened.
- c. Enter a User Name and a Description .
- d. Enter a Password or choose Propose Password .
- e. Choose Create .
- f. Choose OK in the New Inbound Communication User popup window.
A new inbound user is created and added to the communication system.
10. In the Communication Arrangements window, in the Additional Properties tab, provide a Channel and a Description .
You can choose any channel name. For example, you can use the same as for the communication arrangement for both channel and description.
11. In the Communication Partner ID field, enter the name of the SAP\_COM\_0A23 receiver channel you created before.
12. Choose Save .
The communication arrangement is activated.