orkungedik/SAP-basis-dataset huggingface dataset:
## 5.2.7  Assign Role Collections to Users or User Groups
To provide users with authorization, you assign them to role collections in either of the following ways. Both approaches result in the same outcome, so choose whichever is more convenient:
- Add New or Existing Users to Role Collections [page 41]
- Create Users and Assign them with Role Collections [page 42]
## Add New or Existing Users to Role Collections

2. Create or search for and open a role collection, then choose Edit .
3. Under Users , enter the ID of the user and choose the identity provider. If the user only exists in a connected identity provider, choose the identity provider and type in the e-mail address. Then choose + (Add User).


The user is created and added.
4. Repeat the previous steps to add further users to the role collection.


## Create Users and Assign them with Role Collections
The following description shows how to assign collections to individual users with the example identity provider that we set up in the section Configure Your SAP Cloud Identity Services Tenant as Identity Provider or Proxy of Your Subaccount [page 35] in this guide.

2. To create a new user, choose Create and enter the required data. Alternatively, select an existing user from the list in the overview.

## Step Task
- 3.
- Choose the user to open the details page. In the details under Role Collections , choose Assign Role Collection .
4. Search for the role collection you want to assign, select the role collection, and choose Assign Role Collection .
5. Now the user has at least one role collection assigned.
## 5.3 Enable API Access
API access to SAP Subscription Billing is based on the OAuth 2.0 specification, implemented by the SAP Authorization and Trust Management service in the Cloud Foundry Environment on SAP Business Technology Platform (SAP BTP). For API access to SAP Subscription Billing and, optionally, Price Calculation, you create service instances that represent the OAuth client. By providing relevant scopes via a JSON parameter, you define which functions and data the OAuth client can retrieve. For more information, see SAP Authorization and Trust Management Service in the SAP BTP documentation.
For the service instances, you create service bindings, which contain the relevant information for retrieving access tokens for the API access. There are two different ways in which a client can authenticate against the token server to retrieve the access token:
- Using client ID and client secret from the service binding
- Using a client certificate from the service binding This option is supported by the SAP Subscription Billing service only, not by the Price Calculation service.
If you use a client certificate you provide an 'external' certificate when creating the service binding. In case of an integration with SAP S/4HANA Cloud Public Edition, we recommended you use the Client Default certificate provided to the respective tenant. In other cases you bring your own external X.509 certificate.
When using X.509 client certificates from the service binding, access tokens are retrieved with Mutual Transport Layer Security (mTLS). This is considered more secure than a combination of client ID and client
secret. Unlike retrieving the access token with client ID and client secret, no secret is shared between calling application and the service instance of the SAP Authorization and Trust Management service. See Retrieving Access Tokens with Mutual Transport Layer Security (mTLS) in the SAP BTP documentation.
The sections Create a Service Binding with Client ID and Client Secret [page 52] and Create a Service Binding with Client Certificate [page 56] describe the setup and the two different options for the service bindings.
##  Note
To view the service credentials, users require the role Subaccount Service Auditor (part of the default role collection Subaccount Viewer ).
## 5.3.1  Create a Service Instance
When you create a service instance, you provide a set of scopes that define which of the APIs can be called and which activities can be done using service bindings created for the instance.
To enable integration and use of SAP Subscription Billing APIs, you must create an instance of the SAP Subscription Billing service. Optionally, if you want to use the Price Calculation APIs, you can create an instance of the Price Calculation service.
To create an instance, you require the Subaccount Service Administrator role. When you create a subaccount, SAP BTP automatically grants this role to your user.
## Step Task

## Step Task
2. You see all the services that are available to you. Search for and select the service SAP Subscription Billing .
3. Under Service Plans , display the action menu of the plan for which you want to create an instance and choose Create .


In this guide, we use the default plan for the example.
## Step Task

4. Check that the runtime environment Other is selected, enter a name for the instance and choose Next .
In this example, we used 'INSTANCEDEMO' as the instance name:

5. To define the relevant scopes, upload a JSON file or specify parameters in JSON format.
For an up-to-date list of scopes with their descriptions, see SAP Subscription Billing API Scopes in the API Guide.
The example JSON file contains all the available API scopes. Adjust the file to restrict access according to your requirements. For testing purposes, you may want to start with a complete set up scopes for restricted users.

After providing the instance parameters, choose Next .

6.

## Step Task
10. Repeat the steps above if you want to create an instance for the Price Calculation service.
- In step 4. make sure the standard plan is selected to create an instance. In this example, we used 'DEMOPCS' as the instance name:
- In step 5. you don't need to define the relevant scopes by specifying a JSON file or parameters in JSON format. Instances of the Price Calculation service automatically have all API scopes included.

