orkungedik/SAP-basis-dataset huggingface dataset:
## 6.2.6.8.1 Create Routes
You can configure the URLs through which end users can reach your applications.
## Prerequisites
You must have the Space Developer or the Space Supporter role.
## Context
Routes belong to a space but they're globally unique, regardless of the organization that controls a space. If a route with a URL exists, you can't create a route with the same URL.
## Procedure
1. Navigate to your Cloud Foundry space.
2. Choose Routes from the left hand-side navigation.
3. Choose Create Route .
4. In the dialog, enter the following parameters:
## Parame-
ter
| Domain   | From the dropdown menu, you can choose either a shared domain (for example, the default                                                 |
|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
|          | cfapps.<region>.hana.ondemand.com ) or a private domain that you've previously created using the CF CLI.                                |
|          | For more information on private domains, see https:/ /docs.cloudfoundry.org/devguide/deploy-apps/ routes-domains.html#private-domains . |
## Host Name
## Details
The host name is your desired subdomain. In the URL, it's added before the selected domain, as follows: https:// &lt;host name&gt; .&lt;domain&gt;
| Parame- ter       | Details                                                                                                                                                                                                                                                                   |
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                   | The host name can contain up to 63 characters.                                                                                                                                                                                                                            |
| Path (Op- tional) | In addition to the domain and subdomain, you can also add a path. You can use paths if you want to create routes for multiple applications available for the same host name and domain. The path becomes part of the URL as follows: https://<host name>.<domain> /<path> |
You can see the preview of your route at the bottom of the dialog.
5. When you're happy with your route, choose Create .
## Next Steps
- Once you've created a route, you must map it to your application. For more information, see Map Routes to Applications [page 2591].
- Additionally, you also have the option to bind it to a route service instance by choosing  (Bind Route Service) from the Actions column. For more information, see Bind Routes to Service Instances [page 2592].
## Related Information
About Routes in the Cockpit [page 2589]
## 6.2.6.8.2 Map Routes to Applications
Once a route has been created, you must map it to an application to make this application reachable for end users.
## Prerequisites
- You have at least one route and one deployed application in the same Cloud Foundry space.
- You must have the Space Developer or the Space Supporter role.
## Procedure
1. Navigate to the Routes page in your Cloud Foundry space in the cockpit.
2. For the route that you wish to map to an application, choose  (Map Route) from the Actions column and select the application you want to map it to.
## Results
Your application can now be accessed via the route mapped to it. You can launch your mapped route from two different places in the cockpit:
- Routes page: Choose  (Launch Route) from the Actions column.
- Overview page of the mapped application: Choose the URL from the Application Routes section.
## Related Information
About Routes in the Cockpit [page 2589] Create Routes [page 2590]
## 6.2.6.8.3 Bind Routes to Service Instances
You can bind a route to a service instance in the SAP BTP cockpit.
## Prerequisites
In SAP BTP, Cloud Foundry environment, only user-provided and fully-brokered services are currently supported.
- You must have the Space Developer or the Space Supporter role.
- The service instance and the route are in the same Cloud Foundry space.
- To bind a route to a user-provided service instance, the service instance must include the URL of the route service. To include it, set the route\_service\_url property.
- To bind a route to a managed service instance, make sure this service can be bound by setting route forwarding in the requires property: requires=[route\_forwarding]
## Context
Before you proceed with the route binding, keep in mind the following:
- You can have a route bound to an application and a service instance at the same time.
- You can bind one or multiple routes to a single service instance.
Now that you're aware of these specifics, let's continue with the route binding steps.
## Procedure
1. Navigate to the Routes page in your Cloud Foundry space in the cockpit.
2. Choose  (Bind Route Service) from the Actions column.
3. Select a service instance from the dropdown.
The dropdown contains a list of all service instances that you can bind to the route. If an existing service instance can't be bound to a route, you won't see it in the dropdown.
If you want to create a new service instance from your services available in the Service Marketplace, see Creating Service Instances in Cloud Foundry.
To create a new user-provided service instance, see Creating User-Provided Service Instances in Cloud Foundry Environment.
4. (Optional) If you want to customize the route binding service, mark the Specify Parameters checkbox.
You have the option to either upload your own JSON file or you can directly enter JSON parameters and their values in the field below.
For more information about what parameters you can use, see https:/ /v3-apidocs.cloudfoundry.org/ version/3.138.0/index.html#service-route-binding .
5. Choose Bind .
## Related Information
About Routes in the Cockpit [page 2589]
## 6.2.6.9 Security Groups
In the SAP BTP, Cloud Foundry environment, application security groups represent a collection of rules that specify the protocols, ports, and IP address ranges where an application or a task instance sends traffic. You can access this information in the SAP BTP cockpit.
## Overview
In the SAP BTP, Cloud Foundry environment, the security groups are space-scoped and dynamic. They are also split into:
- Default security groups:
- dns
- public\_networks
For more information, see https:/ /docs.cloudfoundry.org/concepts/asg.html .
## How to Find the Security Groups Page?
1. In the SAP BTP cockpit, navigate to your subaccount. For more information, see Navigate in the Cockpit.
2. In the navigation menu, choose Cloud Foundry Spaces .
3. Go to one of your spaces.
4. In the navigation menu, choose Security Groups .
## What Can You Do on the Security Groups Page?
The security groups manage the outgoing traffic of your application by allowing access to the network based on a list of specific protocols, ports, and IP address ranges. You have read-only access to them.
If your application is trying to access an endpoint not specified by the security group, the access is denied. On the Security Groups page in the cockpit, you can check the information in the Rules table to verify that the application is using the correct protocols, ports, and IP address ranges.
<!-- image -->
##  Note
Instead of using the cockpit, you can get information about a security group by running the corresponding CLI command. For more information, see https:/ /cli.cloudfoundry.org/en-US/v8/ .
## 6.2.6.10  Using Custom Domains
SAP BTP allows subaccount owners to make their SAP BTP applications reachable and secure via a custom domain that is different from the default domain - for example, subdomain.mydomain.com .
See the documentation for the Custom Domain service for more information about configuring and managing custom domains.
## 6.2.7.3 Audit Log Retention for the Cloud Foundry Environment
The audit log data is stored on a subaccount level. The access to the stored audit log data is strictly restricted only authorized stakeholders can preview, retrieve, and download their audit log data.
##  Note
Currently, configuring retention period is allowed only on a subaccount level. Configuring custom retention period on a global account level is not available yet.
There are two main categories of retention of audit data, divided by the source of generation:
- Retention of Audit Data written from SAP BTP Applications and Services [page 2609] (SAP-generated)
- Retention of Audit Data written from Customer's BTP Applications [page 2611] (Customer-generated)
## 6.2.7.3.1 Retention of Audit Data written from SAP BTP Applications and Services
## Free Retention Period
By default, you can retain the securely stored SAP-generated audit log data for your subaccount for 90 days, free of charge. After this period, the data is automatically deleted. Within this free default retention period, as an authorized stakeholder you can access, retrieve, and download the stored audit log data.
## Configurable Retention Period
## Enable Audit Log service, premium edition
To follow the Industry and Business Regulations requirements for a longer retention and storage of audit log data written on behalf of a customer's subaccount, and to be able to configure a custom retention period longer than the free 90 days, you must enable Audit Log service, premium edition service plan for your subaccount as follows:
1. Entitle your subaccount with service auditlog and plan premium. For more information, see Configure Entitlements and Quotas for Subaccounts [page 2269]
2. Create a service instance auditlog of plan premium . For more information, see Creating Service Instances [page 254]
## Configure a Retention period
When you enable the Audit Log service, premium edition service plan, you can create a support ticket with component BC-CP-CF-SEC-AUDITLG to the Audit Log service to configure a flexible retention period for storing your audit data. In the support ticket provide the following data:
- Subaccount ID(s) and Tenant ID(s) whose retention you want to extend.
- Your desired retention period in days.
- The date from which you want the configurable retention to be effective.
## Pricing
The premium edition with its advanced functionalities is a commercialized consumption based service plan, which prices per GB you can check in SAP Discovery Center .
## Revoking Custom Retention of SAP-Generated Audit Data
## Revoke Custom retention of an Existing Subaccount
To revoke custom retention, create a support ticket with component BC-CP-CF-SEC-AUDITLG to the Audit Log service to configure a flexible retention period for storing your audit data. In the support ticket provide the following data:
- Subaccount ID(s) and Tenant ID(s) whose custom retention you want to revoke.
- The date from which you want the revokation to be effective.
When you revoke custom retention all stored audit data which is older than 90 days is removed and charging for extra storage stops.
## Revoke Custom retention of a Terminated Subaccount
SAP-generated audit log data for a terminated subaccount is deleted when it is older than 90 days. The 90-day retention period is kept free of charge for audit purposes.
##  Note
When you delete a subaccount, all audit log data older than 90 days is automatically deleted.
##  Note
When you delete an auditlog premium service instance, the charging for storage doesn't stop automatically. To avoid accumulating further costs, you must either create a support ticket to revoke the custom retention period, or delete the subaccount.
## 6.2.7.3.2 Retention of Audit Data written from Customer's BTP Applications
## Initial retention period
There is no free retention period for any customer-generated audit data. If you enable Audit Log service, premium edition service plan, the default period in which you can retain all audit data written from your customer applications built on top of SAP BTP is 90 days. For more information, see Audit Log Write API for Customers [page 2612].
## Configurable Retention Period for Subaccounts
When you have enabled the Audit Log service, premium edition service plan, you can create a support ticket with component BC-CP-CF-SEC-AUDITLG to the Audit Log service to configure a custom retention period for storing your audit data.
## Availability of the Write API for Customers
The functionality for writing customer-generated audit data as part of the Audit Log service, premium edition service plan, is currently available in the following regions:
- Europe (Frankfurt)
- Europe (Frankfurt, EU Access)
- US East (VA)
If you want to use this functionality in another region, contact the Service owner to discuss the conditions for storing large volumes of audit data. Audit Log service, premium edition with its advanced functionalities is a commercialized consumption-based service plan. You can find the cost per Customer Written Volume stored in GB in SAP Discovery Center .
## Revoking Custom Retention of SAP-Generated Audit Data
## Revoke Custom retention of an Existing Subaccount
To revoke custom retention, create a support ticket with component BC-CP-CF-SEC-AUDITLG to the Audit Log service to configure a flexible retention period for storing your audit data. In the support ticket provide the following data:
- Subaccount ID(s) and Tenant ID(s) whose custom retention you want to revoke.
- The date from which you want the revokation to be effective.
When you revoke custom retention all stored audit data which is older than 90 days is removed and charging for extra storage stops.
##  Note
Audit log data written from Customer's SAP BTP Applications is still charged per GB at the price in SAP Discovery Center no matter the retention period in days.
## Revoke Custom retention of a Terminated Subaccount
Audit log data written by Customer's SAP BTP Applications is removed immediately in case of a subaccount termination, as noted in Delete a Subaccount [page 2260].
##  Note
When you delete a subaccount, all audit log data written from your Customer's SAP BTP Applications is automatically deleted.
##  Note
When you delete an auditlog premium service instance, the charging for storage doesn't stop automatically. To avoid accumulating further costs, you must either create a support ticket to revoke the custom retention period, or delete the subaccount.
## 6.2.7.5 SAP Audit Log Viewer service for the Cloud Foundry Environment
The SAP Audit Log Viewer service displays the audit logs associated with your Cloud Foundry account. These are the activity logs generated by the SAP applications and services to which you are subscribed.
The UI allows you to:
- Read the audit logs written for your account in selected time frame. The SAP Audit Log Viewer service displays 500 audit log records per request. If you want to view more audit log records, specify a shorter time frame.
- Display more detailed information on each single audit log record.
- Filter the retrieved client-side chunk for certain strings.
- Select which of the four audit log message categories to be returned. If you don't select any category, all are returned.
- Download the audit logs in the selected time frame.
The default displayed columns are:
- User - the person that has executed the event reflected in the written audit log.
- Time - creation time for the audit log message.
- Message - summary of the audit log message that is written.
- Category - audit log message category. The four-supported audit log message categories are:
- audit.security-events
- audit.configuration
- audit.data-access
- audit.data-modification
The appearance of the UI can be modified by selecting the rows to be displayed on a single page, as well as the columns that you want to be visible.
## Related Information
Subscribe to SAP Audit Log Viewer service [page 2623]
Access SAP Audit Log Viewer service [page 2624]
Accessibility Features in Audit Log Viewer [page 2625]
## 6.2.7.5.1 Subscribe to SAP Audit Log Viewer service
Subscribe to SAP Audit Log Viewer service for access to audit log information.
## Prerequisites
Before subscribing to the Audit Log Viewer service, you need to configure the relevant entitlement in your Global Account. For more information, see Related Information .
## Procedure
1. To subscribe to SAP Audit Log Viewer service, use the SAP BTP cockpit and go to the Services Instances and Subscriptions Subscriptions tab of your subaccount.
2. Once you're subscribed, select Go to Application to open the SAP Audit Log Viewer service and log in there.
## Related Information
SAP Audit Log Viewer service for the Cloud Foundry Environment [page 2622]
Managing Entitlements and Quotas Using the Cockpit [page 2261] Access SAP Audit Log Viewer service [page 2624]
## 6.2.7.5.2 Access SAP Audit Log Viewer service
## Context
To retrieve the audit logs for your subaccount using the Audit Log Viewer service, you need to have proper authorizations. See https:/ /docs.cloudfoundry.org/concepts/roles.html#permissionsInformation , published on a non-SAP site.
## Procedure
1. Create a RoleCollection.
2. Search for roles with the name "Auditlog\_Auditor" and select both entries with the following application identifiers:
- auditlog-management!b*
- auditlog-viewer!t*
3. Assign the role to a user or create a rule to assign it to users based on the SAML Assertion coming from the IDP.
##  Note
Only account members with the Security Administrator role are authorized to edit application authorizations.
## Related Information
Subscribe to SAP Audit Log Viewer service [page 2623]
## 6.2.7.5.3 Accessibility Features in Audit Log Viewer
To optimize your experience of Audit Log Viewer, SAP Business Technology Platform (SAP BTP) provides features and settings that help you use the software efficiently.
##  Note
Audit Log Viewer is based on SAPUI5. For this reason, accessibility features for SAPUI5 also apply. See the accessibility documentation for SAPUI5 on SAP Help Portal at Accessibility for End Users.
## 6.2.7.7 Checking Who Created an Application or a Service Instance
When you want to know for your subaccount which user created an application or a service instance, you need to look into the event logs.
- Check Who Created an Application [page 2627]
- Check Who Created a Service Instance [page 2629]
## 6.2.7.7.1 Check Who Created an Application
Creating an application is logged by SAP Audit Log service. You can see this information in the Audit Log Viewer or retrieve it by the Audit Log API.
Example in Audit Log Viewer for SAP Business Application Studio created by &lt;user\_email&gt; on 16.03.2023 08:44:06.
<!-- image -->
The same information retrieved by Audit Log API:
<!-- image -->
## 6.2.7.7.2 Check Who Created a Service Instance
The following steps help you get information about who created a service instance. These steps are valid only for Cloud Foundry subaccounts.
To get the information for a service instance, use the Cloud Foundry API , which is available for all Cloud Foundry subaccounts. The following steps describe a path of API calls. Combining all information from the three steps, you get a list of all services created by a specific user at a specific time.
1. Get a list of all audit events from type audit.service\_instance.create .
Trial Audit Log API
GET CF Audit Events
<!-- image -->
2. Follow the link to the service plan.
<!-- image -->
3. See the service offering parameters to get the name, documentation URL and other parameters of the service.
<!-- image -->
## 6.2.7.8 Troubleshooting
You can use the Guided Answers for Audit Logging in the Cloud Foundry Environment page as self service to troubleshoot your issues.
If you don't manage to solve your issue with the Guided Answers, you can open a support ticket in SAP4Me , in which you need to provide:
- Your GA ID
- Your subaccount ID
- Step by step description of the issue with screenshots.
## 6.3.1  SAP Fiori Apps in the ABAP Environment
In the SAP Fiori launchpad for the ABAP environment, you can use apps to help you with your tasks as administrator and developer.
Apps for the ABAP environment help you with the following, for example:
- Manage lifecycle maintenance of business users
- Maintain certificate trust lists
- Integrate your systems in the ABAP environment with other systems to enable data exchange
- Manage software components in your system landscape
## Prerequisites
To be able to view and use the apps in the SAP Fiori launchpad, you need a business role with specific business catalogs. You can either use the business roles that are available with the ABAP environment or you can create business roles that include the relevant business catalogs. For more information about the business catalogs and business roles, see Business Catalogs and Business Roles [page 2634]. For more information about creating business roles from available business role templates in the ABAP environment, see also How to Create a Business Role from a Template [page 2771].
## Related Information
SAP Fiori Launchpad - User Guide
## 6.3.1.1 Business Catalogs
## Business Catalogs and Business Roles [page 2634]
Get an overview about which business catalogs and business roles are required for applications in the ABAP environment.
## Business Catalogs for Development Tasks [page 2648]
Get an overview of available business catalogs for development tasks and their restrictions.
Business Catalogs for Key User Tasks [page 2650]
Get an overview of available business role catalogs and their restrictions.
## 6.3.1.1.3 Business Catalogs for Key User Tasks
Get an overview of available business role catalogs and their restrictions.
You assign business catalogs to business roles that are assigned to business users. Business catalogs contain authorizations that define what a business user with a certain business role is allowed to do.
Certain business catalogs are only available in tenants of specific Tenant Business Types [page 1282].
Business Catalogs for Key User Tasks
| Business Catalog                                                  | Authorizations                                 | Restrictions   | Availability              |
|-------------------------------------------------------------------|------------------------------------------------|----------------|---------------------------|
| Extensibility - Key User Adap- tation SAP_CORE_BC_EXT_FLX_C US_PC | Key user adaptation                            |                | All tenant business types |
| SAP_CORE_BC_EXT_FDT                                               | Maintain Business Role Framework+ applications |                | All tenant business types |
| Business Catalog                                             | Authorizations                             | Restrictions                                                 | Availability                                                                    |
|--------------------------------------------------------------|--------------------------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------|
| SAP_CORE_BC_EXT_PCF_P C                                      | Configuration of custom fields             |                                                              | Test tenant, partner cus- tomer test tenant, partner customer production tenant |
| SAP_CORE_BC_EXT_BLE                                          | Implementation of custom logic             |                                                              | Test tenant, partner cus- tomer test tenant, partner customer production tenant |
| Extensibility - Custom Apps and Services SAP_CORE_BC_EXT_TST | Testing of custom apps and custom services | Only services that have their original in the current system | Partner development tenant                                                      |
## 6.3.1.2 ABAP Dictionary
Repair CDS Views [page 2651]
Manage Database Cache Configuration [page 2652]
## 6.3.1.2.1 Repair CDS Views
With this app you can view and repair the CDS views that are in inconsistent state.
## Key Features
You can use this app to:
- View the details of the inconsistent CDS views such as the application component, the error category, the person who is responsible, and the package details
- Search for a specific view based on the view name or filter the views based on the error category
- Repair the inconsistent views
In addition, the app allows you to export the CDS views to spreadsheets.
## Supported Device Types
- Desktop
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-DWB-DIC .
## 6.3.1.2.2 Manage Database Cache Configuration
With this app you can view and manage the database cache configurations.
## Key Features
- a) You can use this app to:
- View the list of caches in the system.
- Search for a particular cache based on the name or the data source.
- View the cache-specific information such as total number of records cached and size available for consumption.
- Create or drop a cache by choosing Create or Drop respectively.
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-DWB-DIC .
## 6.3.1.3 ABAP Test Cockpit
Configure ABAP Test Cockpit [page 2653]
SAP Fiori app for editing ATC configurations.
Approve ATC Exemptions [page 2654]
Manage API Snapshots [page 2656]
Custom Code Analysis [page 2660]
## 6.3.1.3.1 Configure ABAP Test Cockpit
SAP Fiori app for editing ATC configurations.
## Purpose
The Configure ABAP Test Cockpit app enables you to maintain ATC configurations using SAP Fiori launchpad.
##  Note
The Configure ABAP Test Cockpit app enables you to maintain multiple configurations. Edits done in transactions ATC and SCI only affect the active configuration.
## Key Features
1. Assign a check variant.
2. Change priorities.
3. Set priority levels that block or interrupt transport releases.
4. Set a default configuration.
5. Set handling of pseudo comments and pragmas.
## Access Information
For more information about how to provide access to users and how to implement this app, see Enable Usage of the Configure ABAP Test Cockpit App [page 2654].
## Component for Customer Incidents
BC-DWB-TOO-ATF
## Supported Device Types
- Desktop
## Related Information
Enable Usage of the Configure ABAP Test Cockpit App [page 2654]
## 6.3.1.3.1.1  Enable Usage of the Configure ABAP Test Cockpit App
This is the enablement topic for the Configure ABAP Test Cockpit Fiori app.
## Prerequisites
- Access to SAP Fiori launchpad with administrator authorization
## Overview
1. Create a business role either from a template or from scratch.
- To use a template, see How to Create a Business Role from a Template [page 2771]. Choose the template SAP\_BR\_ADMINISTRATOR\_SW\_DEV .
- To create a role from scratch, see How to Create a New Business Role [page 2770]. Choose ABAP Test Cockpit Configuration (business catalog ID: SAP\_CORE\_BC\_ATC\_CONFIG ) as catalog for this role (step 3).
2. Assign the business role you created to a business user. (See also: How to Maintain Business Users [page 2759].)
When you log on to SAP Fiori launchpad with the assigned business user, the tile Configure ABAP Test Cockpit will be available.
## 6.3.1.3.2 Approve ATC Exemptions
With this app you can approve or reject ATC exemptions via the SAP Fiori launchpad.
## Key Features
With this app you can:
- Approve exemption requests.
- Reject exemption requests.
- See a list of exemptions of all states.
- Apply filters to the list of exemptions, such as exemption state, processor and requester.
- See a justification for an exemption request.
- Add or remove columns to or from the list of exemptions to customize your view.
- See the scope the requester would like their exemption request to be valid for through the object scope (finding, object, sub-object and all objects of a package) (granularity).
- See the scope the requester would like their exemption request to be valid for through the check scope (finding, check message, check) (validity).
- See the system group for which an exemption would be valid for.
- See the expiry date of an exemption. The processor of the request can change the expiry date after request creation.
- Give an assessment for an exemption request.
- Replicate exemptions from an on-premise system to SAP BTP.
##  Note
Use transaction SATC\_EXPORT\_XMPT to download exemptions from an on-premise ATC system. For customers that are on a release between 7.52 and 7.58 with software component SAP\_BASIS, apply SAP Note 3480722 first to install this functionality.
##  Remember
The Approve ATC Exemptions app only supports exemptions when the SAP BTP ABAP environment acts as the central check system and when exemptions are requested via the ATC developer scenario (see Configuring the ATC Developer Scenario). Exemptions of type CHKE are not supported. To learn more about how to approve or reject CHKE exemptions in ABAP development tools for Eclipse, see Approving and Rejecting ATC Exemptions.
## Access Information
For more information on how to enable this app, see Enable Usage of the Approve ATC Exemptions App [page 2656].
## Component for Customer Incidents
If you need support or are experiencing issues, please report an incident under component BC-DWB-TOO-ATF .
## Supported Device Types
- Desktop
- Tablet
- Smartphone
## 6.3.1.3.2.1  Enable Usage of the Approve ATC Exemptions App
## Prerequisites
You have access to the SAP Fiori launchpad with a quality manager authorization and you've configured the ATC Developer Scenario. For more information, see Using an SAP BTP System as ATC Central Check System.
## Procedure
1. Create a business role either from a template or from scratch.
- To use a template, see How to Create a Business Role from a Template [page 2771]. Choose the template SAP\_BR\_QUALITY\_MNGR\_SW\_DEV .
- To create a role from scratch, see How to Create a New Business Role [page 2770]. Choose Approve ATC Exemptions (business catalog ID: SAP\_A4C\_BC\_DEV\_XMPT\_APR\_PC ) as catalog for this role (step 3).
2. Assign the business role you created to a business user. (See also: How to Maintain Business Users [page 2759].)
When you now log on to the SAP Fiori launchpad with the assigned business user, the tile Approve ATC Exemptions will be available.
## Related Information
Approve ATC Exemptions [page 2654]
SAP Note 3480722 - Downport Program to Export ATC Exemptions
## 6.3.1.3.3 Manage API Snapshots
With this app you can create API snapshots of your components. An API snapshot is a snapshot of the external interface of all released objects within a software component. This snapshot should be taken when the released
objects within the software component must be kept stable. API snapshots allow you to run compatibility checks for your released objects using the ATC check API\_COMPATIBILITY .
## Key Features
You can use this app to:
- Create API snapshots to be able to use them in compatibility checks
- Regenerate failed APIs
- Set APIs for check relevance to check their content
- Overwrite your API snapshots to recreate already existing snapshots
- Display the changes made to your API snapshots
- Display extracted APIs
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-SRV-APS-EXT-REL .
## 6.3.1.3.3.1  Enable Usage of the Manage API Snapshots App
Find out how to enable your Manage API Snapshots app in the SAP Fiori launchpad .
## Prerequisites
You already have access to the SAP Fiori launchpad and you have the administrator authorization.
## Overview
1. Create a business role either from a template or from scratch.
- To use a template, see How to Create a Business Role from a Template [page 2771]. Choose the template SAP\_BR\_ADMINISTRATOR\_SW\_DEV .
- To create a role from scratch, see How to Create a New Business Role [page 2770]. Choose API Snapshots (business catalog ID: SAP\_CORE\_BC\_ARS\_PC ) as catalog for this role.
2. Assign the business role you created to a business user. (See also: How to Maintain Business Users [page 2759].)
When you log on to SAP Fiori launchpad with the assigned business user, the tile Manage API Snapshots will be available.
## 6.3.1.3.3.2  Creating API Snapshots
Find out how to create API snapshots using the Manage API Snapshots app.
## Context
To be able to run compatibility checks for your released objects using the ATC check API\_COMPATIBILITY , you need to create API snapshots of your application components beforehand. This app allows you to generate and manage your API snapshots.
The Manage API Snapshots app is part of the business process that helps you to ensure the stability of your released APIs. This overview contains all steps that need to be considered when developing, releasing and reworking APIs for use by others:
Business Process Description of Compatibility Checks for Released APIs
<!-- image -->
## Procedure
1. Open the Manage API Snapshots app.
2. Click Create . Choose a Name for your snapshot and select the snapshot component from the value help.
3. Click Create again to create your API snapshot, or select Create and Generate to generate a snapshot. The generation process will be shown on the UI. Once the snapshot generation has finished, the action status will change to Completed . Y ou can view the snapshot details by selecting the snapshot.
##  Note
If you release your object and a snapshot doesn't exist already, it's automatically created. This default snapshot appears in your list of snapshots as SAP Default . An SAP default snapshot has limited use: you can't regenerate or delete this snapshot, but you can regenerate single APIs of the SAP default snapshot in the APIs tab, however. You can set the check relevance of the snapshot as usual. Mind that if at the time of its creation, the SAP default snapshot is the only available snapshot in the respective software component, or if no other snapshot of the respective software component is set to check-relevant, it'll be set to check-relevant automatically.
4. In the Snapshot API Details , you can choose to maintain your snapshot in the following way:
- a. Change the name of your snapshot by clicking Edit in the top right corner of your screen in the General Information tab.
- b. Regenerate the extracted APIs of your snapshot in the Extracted APIs tab. T o regenerate your APIs, select the ones in question and click Regenerate . Remember that the regeneration of APIs is irreversible.
- c. Create a note for other people to view by selecting the Notes tab and posting a note.
- d. View the change history of your snapshot by selecting the Change History tab.
- e. View your error logs in the Generation Log tab.
- f. Regenerate your API snapshot by selecting Regenerate in the top right corner of your screen.
- g. Set your API snapshot to check or uncheck the relevance by selecting Set Check Relevance .
##  Note
Only one snapshot per software component can be set as check-relevant.
- h. Delete your snapshot by selecting Delete .
You've now created a snapshot that you can use for your compatibility check.
## 6.3.1.3.4 Custom Code Analysis
## Purpose
As of releases S/4HANA Cloud Public Edition 2508, SAP BTP ABAP environment 2508 and S/4HANA Cloud Private Edition/S/4HANA 2025, the Custom Code Migration app is split into two tiles. There's the Analyze Custom Code app for the custom code analysis use case and the Custom Code Migration app for the migration to S/4HANA use case. If you have the Quality Manager - Software Development business role, you'll find the Analyze Custom Code app on the Firori launchpad. If you have the Project Manager IT business role, you'll find the Custom Code Migration app.
These apps enable you to create three different kinds of projects:
- SAP S/4HANA Migration Project: Analyze custom code that shall be migrated from an existing product like SAP Business Suite to a new product such as SAP S/4HANA 2023. To evaluate the custom objects to be adapted, it performs the SAP S/4HANA custom code checks.
- SAP BTP Analysis Project: Analyze custom code for readiness to run in SAP BTP ABAP environment.
- Custom Code Analysis Project: Analyze custom code with arbitrary ATC check variants. See Performing a Custom Code Analysis [page
2665] .
In addition, this app supports you with identifying unused custom code based on your collected usage data. This enables you to remove unused custom code during a system conversion to SAP S/4HANA.
## Key Features
Analysis of custom code:
- Graphical representation of custom code analysis results
- Results can be filtered by various categories, such as quick fix availability, scope and usage data.
- Options to handle findings after anaylsis (see Process Findings After Analysis [page 2671])
## Scoping:
- Based on usage data, you can define the ABAP custom code that needs to be migrated to SAP S/4HANA.
- This app creates a deletion transport in order to delete unused ABAP source code during the system conversion to SAP S/4HANA.
## Access Information
For more information on how to enable this app, see Enable Usage of the Analyze Custom Code App [page 2661].
## Component for Customer Incidents
BC-DWB-CEX
## Supported Device Types
- Desktop
## 6.3.1.3.4.1.1  Configuration
You can perform remote code analysis in ATC which allows to analyze custom code remotely with the latest checks.
When using SAP BTP ABAP environment as central check system, you will use the Custom Code Migration and Analyze Custom Code app to scope and analyze custom code in an on-premise SAP system.
To use this SAP Fiori app, your SAP administrator must enable the app provide access for the relevant users. In addition, you also need to establish an RFC connection for the Cloud Connector. This enables you to access the on-premise system as checked system from the ABAP environment as central check system remotely.
To find out more about this configuration, see Configuring Remote ATC Using a Central Check System.
## 6.3.1.3.4.1.2  Administrating User Assignments
The user assignment describes the relevant roles that a user requires to access SAP BTP ABAP environment using the Analyze Custom Code app.
## Context
You want to enable business users to access the Analyze Custom Code app.
For more information see, How to Create a Business Role from a Template.
##  Note
If you use Prepare an Account for ABAP Development booster, you can skip this step. The booster will perform this task.
## Procedure
1. In the SAP Fiori launchpad, navigate to the Identity and Access Management section and open the Maintain Business Roles app.
2. On the initial screen, select Create from Template from the bottom of the page.
The Create Business Role from Template wizard is opened.
3. Use the value help to choose SAP\_BR\_IT\_PROJECT\_MANAGER as the underlying Template .
4. Enter BR\_IT\_PROJECT\_MANAGER as the name of the New Business Role ID .
5. Enter a New Business Role Description .
6. The checkbox Create and Assign Spaces Based on SAP-Delivered Spaces provides you with the following two options:
- a. Mark the checkbox to create a new space for the Analyze Custom Code app in your subaccount. Define and enter a New Space ID .
- b. Unmark the checkbox to use an existing space for the Analyze Custom Code app. Consequently, you must allocate the Analyze Custom Code app to the existing space and page in your subaccount. For more information, see Working with Predefined Spaces and Pages.
7. Confirm the creation with OK .
The new business role is created and opened in the Maintain Business Role page.
8. Select Maintain Restrictions from the title toolbar.
The relevant subpage is opened.
9. In the Write, Read, Value Help tab, choose Unrestricted from the drop-down list to enable write access for this business role.
10. Navigate back to the main page of your new business role.
11. Open the Assigned Business Users tab and add the relevant users using the Search field or the Add button.
12. Save the changes from the bottom.
## Results
The business role is created and added. The assigned users now have access to the Analyze Custom Code app.
## 6.3.1.3.4.2  Performing a Custom Code Analysis
This guide describes how to perform remote custom code analysis using the Analyze Custom Code app.
The Analyze Custom Code app in the SAP BTP ABAP environment can act as the ABAP Test Cockpit (ATC), a central check system analyzing the ABAP source code located in your on-premise system. It enables you to identify functional or security vulnerabilities in your ABAP source code. This includes security checks performed by the SAP Code Vulnerability Analyzer (CVA). Further cloud use cases for ATC in the Analyze Custom Code app involve the migration to S/4HANA, performance checks, and ABAP Cloud readiness checks.
In the following chapters, you will learn how to create a custom code analysis project, analyze the findings, and, in addition, perform dependency and complexity analyses.
## Related Information
Code Vulnerability Analyzer Checks
## 6.3.1.3.4.2.1  Complexity Analysis
In this topic, you will learn more about complexity analysis in the Analyze Custom Code app.
## Purpose
Sometimes, your ABAP code can contain complex objects that very often also experience the most frequent changes. With the Analyze Custom Code app it is possible to identify the most complex objects via complexity analysis and help you decide whether you want to redesign and therefore simplify them.
##  Note
Please be aware that, in this topic, the focus is on reducing the complexity of packages only. Nevertheless, generally, what applies to packages also applies to request entry points.
In your Custom Code Migration project, choose the bubble chart to display all packages that contain custom code. With this chart, you can also display the Halstead difficulty of a package. The Halstead complexity measures are software metrics that describe the effort to develop and understand the complexity of a program.
The chart enables you to identify packages that contain complex coding and have often been changed in the last year, for example.
The default representation of the chart displays the following information:
The X axis indicates the complexity/difficulty of the custom code within a package. The higher the number signifies the complexity. The app calculates the complexity based on the Halstead complexity measures. For packages, the Halstead difficulty is aggregated using an H-index algorithm.
##  Note
Only if you have multiple complex objects in your code does the H-index rise.
An H-index of 42 means that the package contains 42 procedures with a Halstead difficulty of 42 or higher.
An H-index of 80 means that the package contains 80 procedures with a Halstead difficulty of 80 or higher.
The Y axis displays how many changes - based on transport requests - you have made to the objects of a package.
##  Recommendation
SAP recommends you have a closer look at packages that appear in the top-right corner of this chart, as those are the packages that are very complex and have often been changed.
The size of the bubbles indicates the number of findings. Hence, the bigger the bubble, the higher the number of findings.
<!-- image -->
You can change the default representation of the chart by choosing the chart preferences (  ).
Your chart could now look as follows:
<!-- image -->
Now that you are aware of the complexity of your code, it is time to take action and reduce said complexity. There is no standard solution for fixing complex code, however, SAP can provide you with suggestions as to how to start this process:
- Check whether you can replace your code with SAP standard functionalities.
- Check whether there are smaller units in your code that you can reuse.
- Check out the Clean ABAP style guide to learn more about clean code.
## Related Information
SAP Note 2436688 Custom Code Migration Guide for SAP S/4HANA
How to check your custom ABAP code for SAP BTP ABAP environment
## 6.3.1.3.4.2.3  Analyzing the Findings
When you create a custom code analysis project, the custom code analysis is performed automatically. The Analyze Custom Code app then provides you with an analytical representation of the findings.
## Procedure
1. Choose Analysis to get an overview of the results, as soon as the first analysis has been finished.
2. Choose Analyze Findings to get a detailed analysis.
3. In the Analyze Custom Code - Analysis - Findings view, you can specify various filters, such as:
- Quick Fix Availability : Analyze which findings can be solved by a Quick Fix and which findings have to be solved manually.
5. Scope Information : Filter the results to only show findings for objects that are in scope.
4. Choose  in the Findings section to change the settings for the chart.
For example, to show the Quick Fix availability per Check Message, you need to specify the following settings for the chart in the Chart tab under Dimensions :
- Check Title (as Category)
- Check Message (as Category)
- Quick Fix Availability (as Series)
## Results
You now have a graphical and tabular representation of findings and can take action to resolve these findings in your development environment.
## 6.3.1.3.4.2.4  Creating a Custom Code Analysis Project
With a custom code analysis project, you can analyze custom code with arbitrary ATC check variants.
## Procedure
1. Start the tile Analyze Custom Code from the SAP Fiori launchpad.
2. Choose Create , then choose Custom Code Analysis Project .
3. Fill in the fields under Project Data for your new project.
- a. Project Description : Provide further details about your custom code migration project.
- b. Check Variant : Use the value help to select a check variant available in your system.
- c. Location of Custom Code : Use the drop down menu to specify the system in which the custom code to be analyzed is located.
- d. Object Provider to Remote System : An object provider defines the RFC connection to be used for analysis in a remote SAP system and must be assigned to a system group.
##  Note
If you collected usage data, choose the Add button to add usage data to your custom code migration project.
Under Advanced Configuration , you can limit your custom code analysis by specifying the packages you want to analyze. This can be helpful to save time and resources.
These steps are optional.
4. In the Advanced Configuration tab, under Analysis Configuration , you can either leave the check box checked and start the custom code analysis automatically at project creation or un-check it and start the analysis manually at a later point.
5. To confirm your input, choose Create .
## 6.3.1.3.4.2.5  Process Findings After Analysis
Find out how you can process your findings after custom code analysis.
## Purpose
In case you've been wondering what the next steps would be after custom code analysis and what to do with your findings in the Analyze Custom Code app, this topic is for you. Here, you will learn about your options for after custom code analysis.
## 1. ABAP Test Cockpit (ATC) Baseline
With the baseline functionality, it's now possible to add/remove custom code project check results to/from the baseline and choose whether you would like to:
1. Exempt your findings: ATC findings from the baseline will be marked as exempted in the check results list.
2. Suppress your findings: After a new ATC check run, all ATC findings from the baseline are excluded from the ATC run results list.
3. Reduce findings' priority: The priority will be reduced to low (priority 3) for all ATC findings of the relevant ATC check result.
Result: After adding findings to the baseline, they won't appear in the subsequent check results of the custom code project.
<!-- image -->
##  Note
Please be aware that:
- Once you have added findings to the baseline, the custom code migration project cannot be deleted. Remove your findings from the baseline first and then proceed with deleting your project.
- The analysis cannot be started again after the findings were added to the baseline.
## 2. SAP Readiness Check
You can download the check results to upload them later onto SAP Readiness Check 2.0. To do so, in the Analyze Findings section of your project, choose the arrow next to the spreadsheet icon and select Export for SAP Readiness Check . T o learn more about SAP Readiness Check for SAP S/4HANA, see SAP Note 2913617 .