##  Note
You can create multiple instances to provide different sets of scopes to different users or technical integrations. If you create an additional service instance in the same subaccount, you must use a different value for the attribute xsappname in the JSON file that contains the scopes. The xsappname value must be unique within the subaccount.
## 5.3.2  Update a Service Instance
In the following cases, you can update an existing service instance to properly reflect the authorizations for the API access provided via the service instance:
- If you want to consume new APIs or new features of SAP Subscription Billing that require further scopes not provided via the JSON file used for the initial creation of the service instance. This can happen if the use case is extended or if a new feature requires a new scope.
- If you use the booster for onboarding to SAP Subscription Billing, the service instance is created with all scopes. If your API access use case doesn't require all scopes, you can change the service instance to adopt a "least privilege" principle. This is recommended for production tenants and test tenants that contain critical data or require a production-like setup.

## Step Task

2. Choose Next .

## Step Task
3. To define the relevant scopes, upload a JSON file or specify parameters in JSON format.
For an up-to-date list of scopes with their descriptions, see SAP Subscription Billing API Scopes in the API Guide.
The example JSON file contains all the available API scopes. Adjust the file to your updated use case by removing the scopes that are not needed.
In the JSON file, you must provide the same value for the attribute xsappname as used when creating the instance.
##  Tip
Instances created via the booster are named 'subscription-billing-service' and use 'subscription-billing' as the xsappname in the JSON format.
If you don't know which xsappname has been used, you can check the credentials of a service binding created for your existing instance (in the instance details, under Service Bindings ). Choose View Credentials for the service binding, and look for the parameter xsappname . From the value of this parameter you require the first part of the string before the exclamation mark.

The following example JSON format provides view access to billing data and subscriptions, with the xsappname 'subscription-billing' .
## 4. Choose Update Instance .
If you've used the wrong xsappname value, the update will fail with the error:
'Service broker error: … Error description: Cannot change AppId with update. Old AppId: &lt;your formerly used xsappname&gt;!bxxx|revenue-cloud!bxxx New AppId: &lt;xsappname of your new JSON file&gt;!bxxx|revenue-cloud! bxxx'
In this case restart the update process and change the xsappname value in the JSON in step 3 to the previously used value.
## 5.3.3  Create a Service Binding with Client ID and Client Secret
To work with APIs, technical users need a service binding containing the relevant information to get an access token. One way of authenticating against the token server to retrieve the access token is by using the client
ID and client secret from the service binding. The following steps explain how to create this type of service binding.
Service bindings enable access to APIs with the set of scopes defined in the service instance. If you need API access with different sets of scopes, please create separate instances for it.
##  Note
- "Service binding" and "service key" are used synonymously in SAP BTP.
## Step Task
1. On the Instances and Subscriptions screen, under Instances , display the action menu of the instance and choose Create Service Binding .
If you have created instances for both the SAP Subscription Billing service and Price Calculation service, you need to follow the steps below for each instance.

## Step Task
2. In the New Binding view, follow these steps:
For the SAP Subscription Billing service:
1. Enter a name under Binding Name .
2. Under Service Binding/Key Type , keep the selection Client ID/Secret .
3. Choose Create .

For the Price Calculation service:
1. Enter a name under Binding Name .
2. Choose Create (you don't need to upload a file).

3. To see the newly created service binding, display its action menu and choose View .
##  Note
To view the service credentials, users require the role Subaccount Service Auditor (part of the default role collection Subaccount Viewer ).
## Step Task
4. The details of the service binding are displayed.
The service binding contains the information needed to generate an access token to access the APIs.
For information on generating a token, see Generate an Access Token in the API Guide .

If you need more details, including explanations of the SAP BTP concepts, refer to the documentation Getting Started with an Enterprise Account in the Cloud Foundry Environment, where you can use the interactive graphics to navigate to more information.
## 5.3.4  Create a Service Binding with Client Certificate
##  Note
This method is not available for the Price Calculation service.
To work with APIs, technical users need a service binding containing the relevant information to get an access token. One way of authenticating against the token server to retrieve the access token is by using an X.509 client certificate from the service binding. The following steps explain how to create this type of service binding.
The alternative way of authenticating is to retrieve the access token is by using a client certificate from the service binding (see Create a Service Binding with Client ID and Client Secret [page 52]).
Service bindings enable access to APIs with the set of scopes defined in the service instance. If you need API access with different sets of scopes, please create separate instances for it.
##  Note
"Service binding" and "service key" are used synonymously in SAP BTP.
## Step Task
To create a service binding, you need to bring an X.509 client certificate.
For API access from SAP S/4HANA Cloud Public Edition (communication scenario SAP\_COM\_0642 ), we recommend using the Client Default certificate from the SAP S/4HANA Cloud tenant. For any other integration you bring your own external certificate.
For easier reading, "SAP S/4HANA Cloud" is used in this help section to refer to the software product SAP S/4HANA Cloud Public Edition.
The following steps 1-4 describe how the Client Default certificate can be exported from SAP S/4HANA Cloud.
1. Log on to your SAP S/4HANA Cloud system with the Administrator role.
2. Go to the Maintain Client Certificates app.
3. In the Actions column, download the Client Default certificate to your local machine by selecting Export Certificate .

This certificate is provided by SAP for SAP S/4HANA Cloud tenants.
The validity of the certificate is displayed in the Valid To column.

##  Note
Make sure to renew the certificate before it expires and update the service binding with a new certificate it in case of a configuration update.
## Step Task
4. Export the Base-64-encoded X.509 certificate (.crt) and open the downloaded '.crt' file in a text editor.

The following steps describe service binding creation in the SAP BTP cockpit.
5. On the Instances and Subscriptions screen, under Instances , display the action menu of the instance and choose Create Service Binding .

## Step Task
6. In the New Binding view:
1. Enter a name for the binding.
2. Under Service Binding/Key Type , select X.509 Certificate .

## Step Task
7. Paste the entire content of the ".crt" file that you opened in the text editor into the Certificate field.

Step
Task
8. You can switch to the JSON tab in the view to check the format of the form.

##  Caution
Don't make any manual changes to the JSON as this might invalidate the certificate and can lead to failures when creating the service binding.
## 9. Choose Create .
##  Note
For one external certificate, you can only create one service binding per service instance. If you try to create an additional binding, the creation fails.
The following steps are relevant in case you want to configure API access for the integration of SAP Subscription Billing with SAP S/4HANA Cloud using communication scenario SAP\_COM\_0642 .
Step
Task
10. Using the Administrator role, log on to your SAP S/4HANA Cloud system and go to the Communication System app.
11. Create a communication system as described under Create Communication System for SAP Subscription Billing
- API Integration in the Setup Instructions for Scope Item 57Z or Setup Instructions for Scope Item 5IK

In the OAuth 2.0 Settings , enter the URLs using these patterns:
- Authorization Endpoint : &lt;certurl&gt;/authorize
- Token Endpoint : &lt;certurl&gt;/oauth/token
##  Tip
You can find the url and certurl properties inside the uaa object in the service binding that you created for the "SAP Subscription Billing" service. To enter the endpoints correctly, remove https:// from the URL and add /authorize or /oauth/token at the end, as shown above.

If you need to create a communication arrangement, follow the procedure described under Create Communication Arrangement for SAP Subscription Billing - API Integration (SAP\_COM\_0642) in the Setup Instructions for Scope Item 57Z or Setup Instructions for Scope Item 5IK .
.
12. Create a new Outbound User for communication scenario SAP Subscription Billing - API Integration ( SAP\_COM\_0642 ).

Make the following settings:
1. Authentication Method : OAuth 2.0
2. OAuth 2.0 Client ID : Copy the value from the service binding you created earlier. You can view the service binding in the SAP BTP cockpit or download it. You find the relevant value under clientid .
3. Client Authentication : mTLS
4. Client Certificate : Client Default
## 13. Choose Create .
##  Note
To view the service credentials, users require the role Subaccount Service Auditor (part of the default role collection Subaccount Viewer ).
## 5.4 Set Up SAP Cloud Application Event Hub
Complete the setup described in this section if you are integrating SAP Subscription Billing with SAP S/4HANA Cloud Public Edition and want to use SAP Cloud Application Event Hub to distribute events.
Business events are used to replicate subscriptions and billing forecasts in SAP Subscription Billing as provider contracts and forecast billing plans respectively in SAP S/4HANA Cloud. You can choose which event distribution service to use for this. Refer to the information on the SAP Discovery Center help you decide:
- SAP Cloud Application Event Hub
- SAP Event Mesh
##  Note
With SAP Cloud Application Event Hub, the scenario is preconfigured and managed by SAP. With SAP Event Mesh, the scenario is configured in a customer-managed way, so you need to define the queue and event topics that are required for the integration, and register the queue in SAP S/4HANA Cloud.
The steps in this section guide you directly through the required setup of SAP Cloud Application Event Hub. If you want to learn more about the service, refer to the SAP Cloud Application Event Hub Service Guide.
## 5.4.1  Add SAP Cloud Application Event Hub to a Subaccount
Add your entitlement for the standard application plan of SAP Cloud Application Event Hub to either your SAP Subscription Billing subaccount or another subaccount.
## Prerequisite
You have Subaccount Administrator authorizations at a minimum.
## Procedure
|   Step | Task                                                                                                                       |
|--------|----------------------------------------------------------------------------------------------------------------------------|
|      1 | In the subaccount where you want to add your entitlement, choose Entitlements in the navigation panel.                     |
|      2 | To start, choose Edit .                                                                                                    |
|      3 | Now choose Add Service Plans .                                                                                             |
|      4 | Under Entitlements , search for SAP Cloud Application Event Hub , select the service, and the standard applica- tion plan. |
|      5 | Confirm the change by choosing Add 1 Service Plan .                                                                        |
|      6 | Assign the quota and choose Save to finish.                                                                                |
|      7 | Verify that the application plan displays in the table of entitlements.                                                    |
## 5.4.2  Subscribe to the SAP Cloud Application Event Hub Application
To enable access to the SAP Cloud Application Event Hub application, subscribe to the standard application plan. You'll use the application further on in the setup to enable preconfigured subscription content.
## Prerequisites
- You have Subaccount Administrator authorizations at a minimum.
- You have added your entitlement for SAP Cloud Application Event Hub to a subaccount (see Add SAP Cloud Application Event Hub to a Subaccount [page 65]).
## Procedure
| Step   | Task                                                                                                                              |
|--------|-----------------------------------------------------------------------------------------------------------------------------------|
| 1.     | In the subaccount in which you added SAP Cloud Application Event Hub, choose Instances and Subscriptions in the navigation panel. |
| 2.     | Choose Create .                                                                                                                   |
| 3.     | Scroll through the service list or type in Event Hub , select SAP Cloud Application Event Hub and the standard application plan.  |
| 4.     | Choose Create .                                                                                                                   |
|        | The subscription is activated and the Go to Application link becomes available in the subscription details.                       |
|        |  Note                                                                                                                            |
|        | To access the application, you need to apply roles to your user, which you do in the next activity.                               |
## 5.4.3  Provide Authorization for the SAP Cloud Application Event Hub Application
You need to assign role-based permissions to each user who needs access to the SAP Cloud Application Event Hub application to enable preconfigured subscription content.
## Prerequisites
- You have Subaccount Administrator authorizations at a minimum.
- You have subscribed to the SAP Cloud Application Event Hub standard application plan (see Subscribe to the SAP Cloud Application Event Hub Application [page 65]).
## Procedure
| Step   | Task                                                                                          |
|--------|-----------------------------------------------------------------------------------------------|
| 1.     | In the subaccount in which you added SAP Cloud Application Event Hub, choose Security Users . |
| 2.     | Choose a user row.                                                                            |
|        | The table opens a new column to the right and exposes the role details.                       |

|   Step | Task                                                                                                                                                                              |
|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|      3 | Under Role Collections , choose Assign Role Collection (if you're working on a small screen, you can find the option by choosing the three dots that represent the options menu). |
|      4 | Choose the role collection Event Broker Integration Administrator then choose Assign Role Collection .                                                                            |
|      5 | Verify that the role collection appears in the list for the user.                                                                                                                 |
## Results
Once role permissions are assigned to users, they can access the SAP Cloud Application Event Hub application using the link in the row for the subscribed application plan.
## 5.4.4  Register Your SAP S/4HANA Cloud Tenant in Your Global Account
To connect an SAP S/4HANA Cloud Public Edition tenant with a global account in SAP BTP, you need to register the tenant in the corresponding global account.
Follow the instructions under Register Your SAP S/4HANA Cloud Public Edition Tenants in Your Global Account [page 14].
## 5.5 Set Up SAP Event Mesh
Complete the setup described in this section if you want to implement a customer-defined process extension, or if you are integrating SAP Subscription Billing with SAP S/4HANA Cloud Public Edition and want to use SAP Event Mesh to distribute events.
Events are messages that can be sent to notify a consumer about life cycle changes to an object, such as creation, update, or a status change. For an overview of the different ways that events can be used with SAP Subscription Billing, see Integration Using Events in the Integration Guide .
##  Note
You need to purchase a separate license to use the SAP Event Mesh service.
If you're integrating SAP Subscription Billing with SAP S/4HANA Cloud Public Edition, you can choose which event distribution service to use. Refer to the information on the SAP Discovery Center help you decide:
- SAP Cloud Application Event Hub
- SAP Event Mesh
With SAP Cloud Application Event Hub, the scenario is preconfigured and managed by SAP. With SAP Event Mesh, the scenario is configured in a customer-managed way, so you need to define the queue and event topics that are required for the integration, and register the queue in SAP S/4HANA Cloud Public Edition.
##  Caution
## During setup:
- Entitlements to the SAP Event Mesh service must be provisioned in the same SAP BTP global account as SAP Subscription Billing.
- The SAP Event Mesh instance must be created in the same subaccount in which you subscribed to SAP Subscription Billing.
For more information, see Initial Setup in the SAP Event Mesh documentation.
## 5.5.1  Assign an Event Mesh Entitlement
You need to assign entitlement quotas to your subaccount.
##  Caution
Entitlements to the SAP Event Mesh service must be provisioned in the same SAP BTP global account as SAP Subscription Billing.
## Step Task
1. In your subaccount, choose Entitlements in the navigation panel.

##  Note
You must use the same subaccount as the one in which you subscribed to SAP Subscription Billing.
## 5.5.2  Create an Event Mesh Instance
##  Tip
For the consumption of events, the prices set in the SAP Event Mesh price list apply.
You can create a new Event Mesh instance by using the SAP BTP cockpit or by using the Cloud Foundry Command Line Interface. In this section, we provide instructions for the SAP BTP cockpit.
##  Note
Entitlements to the SAP Event Mesh service must have been provisioned in the same SAP BTP global account as SAP Subscription Billing (in Assign an Event Mesh Entitlement [page 71]).
## Step Task
1. In your subaccount, choose Cloud Foundry Spaces in the navigation panel.

##  Caution
You must use the same subaccount as the one in which you subscribed to SAP Subscription Billing.
2. Open the space in which you want to create a service instance.


## Step Task
5. Under Service Plans , display the action menu of the plan for which you want to create an instance and choose Create .

##  Note
Your user must be a member of the space and have the role Space Developer assigned. If not, you won't see the button Create .
## Step Task

7. Upload a JSON file or specify the parameters in JSON format.
```
ennane <yourmessageclientname "namespace" version "1.1.0" "options 'managenent Lrue 'nessagingrest true, "messaging" true "rules "queueRules "publishFilter": S {namespace} / * subscribeFilter S {namespace} / * "topicRules "publishFilter": S {namespace} / * subscribefilter" sap/billing/ sb/ *
```
```
{ "emname": "<yourmessageclientname>", "namespace": "<yourorgname>/<yourmessageclientname>/<uniqueID>", "version": "1.1.0", "options": { "management": true, "messagingrest": true, "messaging": true }, "rules": { "queueRules": { "publishFilter": [ "${namespace}/*" ], "subscribeFilter": [ "${namespace}/*" ] }, "topicRules": { "publishFilter": [ "${namespace}/*" ], "subscribeFilter": [ "sap/billing/sb/*" ] } } }
```
Provide the parameters for which the placeholders are highlighted in yellow: name of message client, namespace, and connection rules for the message client.
##  Tip
The namespace must contain alphanumeric characters with 3 segments (a/b/c) and have a maximum length of 24 characters. Don't use the term 'sap' in your namespace because it's reserved for SAP applications.
For more information, see Syntax for Service Descriptor in the SAP Event Mesh documentation.
To receive events from SAP Subscription Billing, you must define a subscribeFilter rule as highlighted in green in the service description. With this configuration, you specifically subscribe to the topics for SAP Subscription Billing.
|   8. | After providing the parameters, choose Next .                                        |
|------|--------------------------------------------------------------------------------------|
|    9 | Check that everything is correct and choose Create .                                 |
|   10 | The creation process starts. Choose View Instance to switch to the Instances screen. |
|   11 | Your instance is created.                                                            |
## 2.1 Solutions and Services
Consume the solutions and services by SAP BTP according to your preferred development environment and use cases.
## Solutions
SAP BTP offers fast in-memory processing, sustainable, agile solutions and services to integrate data and extend applications, and fully embedded analytics and intelligent technologies.
## Services
Services enable, facilitate, or accelerate the development of business applications and other platform services on SAP BTP. Services are grouped into the following service types:
- Business services : Services that enable, facilitate, or accelerate the development of business process components or provide industry-specific functionalities or content within a business application.
- Technical services : Services that enable, facilitate, or accelerate the development of general or domain independent content within a business application, independent of the application's business process or task.
<!-- image -->
You find all available services, solutions, and use cases in the SAP Discovery Center . Use the service catalog to access service-specific resources:
<!-- image -->
## 2.2.4.1 Disaster Recovery as Part of the Business Continuity Plan
The cloud platform disaster recovery (DR) plan is part of the overall cloud platform business continuity plan, which includes crisis management and process continuity activities that are triggered by a declared disaster.
## Standard Disaster Recovery
SAP can restore productive tenants from backups as soon as practicable in case of a disaster resulting in the loss of the primary production data center.
As the magnitude of a disaster is unpredictable, a region might not be restored in a reasonable time. In addition, a new infrastructure might need to be set up at a different location, which might require the purchase and setup of new hardware. Therefore, we can't guarantee any fixed recovery timelines.
## In-Metro Disaster Recovery
In-Metro DR is a disaster recovery solution that utilizes synchronous data replication. It has been designed to protect our customers from the impact of local disasters that may affect a single availability zone (AZ). By deploying services across multiple AZs within a single region, In-Metro DR ensures that if a disaster occurs in one AZ, the issue is contained within that zone. Meanwhile, the other unaffected AZs continue to function normally, efficiently handling incoming requests.
- In-Metro DR is offered to customers of SAP BTP cloud services as contractual obligations and includes:
- Recovery Point Objective (RPO): No more than 5 minutes of data loss.
- Recovery Time Objective (RTO): Full-service restoration within 2 hours.
- In-Metro DR solution leverages an active/active HA set up across 2 or more availability zones with a failover for all customers from primary to secondary site. That is, availability zones within a single region
- Fully functioning availability zones are paired with every primary availability zone, application stack is pre-built with same capacity and compute as the primary availability zone.
- A written, customer facing DR plan exist and is updated at least once every 12 months.
- A DR test is performed at least once every 12 months, and the DR documents are revised as needed based on the results.
- The In-Metro DR solution passes annual audits and receives certifications (for example, SOC2).
- Scope:
- For the scope of SAP BTP services, see SAP BTP Disaster Recovery Overview .
- Includes SAP BTP regions on AWS and Azure
## 2.3 Environments
Environments constitute the actual platform-as-a-service offering of SAP BTP that allows for the development and administration of business applications. Environments are anchored in SAP BTP on subaccount level.
Each environment comes equipped with specific tools, technologies, and runtimes that you need to build applications. So a multi-environment subaccount is your single address to host a variety of applications and offer diverse development options. One advantage of using different environments in one subaccount is that you only need to manage users, authorizations, and entitlements once per subaccount, and thus grant more flexibility to your developers.
##  Note
The multi-environment subaccount functionality is not applicable for the Neo environment.
<!-- image -->
## Environment Instances
To actually use an environment in a subaccount, you must enable it, which creates an instance of that environment. There are several ways to create environment instances :
- In the SAP BTP cockpit, on the subaccount overview, choose Enable .
- In the SAP BTP cockpit, under Service Marketplace . Here, you get more information, such as the available plans and links to further information.
- Using the btp CLI command btp create accounts/environment-instance
## Cloud Foundry Environment [page 57]
The Cloud Foundry environment allows you to create polyglot cloud applications in Cloud Foundry. It contains the SAP BTP, Cloud Foundry runtime service, which is based on the open-source application platform managed by the Cloud Foundry Foundation.
## ABAP Environment [page 76]
The ABAP environment allows you to create extensions for ABAP-based products, such as SAP S/ 4HANA Cloud, and develop new cloud applications. You can transform existing ABAP-based custom code or extensions to the cloud.
## Kyma Environment [page 81]
SAP BTP, Kyma runtime provides a fully managed cloud-native Kubernetes application runtime based on the open-source project "Kyma". Based on modular building blocks, Kyma runtime includes all the necessary capabilities to simplify the development and to run enterprise-grade cloud-native applications.
## Neo Environment [page 98]
The Neo environment lets you develop HTML5, Java, and SAP HANA extended application services (SAP HANA XS) applications. You can also use the UI Development Toolkit for HTML5 (SAPUI5) to develop rich user interfaces for modern web-based business applications.
## Related Information
Account Administration [page 2204]
## 2.3.1  Cloud Foundry Environment
The Cloud Foundry environment allows you to create polyglot cloud applications in Cloud Foundry. It contains the SAP BTP, Cloud Foundry runtime service, which is based on the open-source application platform managed by the Cloud Foundry Foundation.
The Cloud Foundry environment enables you to develop new business applications and business services, supporting multiple runtimes, programming languages, libraries, and services. You can leverage a multitude of buildpacks, including community innovations and self-developed buildpacks. It also integrates with SAP HANA extended application services, advanced model.
For more information about Cloud Foundry, see the official Cloud Foundry documentation at https:/ / docs.cloudfoundry.org/ .
## Supported and Unsupported Cloud Foundry Features [page 59]
Find out which Cloud Foundry features the Cloud Foundry environment on SAP BTP supports and doesn't support.
## SAP BTP-Specific Configurations [page 59]
Learn about technical configurations for Cloud Foundry that are specific to SAP BTP.
## Availability Zones in the Cloud Foundry Environment [page 61]
The Cloud Foundry environment follows the recommendations of our partner IaaS providers by leveraging the availability zones (AZ) concept.
## Additional Information About Cloud Foundry [page 63]
Links to additional information about Cloud Foundry that is useful to know but not necessarily directly connected to the SAP BTP, Cloud Foundry environment.
## Service Plans and Metering for Cloud Foundry Runtime [page 64]
This page explains the relationship between the service plans in the SAP Discovery Center and those in the SAP BTP cockpit, and provides information to help you understand how the service is billed.
## Related Information
Getting Started in the Cloud Foundry Environment [page 150] Development in the Cloud Foundry Environment [page 237] Administration and Operations in the Cloud Foundry Environment [page 2501]
## 2.3.1.1 Supported and Unsupported Cloud Foundry Features
Find out which Cloud Foundry features the Cloud Foundry environment on SAP BTP supports and doesn't support.
## Supported Features
- Diego runtime. See https:/ /docs.cloudfoundry.org/concepts/diego/diego-architecture.html .
- SSH. See https:/ /docs.cloudfoundry.org/devguide/deploy-apps/app-ssh-overview.html .
- Custom Domains. See https:/ /docs.cloudfoundry.org/devguide/deployapps/routes-domains.html#domains .
- Docker. See https:/ /docs.cloudfoundry.org/adminguide/docker.html .
- Running Tasks. See https:/ /docs.cloudfoundry.org/devguide/using-tasks.html .
- Request Tracing
- Zipkin Tracing. See https:/ /docs.cloudfoundry.org/adminguide/zipkin\_tracing.html
.
- Websockets. See https:/ /docs.cloudfoundry.org/adminguide/supporting-websockets.html .
- Space-Scoped Service Brokers. See https:/ /docs.cloudfoundry.org/services/managingservice-brokers.html .
- Route Services (only user-provided and fully-brokered services). See https:/ /docs.cloudfoundry.org/services/route-services.html .
- Sharing Service Instances (not all services support instance sharing). See https:/ /docs.cloudfoundry.org/devguide/services/sharing-instances.html
.
- HTTP/2. See https:/ /docs.cloudfoundry.org/adminguide/supporting-http2.html#application .
- Streaming Logs to Log Management Services. See https:/ /docs.cloudfoundry.org/devguide/services/log-management.html .
- Configuring per-route options. See https:/ /docs.cloudfoundry.org/devguide/customper-route-options.html
## 2.3.1.3 Availability Zones in the Cloud Foundry Environment
The Cloud Foundry environment follows the recommendations of our partner IaaS providers by leveraging the availability zones (AZ) concept.
## About Availability Zones
Availability zones (AZ) are single failure domains within a single geographical region and are separate physical locations with independent power, network, and cooling. Multiple AZs exist in one region and are connected with each other through a low-latency network.
2-AZ and 3-AZ Deployments
<!-- image -->
To achieve better fault-tolerance, our partners recommend deploying services across multiple AZs, which improves the availability of a service if there are issues with the region infrastructure of one AZ.
## High Availability at Platform and Application Level
The SAP BTP Cloud Foundry environment follows these recommendations to support high availability at the platform and application level:
## · High availability of the platform components:
- The building blocks of Cloud Foundry and the virtual machines on which the Cloud Foundry application instances are scheduled run in a high availability setup. These instances are distributed across different AZs.
- The technology that manages the deployment of the Cloud Foundry environment monitors the health of the platform. If there are infrastructure failures, it re-creates the faulty components.
## · High availability on the application level:
- We recommend running multiple application instances to increase availability. For more information, see Run Multiple Instances to Increase Availability . On SAP BTP, there are three ways to increase application instances:
- Scaling your application using the application manifest. The manifest.yml allows you to make and save configurations for your application. To scale, you can configure the instance count in the manifest and push the application again with the new configuration. See App Manifest Attribute Reference . T o avoid downtimes when updating your application configuration, you can also consider using rolling application deployments. See Rolling App Deployments .
- Scaling your application using the cf scale command in the Cloud Foundry command line interface (CF CLI). See Scaling an App Using cf scale .
- Scaling your application using the SAP BTP cockpit. See Add or Remove Application Instances.
- The Cloud Foundry container scheduler takes care of distributing the different instances of one application on virtual machines in different AZs. For more information, see How Diego Balances App Processes .
- Cloud Foundry is constantly monitoring the health state of application instances and restarts instances that are considered unhealthy. See Using App Health Checks .
- When the number of desired instances doesn't match the number of actually running instances, Cloud Foundry reschedules the missing instances, for example, when the virtual machines that an application instance was initially scheduled on become unresponsive.
For more information on high availability configuration, see High Availability in Cloud Foundry . For more information on application stability and resilience, see Developing Resilient Applications.
## 2.3.2  ABAP Environment
The ABAP environment allows you to create extensions for ABAP-based products, such as SAP S/4HANA Cloud, and develop new cloud applications. You can transform existing ABAP-based custom code or extensions to the cloud.
The ABAP environment is based on the latest ABAP platform cloud release that is also used for SAP S/4HANA Cloud. It leverages the innovations provided by SAP HANA. The software stack contains standard technology components that are familiar from the standalone Application Server ABAP. The ABAP environment supports the ABAP RESTful Application Programming Model including SAP Fiori and Core Data Services (CDS). SAP services and APIs are offered according to the new approach of released objects. The ABAP environment can be integrated with other SAP BTP services, such as SAP Destination service, SAP Build Work Zone, standard edition, SAP Build Process Automation, and SAP Interactive Forms by Adobe.
Each ABAP system in the ABAP environment utilizes a dedicated SAP HANA database, which is provided by the SAP HANA Cloud service and managed by the ABAP environment. The database is linked 1:1 to the ABAP system.
For information about regional availability, see Regions and API Endpoints for the ABAP Environment [page 42].
## Related Information
<!-- image -->
<!-- image -->
Getting Started in the ABAP Environment [page 168]
Development in the ABAP Environment [page 745]
Administration and Operations in the ABAP Environment [page 2631]
Using Free Service Plans
Discovery Center
SAP Community
SAP Road Map Explorer Learning Journey
Tutorials
<!-- image -->
<!-- image -->
## 2.3.3  Kyma Environment
SAP BTP, Kyma runtime provides a fully managed cloud-native Kubernetes application runtime based on the open-source project "Kyma". Based on modular building blocks, Kyma runtime includes all the necessary capabilities to simplify the development and to run enterprise-grade cloud-native applications.
## Kyma as a Managed Service
Kyma environment permits a native consumption of the Multi-Cloud Foundation Services (What Is the MultiCloud Foundation?) and smooth consumption of SAP and non-SAP applications. It also supports out-of-thebox CAP, SAP Cloud SDK, application router, and HTML5 deployer.
Kyma implements a dedicated application runtime to deploy highly scalable, robust, and secure containerized microservices.
##  Note
Kyma as a managed service automatically checks all Kyma-managed resources. Any unexpected modifications are discarded, and the resource is reverted to the original state.
## Every Kyma environment consists of:
- A Kubernetes cluster based on project "Gardener" on a cloud provider and region (data center) of your choice. To find out the available regions and providers, see Regions for the Kyma Environment [page 48].
- A set of Kyma modules picked by a user in the release channel of their choice installed on the provisioned cluster.
<!-- image -->
## Integration
Every Kyma environment runs on a single Kubernetes cluster created for a specific subaccount. The configuration of the Kyma environment enables you to connect it to a multitude of SAP systems. This way, you can build various formations that aggregate the SAP systems and environment according to your business use cases.
SAP systems connected to a Kyma environment expose APIs and events. To extend the existing logic of these SAP services, you can build serverless applications called 'Functions', and trigger them to react to particular
events or calls to your application's API. You can also use the Kyma environment to deploy microservices or even build full-stack applications.
## Related Information
Getting Started in the Kyma Environment [page 227] Development in the Kyma Environment [page 1773] Administration and Operations in the Kyma Environment [page 3124] Security in the Kyma Environment [page 3284] Discovery Center What's New for SAP Business Technology Platform
## 2.3.3.2 Kyma Module Releases
For each of your Kyma modules, you can choose if you want the regular release, or an earlier preview so you can test new features and provide early feedback.
## Kyma Release Channels
Kyma is released in a modular approach. To learn more about the available Kyma modules, read: Kyma Modules [page 83].
Kyma modules are deployed in the following release channels:
- Regular channel is the default release channel.
- Fast channel provides more frequent releases. It offers early previews of all new features and changes before they are promoted to the regular channel. It also allows you to test and provide feedback on the new features sooner.
According to the Kyma modules` release cycle, we first release a new module's major or minor version in the fast channel. After approximately two weeks, we promote the release to the regular channel.
##  Note
In case of important functionality fixes or critical vulnerabilities identified by our security organization, the timeline doesn't apply, as we provide hotfixes between regular releases.
You can use one or both release channels in your Kyma cluster, but you can define only one release channel per module. For example, you can mix different modules from the regular and fast channels in your development cluster, but you cannot deploy the same module in the regular and fast versions in one cluster.
##  Tip
You can upgrade module versions, but you cannot downgrade them. To test the upstream versions, you can switch a module or an entire cluster from the regular channel to the fast one.
To return to the regular channel, you must wait until the version you are using in the fast channel is promoted to the regular channel. Once the versions in both the fast and regular channels are the same, you can switch back to regular. Alternatively, you can delete and add your module from the regular channel.
To find out which module version is running in your cluster, go to Kyma dashboard .
## Release Notes
A release of a new module's version is announced with a release note in What's New for SAP Business Technology Platform for both, the fast and regular channels:
- On the day of the release in the fast channel, a release note is published with the Preview label.
- After approximately two weeks, the module version becomes available in the regular channel and the Preview label is removed.
<!-- image -->
For details on the Kyma release schedule, see 3459911 .
##  Note
For any changes that require user action, we notify users at least three months in advance in the 'What's New for SAP Business Technology Platform'. You get information on the required or recommended actions, as well as links to more detailed guidance, including details on the opt-in solutions and migration timelines.
To get notifications on such changes and other updates, subscribe to What's New for SAP Business Technology Platform.
## Related Information
Kyma Functionalities [page 87]