orkungedik/SAP-basis-dataset huggingface dataset:
## 6.3.1.7 Communication Management
The communication management apps allow you to integrate your system or solution with other systems to enable data exchange.
## Prerequisites
- Predefined communication scenarios are available for different use cases, for example the integration for employee data. Decide which scenario you are going to use to create a communication arrangement.
## Process Overview
Create communication users
Create communication system
Assign communication users tothe conmmunication system
Create communication arrangement
Activate the arrangement to enable the communication
The communication management apps allow you to establish secure communication between your solution and other systems. The best practice to organize efficient data exchange is to proceed as follows:
1. Create communication users for inbound communication according to your needs using the Maintain Communication Users app.
2. Create a communication system using the Communication Systems app that represents the system you want to communicate with. If the selected scenario contains inbound services, you select the user for inbound communication that you have created earlier.
3. Create a communication arrangement using the Communication Arrangements app. You select the communication system that you have created earlier. The information about the user for inbound communication will be populated automatically. If several users for inbound communication exist for the system, you can select the appropriate one. Otherwise the first user in the list will be selected automatically. If the selected scenario contains outbound services, you have to enter the outbound user information manually.
4. Select Save to activate the communication arrangement.
##  Note
A communication scenario is a design-time description of how two communication partners communicate with each other. It consists of inbound and/or outbound services as well as supported authentication methods. It provides technical information, such as the used inbound and outbound services and their service type, for example OData or SOAP, and the number of allowed communication arrangement instances. If the scenario exposes inbound services, it specifies the authorizations that are required to execute the services. The following types of communication scenarios are available:
- Managed by SAP , where SAP provides a ready-to-use communication scenario and you create and maintain a communication arrangement.
- Managed by Customer , where you develop a communication scenario and create and maintain a communication arrangement.
## Related Information
Maintain Communication Users [page 2708]
Communication Arrangements [page 2711] Communication Systems [page 2714] IAM Information System [page 2803]
## 6.3.1.7.1 Maintain Communication Users
You can use this app to create and edit communication users. Communication users are used by solutions to authenticate themselves to be able to post data.
With this app you can manage communication users for different integration scenarios with other solutions. A communication user enables the integration with other solutions. To be able to post data, the solutions have to authenticate themselves with the user and password you create here. The communication users are assigned to the communication system you want to use.
## Key Features
You can use this app to:
- Create a user
- Edit a user
- Lock or unlock a user
- Delete a user
- Display communication systems that use the selected communication user
- Display communication arrangements for the systems that use the selected communication user
- Download a list of all communication users to a spreadsheet
## 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-COM .
## Related Information
Communication Systems [page 2714] How to Create Communication Users [page 2710]
## 6.3.1.7.1.1  How to Create Communication Users
## Context
To create a new communication user, perform the following steps:
## Procedure
1. On the initial screen select New .
2. Enter a valid user name and description.
3. Either provide a password (basic authentication) or upload certificates for certificate-based authentication.
##  Note
We recommend that you use certificate-based authentication.
1. Configure password-based authentication
##  Note
We recommend that you use the Propose Password button.
##  Note
Passwords for communication users need to comply with the following requirements: the password length must be at least 20 characters, the password must contain at least one special character. The user will be locked after three unsuccessful login attempts.
2. Configure certificate-based authentication by uploading a X.509 client certificate. The customer system must use a client certificate signed by an appropriate certification authority (CA). A list of all root CAs approved by SAP Global Security is available in SAP Note 2801396 (SAP Global Trust List).
4. Select Create to save the user.
You can now assign the created user to a communication system. Use the Communication Systems app for this purpose.
## Related Information
Maintain Communication Users [page 2708] Communication Systems [page 2714]
## 6.3.1.7.2 Display Communication Scenarios
You can use this app to get an overview of available communication scenarios.
With this app you can display communication scenarios used for integrations, and the scenario status.
## Key Features
You can use this app to:
- Display all available communication scenarios
- Display scenario details and properties
- Display supported inbound authentication methods and inbound services used in a communication scenario
- Display supported outbound authentication methods, certificates, and outbound services used in a communication scenario
- Download certificates for specific purposes
- Display communication arrangements in which a communication scenario is used
- Create a new communication arrangement based on a communication scenario
- Display scope items: check which scope items the communication scenarios depend on. Communication scenarios that do not depend on any scope items are always visible in the system. For these communication scenarios, Scope Items (0) is displayed on the relevant tab and the following message appears in the table: The communication scenario is not scope-dependent .
- Display component: check under which component you can create an incident if required.
## 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-COM .
## 6.3.1.7.3 Communication Arrangements
With this app you can create and edit communication arrangements that your company has set up with a communication partner. The system provides communication scenarios for inbound and outbound communication that you can use to create communication arrangements. Inbound communication defines
how business documents are received from a communication partner, whereas outbound communication defines how business documents are sent to a communication partner. The communication scenario determines the authorizations, inbound and outbound services and the supported authentications methods, that are required for the communication.
## Key Features
You can use this app to:
- Display all existing communication arrangements
- Display detailed information for the selected communication arrangement
- Create new communication arrangements
- Maintain general information
- Select the required communication system. The user information and authentication method are filled in automatically after you have selected a communication system.
- Delete communication arrangements that you have created earlier
## 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-COM .
## 6.3.1.7.3.1  How to Create a Communication Arrangement
## Prerequisites
- You have already created a communication system with inbound and outbound users.
- You have already created a communication user with a supported authentication type that is defined in the selected communication scenario.
## Context
## Process Steps
To create a communication arrangement, proceed as follows:
## Procedure
1. Open the Communication Arrangements app from the SAP Fiori Launchpad. Already existing communication arrangements are listed on the initial screen.
2. Select New . In the New Communication Arrangement window, select a communication scenario and define the arrangement name. Select Create .
3. The new Communication Arrangements screen is now open. In the Communication System field under Common Data , select a communication system that you want your system to connect to. Alternatively, you can click New to create a new communication system.
4. Depending on the underlying communication scenario, maintain the Additional Properties .
5. If the communication scenario provides inbound services, you have to select the desired communication user and authentication method from the assigned communication system. The defined communication user then has the authorization to call these services. In the Inbound Services section, the URLs to the service endpoints are displayed. Depending on the underlying scenario, maintain the required inbound parameters.
6. If the communication scenario provides outbound services, you have to select the desired outbound user and authentication method from the assigned communication system. In the Outbound Services section, the URL path and port need to be defined. Depending on the underlying scenario, maintain the required outbound parameters and job execution details.
##  Note
If the required outbound service is of the type Outbound SQL Access , you need to make the following additional settings:
- Remote Database Schema Name : Here you enter the schema in the remote system containing the objects to be accessed.
- If required click Use Default . This reads the Remote Database Schema Name from the Outbound SQL access service.
- Remote Database Name : The database in the remote system containing the objects to be accessed. Usually you can leave the field empty unless the remote system hosts multiple databases.
7. Save the arrangement.
##  Note
The inbound section of the communication arrangement provides the correct URLs for API consumption. Depending on the protocol and scenario, the host name or path might differ. Always use the URLs provided in this section when configuring the calling service.
## Related Information
Maintain Communication Users [page 2708] Communication Systems [page 2714]
## 6.3.1.7.4 Communication Systems
You can use this app to create communication systems. Communication systems are created to enable the communication among different systems.
With this app you can create new communication systems that you can later use to establish communication arrangements. To enable communication between different systems you have to register these systems in the Communication Systems app. The communication system represents the communication partner within a communication. For inbound communication, this is the system that calls services provided by your system. For outbound communication, this is the system that provides services called by your system.
## Key Features
You can use this app to:
- Create communication systems
- Display detailed information about the already existing communication systems
- Delete communication systems
## 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-COM .
## Related Information
Maintain Communication Users [page 2708]
## 6.3.1.7.4.2  Authentication Methods for Outbound Users
You can define how your solution authenticates itself when it sends business documents to the external system. For security reasons, we recommend the use of certificate-based authentication.
You can choose between the following authentication methods:
- User name and password
- SSL Client Certificate
- OAuth 1.0
- OAuth 2.0
You can choose between the following authentication methods:
- Basic If you use this method, you need to enter a client secret.
- mTLS If you use this method, you need to select a client certificate.
- JWT
You can use JWT (JSON Web Tokens) to authenticate an OAuth client at the token endpoint of an OAuth authorization server (instead of using a client ID and a client secret).
- If you use this method, you need to download the corresponding certificate to your local device.
- None
If you want to use a SSL Client Certificate, you can either use the default certificate of your solution or a client certificate you have defined in the Maintain Client Certificates app.
## 6.3.1.7.4.3  Enabling Public OAuth Clients (PKCE) for Inbound Communication Scenarios
## Context
Communication scenarios that support OAuth 2.0 as authentication method for inbound communication can now be consumed by public OAuth clients using PKCE (Proof Key for Code Exchange). This allows desktop applications (acting as OAuth Clients) to consume OAuth-protected OData services with the identity of a business user. The business user will be prompted for providing consent to this action once (a web browser is required for this).
To enable consumption by public OAuth clients using PKCE, proceed as follows:
## Procedure
1. In the Communication Systems app, enter the Client Redirect URI under Inbound OAuth 2.0 Client Settings. Thereby you define the URL to which the client will redirect the browser after authorization has been granted by the user.
2. Under Users for Inbound Communication , click Add.
3. In the New User for Inbound Communication pop-up that appears, select OAuth 2.0 in the Authentication Method dropdown list, enter the OAuth 2.0 Client ID and click OK .
## Related Information
How to Create a Communication Arrangement [page 2712]
## 6.3.1.7.4.4  Manual Configuration - OpenID Connect (OIDC) Provider
When you have made the required settings under OpenID Connect (OIDC) Provider -Basic Configuration in the Edit mode of the communication system, the system attempts to automatically configure OpenID Connect for the provider you have defined. If the provider does not convey the required information, you receive an error message. In this case, you can use manual configuration as a fallback. Activate the Manual Configuration switch if this is required.
As a first step, you can download web keys from the provider. Should this fail too, you can directly enter the web keys as defined in your OpenID Connect specification.
## 6.3.1.7.5 Maintain Extensions on SAP BTP
You can use this app to create SAP Business Technology Platform (SAP BTP) extensions to build extension applications.
With this app you can create SAP BTP extensions for your SAP S/4HANA Cloud system. These automatically connect the two systems and enable you to build extension applications for SAP S/4HANA Cloud on SAP BTP.
## Key Features
You can use this app to:
- Create new SAP BTP extensions
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support while setting up the app (for example if the content could not be activated), please report an incident under component BC-SRV-APS-COM .
If you need support or experience issues that relate to the UI, please report an incident under component BC-NEO-EXT-S4C .
## Related Information
Deregister or Remove a System
Trigger the Registration in the SAP S/4HANA Cloud Tenant
## 6.3.1.7.6 Display Inbound Services
With this app you can display all available inbound services defined by you or delivered by SAP . You can also display further information about the services, such as if and where a deprecated inbound service is used and a list of its successors. Y ou can also check whether the service is deprecated system-wide or only in a scenario.
## Key Features
You can use this app to:
- Display documentation for the service
- Display authorization objects (this is only relevant in the custom communication scenarios environment)
- Display successors
- Display all communication scenarios that use this service
## 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-COM .
## 6.3.1.7.7 Display Outbound Services
With this app you can display all available outbound services defined by you or delivered by SAP . You can also display further information about the services, such as if and where a deprecated outbound service is used and a list of its successors. Y ou can also check whether the service is deprecated system-wide or only in a scenario.
## Key Features
You can use this app to:
- Display documentation for the service
- Display successors
- Display all communication scenarios that use this service
## 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-COM .
## 6.3.1.7.8 Business Catalogs for Communication Management
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.
Business Catalogs for Communication Management Apps
| Business Role Catalog    | Authorizations                     | Restrictions   |
|--------------------------|------------------------------------|----------------|
| Communication Management | All authorizations for the COMapps | None           |
| SAP_CORE_BC_COM          |                                    |                |
## 6.3.1.7.9 Glossary for Communication Management
Overview of terminology used for communication management
## Terminology Overview
| Term                      | Description                                                                                                                                                                                                                     |
|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Communication arrangement | A communication arrangement de- scribes a communication scenario with a remote system during configuration time. It provides the necessary meta- data for service configuration.                                                |
| Communication system      | A communication system represents the communication partner with all technical information that is required for communication, that is hostname, identity, user information, certificates, etc.                                 |
| Communication user        | A communication user is a special type of technical users that is assigned to a communication system. You create a communication user for particular communication scenarios.                                                   |
| Communication scenario    | A communication scenario defines the communication between external sys- tems and your own SAP cloud system. It bundles inbound and outbound serv- ices and additional properties that are required for configuration settings. |
## 6.3.1.7.10  Display Connectivity Trace
With this app you can analyze inbound connectivity issues, such as failed SSL handshakes, malformed HTTP requests or failed log-in.
## Key Features
You can use this app to:
- Display connectivity trace details
- Cross-navigate to the Maintain Business Users app and the Maintain Communication Users app.
- Maintain trace criteria
## 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-COM .
## 6.3.1.7.10.1  How to Create a Trace
## Context
In order to start a trace, you need to define the trace criteria.
## Procedure
1. Select the Display Connectivity Trace tile on the SAP Fiori Launchpad to open the app. On the initial screen, click Define Trace Criteria in the top-right corner.
2. Click Create .
3. Enter a description if required. We recommend using a description that is easily identifiable in the filter.
4. Change the validity if required. The default setting is 10 Minutes . Unlike a log, a trace is only available for a limited time frame.
5. Change the Request Method if required. The default setting is All .
6. Click Save .
## Results
The trace is now activated for the defined criteria. You can filter for it in the Trace Criterion dropdown list. Please note that there might be a time delay until the activation takes effect because all the affected components need to be notified.
## 6.3.1.7.11  Monitor bgRFC Queues
With this app you can monitor the bgRFC (background RFC) queues together with the associated units and inbound destinations. As well as displaying queues and units that belong to a destination, the app provides you with functions that let you intervene in their processing, such as Stop , Start , or Delete .
## Key Features
You can use this app to:
- Stop and start destinations, queues, units
- Delete queues and units if they are no longer needed
- Check for errors
- Display the first function module for each unit
- Navigate to Message Monitoring to view more details if required
## 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-COM .
## 6.3.1.7.11.1  Monitor bgRFC Queues: Further Information
Please note the following when using the Monitor bgRFC Queues app.
- Deleting a queue or unit can be risky. If you delete a queue, the included units are automatically removed. This can cause issues in the processing because dependencies between units and queues might exist.
- Queues and units can be stopped from the monitor. This function is only intended for analysis and not for regular operations, because it has consequences for runtime. If a queue is to be stopped, this also refers to the top unit that uses this queue. As soon as the unit is restarted, the queue is released again.
- Transactional ( T-Type ) units can be displayed to check whether any errors occurred. They are listed below the BGPF (Background Processing Framework) Inbound Destination . T o call them up, you need to click the Standard list entry of the relevant queue.
- In the Queue table, the Start All and Delete All pushbuttons enable batch operations. When clicked, they apply their respective actions to all current entries in the table based on the filters that have been set.
Therefore, if no filters are in place, all queues in the table will be affected. Conversely, if filters have been set, only those queues matching the filter criteria will be impacted. If you click one of these pushbuttons, a confirmation dialog box appears indicating the number of queues that will be impacted by the action.
## 6.3.1.7.12  Maintain SAML 2.0 Configuration
You can use this app to upload the primary and secondary signing certificates you have maintained within the SAP Cloud Identity Services. Please note that Base64 ASCII encoding is required for this.
## Key Features
This app provides the following key features:
- Upload primary signing certificates
- Upload secondary signing certificates
- Delete secondary signing certificates
- Display detailed information for the certificates, such as validity, subject, or issuer
## 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-COM .
## Related Information
Tenant SAML 2.0 Configurations
## 6.3.1.8 Development
SQL Trace Analysis [page 2726]
## 6.3.1.8.1 SQL Trace Analysis
With this app you can access and analyze SQL trace records after you have used the SQL trace function of the ABAP performance trace in the ABAP Development Tools (ADT).
## Key Features
This app provides the following key features:
- Display of all SQL traces that are available under your user name
- View of the SQL trace entries in chronological order, together with information about the ABAP source code location, duration of the execution, and the number of accessed records
- View and recalculation of the prepared and executed access plan
- Display of the origin of SQL statements in the source code
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-OP-MON .
## 6.3.1.8.2 Display Publishing Processes
With this app you can monitor publishing processes for custom communication scenarios and business catalog extensions.
## Key Features
You can use this app to:
- Filter for a certain status, such as Successful
- Filter for a certain object type, such as Custom Communication Scenario
- View details of the publishing process
- Restart a publishing process if required
## 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-IAM .
## 6.3.1.9 Employee Master Data
Business User Management [page 2727]
Business User Management enables and supports the lifecycle maintenance of business users.
Maintain Employees [page 2727]
## 6.3.1.9.1 Business User Management
Business User Management enables and supports the lifecycle maintenance of business users.
## 6.3.1.9.2 Maintain Employees
With this app, you can create employees and modify employee information.
## Key Features
You can use this app to:
- Create employees directly in the app or with CSV file import
- Edit employee information
- Retrieve the change log to view modified employee data
- Select employees for archiving
- Export employee data
In addition, the app supports the following technical features and options:
Navigate to Maintain Business User
## Supported Device Types
- Desktop
- Tablet
- Smartphone
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component CA-GTF-BUM .
## 6.3.1.9.2.1  How to Select an Employee for Archiving
## Context
You can't delete an employee in the Maintain Employees app. You can only select an employee for archiving. This is contrary to the Maintain Business Users app, where the user is physically deleted.
##  Note
It's not possible to select an employee for archiving in the Maintain Employees app if the employee has a user assigned to it. In this case, you have to delete the user in the Maintain Business Users app first.
The employee consists of a business partner in the role category BUP003 (Employee), a workplace address, and a user. An employee cannot be deleted immediately and in one step for business process reasons. If you need to permanently delete an employee, you have to delete the user first. Afterwards, you're able to delete the
business partner, which also contains the workplace address. Therefore, to physically delete an employee you need to refer to your Information Lifecycle Management (ILM) apps.
In the Maintain Employees app, the Select for Archiving filter is set to No by default. This means, only employees that are not selected for archiving are displayed. Choose the arrow icon (  ) to expand the header and see all filter options. If you want to see employees that are selected for archiving choose Yes from the dropdown and Go . T o see both, select the empty field from the dropdown.
This is how you can select an employee for archiving:
## Prerequisite:
The employee doesn't have a user assigned.
## Procedure
1. Open the Maintain Employees app and select the respective employee from the list.
2. Choose Edit .
3. On the General Information tab, in the Validity Period section, mark the Selected for Archiving checkbox.
4. Choose Save .
Alternatively, choose the Select for Archiving button.
You've selected the employee for archiving, you're now able to continue in your Information Lifecycle Management (ILM) apps.
## 6.3.1.10  Extensibility
Custom Logic [page 2729]
Custom Logic (Deprecated) [page 2736]
Configure Predefined Custom Fields [page 2741]
## 6.3.1.10.1  Custom Logic
With this app, you can implement BAdIs that have been released by SAP partners.
##  Caution
The management of data in an extension scenario deviates from the management of data in the standard scenarios. You are responsible for ensuring that the data used in an extension scenario is managed in accordance with any applicable legal requirements or business needs, such as data protection legislation or data life cycle requirements. The extensibility framework should not be used for the processing of personal data if this processing falls under any applicable data protection legislation.
## Key Features
You can use this app to do the following:
- Create your own implementation
- Specify filter conditions to define when an implementation is executed
- Publish your implementation to your test system
- Write custom code by using ABAP for key users
- Test your code with predefined test variants, for example
- Compare your code with older code versions
- Edit filter conditions of existing implementations
- Delete implementations
## 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-BL .
## Related Information
Creating Implementations [page 2730]
Creating Custom Code [page 2731]
## 6.3.1.10.1.1  Creating Implementations
Get an overview of how to create and publish your implementations.
## Process Steps
This is a generic description about how to create implementations. For specific documentation, refer to the individual extension point documentation in the Custom Logic app.
1. To create a new implementation, open the Custom Logic app and click Create .
2. Select the extension point (BAdI) that you want to implement. Perform a free text search by using the search field. The extension point descriptions, IDs and documentation will be searched. To view the documentation of an extension point, click View Documentation . When you have selected an extension point, click Step 2 .
3. Depending on the extension point you've selected, you can enter the implementation attributes next. Open the Edit Filter Condition dialog by clicking Add .
4. All BAdI filter conditions added in the dialog are connected with AND . Click Save to add the filter condition to the list of filters. Y ou can add more rows to the filter list by opening the dialog again. The filter list rows are connected with OR . Click Step 3 once you've maintained the filters.
5. Enter the implementation description and the ID. The description must start with a non-whitespace character. The ID starts with a fixed prefix and its total length must not exceed 30 characters. Click Review once you've maintained valid values.
6. Review the data you entered. If you want to make changes, click Edit in the respective section. Once you're finished, click Create . The creation process starts in the background and you're taken to the implementation detail page.
7. Once the implementation is created, the status will change from Creating to Created . Y ou can now edit the implementation attributes if your implementation has any, or publish your implementation to start writing code. After publishing, click Open Code Editor to write custom code.
## 6.3.1.10.1.2  Creating Custom Code
With the ABAP Cloud Editor , you can write your own code using ABAP for key users.
The editor is divided into three tabs that focus on different aspects of dealing with code: Develop , Test , and Compare .
## Develop
On the Develop tab, you can write, save, and publish ABAP code. Saving means writing a draft version of the code that only you can see. Once you publish your code, it'll be available in the system and visible for all users. Depending on the method you're implementing, there is a button Show Sample Code . Click this button to open a dialog that shows the sample code provided by SAP. Click Expand to increase the vertical space for the code.
The method signature on the right provides information about the method's parameters.
Put the cursor on a class, interface, or parameter to view the documentation displayed in the element information at the bottom of the page.
In edit mode, you can add prebuilt code blocks by selecting Insert Code Snippet . For more information, see Inserting Code Snippets [page 2732].
You can use keyboard shortcuts while working with the ABAP Cloud editor. You can view a list of all possible shortcuts by clicking Show Keyboard Shortcuts .
##  Note
Do not use the return statement in your code because it can affect the framework logic. It can result in missing custom logic trace entries or unexpected code behavior.
## Test
On the Test tab, you can test your code with different parameter values. Use the parameter kind dropdown to navigate to importing , exporting , changing , and returning parameters, depending on what the method offers. Use the input fields in the table rows to enter parameter values. For table parameters, click Add to add a new table row or Delete to delete a table row.
On the right, you can choose what code version will be tested: either Draft or Latest Published . Click Test to run the test. If the test was successful, a toast will appear. Y ou can then view the outcome in the different parameter tables.
If you want to save the test data you entered, click Save As , enter a test variant name, and click Save . If you have already selected an existing test variant, just click Save . Use Manage to delete saved test variants.
## Compare
On the Compare tab, you can compare different code versions. If you have a draft, it can be selected on the left. This is useful if you want to copy parts from older code versions to a new draft, for example. On the Compare tab, you can only save code but not publish it. Use the Develop tab for all code editing features.
##  Note
Please make sure that your draft logic is syntactically correct and tested. Otherwise, the draft logic might be lost when your system is upgraded to another release.
## 6.3.1.10.1.2.1  Inserting Code Snippets
Find out how to insert predefined or custom code snippets into your code.
Code snippets are small blocks of source code for recurring coding tasks such as calling a method of a custom reuse library. Some code snippets offer parameters for filling in placeholders in the code. There are two kinds of code snippets: Predefined code snippets and custom code snippets. The predefined code snippets are provided by SAP, while the custom code snippets depend on the custom entities you have created in your system.
## Predefined Code Snippets
Predefined code snippets are calls to the custom business objects Write API. These code snippets will only be shown if the method you are implementing has the Write API as a parameter.
## Procedure
1. Select a code snippet from the list.
2. Fill in the placeholders by maintaining the parameters on the Details page.
<!-- image -->
##  Note
The parameters are not mandatory. You can also insert the code snippet with placeholders, but then syntax errors will appear.
3. Select Insert Code Snippet to insert the code snippet into your code at the last cursor position.
## Custom Code Snippets
Custom code snippets are calls to the methods of your custom reuse libraries. The parameters of the method call are prefilled with sample data.
## 6.3.1.10.1.4  Keyboard Shortcuts in Web-Based Editor
You can use keyboard shortcuts while working in the web-based editor.
The following key combinations are provided in the web-based editor:
<!-- image -->
| Key Combination   | Key Combination   | What Is It Used for?                     |
|-------------------|-------------------|------------------------------------------|
| Ctrl              | + Space           | To turn on code completion               |
| Ctrl              | + /               | To uncomment or comment out a code block |
| Ctrl              | + #               | To uncomment or comment out a code block |
| Shift             | + F1              | To use pretty printer                    |
## 6.3.1.10.2  Custom Logic (Deprecated)
With this app you can write your own implementations to extend SAP partner code.
##  Caution
The management of data in an extension scenario deviates from the management of data in the standard scenarios. You are responsible for ensuring that the data used in an extension scenario is managed in accordance with any applicable legal requirements or business needs, such as data protection legislation or data life cycle requirements. Please note that the extensibility framework is currently not integrated in the privacy-by-default functionality. Therefore, the extensibility framework should not be used for the processing of personal data if this processing falls under any applicable data protection legislation.
## Key Features
You can use this app to:
- Create your own implementation by using ABAP for key users
- Implement your custom logic
- Test your custom logic, for example with predefined test variants
- Create filter conditions to define when an implementation is executed
- Publish implementation to your test system
- Edit implementation descriptions that have already been published
- Delete implementations
## 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-BL .
## 6.3.1.10.2.1  Creating Custom Logic
Get an overview of how to create custom logic, and how to publish your custom logic.
## Business Benefit
This app enables you to create and maintain custom logic for business add-ins (BAdIs) that have been released by SAP partners.
## Process Steps
This is a generic description about how to implement custom logic.
1. To find a Cloud BAdI, open the Custom Logic app.
2. Click  (Create) . Select a BAdI Description of the delivered BAdI you want to implement. Add an implementation description and an implementation ID.
3. Choose Create .
4. Now you can modify and test the draft logic using ABAP for key users in a web-based editor. You can click on Example to see a sample implementation of the BAdI. Choose the fields for testing on the Available Fields tab, enter the test data and click Test to check if your custom logic is working as expected.
<!-- image -->
##  Note
Please make sure that any of your draft logic is syntactically correct and tested. Otherwise, the draft logic might be lost when your system is upgraded to another Cloud release.
5. To activate your BAdI implementation, choose Publish .
## Related Information
Statements in ABAP for Key Users [page 2738]
Keyboard Shortcuts in Web-Based Editor [page 2741] Extensibility [page 2729]
## 6.3.1.10.2.3  Keyboard Shortcuts in Web-Based Editor
You can use keyboard shortcuts while working in the web-based editor.
The following key combinations are provided in the web-based editor:
<!-- image -->
| Key Combination   | Key Combination   | What Is It Used for?                     |
|-------------------|-------------------|------------------------------------------|
| Ctrl              | + Space           | To turn on code completion               |
| Ctrl              | + /               | To uncomment or comment out a code block |
| Ctrl              | + #               |                                          |
| Shift             | + F1              | To use pretty printer                    |
## 6.3.1.10.3  Configure Predefined Custom Fields
You, as a system administrator can use this app to configure your predefined custom fields to customize applications and their UIs.
Different companies and business processes require different document layouts or application functionalities. To address these specific needs, you can adapt predelivered fields accordingly. This app offers the option to configure predelivered custom fields in your apps to your needs.
## Key Features
You can use this app to:
- Configure a predefined field
- Provide UI texts in other languages
- Enable field usage
- Edit fields that have already been published
- Discard changes you have done to a field that was already published, and thus reset all modifications to get back to the state of the last published version of a field with one click
- Delete new fields or fields that have already been published
##  Note
The provided functionality of predefined custom fields does not provide the technical capabilities to support the collection, processing, and storage of personal data.
## 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-FLD .
## Related Information
Configuring Predefined Custom Fields [page 2742]
## 6.3.1.11  Factory Calendar
You can create and maintain holiday and factory calendars using the following apps:
- Maintain Holidays [page 2744]
- Maintain Holiday Calendars [page 2746]
- Maintain Factory Calendars [page 2748]
## 6.3.1.11.1  Maintain Holidays
You can use this app to display and maintain holidays according to your location, industry, or other requirements.
## Key Features
You can use this app to:
- display existing holidays.
- edit existing holidays.
- create new holidays.
- delete holidays.
To maintain holidays, log on to the SAP Fiori launchpad in the SAP Business Technology Platform (SAP BTP) system and open the Maintain Holidays app.
##  Note
To start the Fiori apps, you must have the SAP\_BR\_BPC\_EXPERT business role containing the SAP\_CA\_BC\_IC\_LND\_CAL\_CA1\_PC business catalog assigned.
##  Caution
The following HANA SQL functions are currently not supported:
- ADD\_WORKINGDAYS
- WORKDAYS\_BETWEEN
## Displaying Existing Holidays
If you want to display existing holidays, choose one of the following options:
- Enter your search criteria in the header section and press Go to display a specific holiday.
- Choose a status from the Editing Status drop-down menu and press Go to display a list of holidays.
Click a holiday from the list. The holiday details screen opens.
## Creating a New Holiday
You can create a new holiday. To do so, proceed as follows:
1. Press Create . The Create dialog box opens.
2. Enter a unique holiday ID and choose one of the following holiday types from the drop-down list:
- Fixed date: make entries in the Month and Day fields.
- Floating dates: press Create and choose a date from the drop-down list.
- Distance to easter: make an entry for the Distance to Easter Sunday field.
- Fixed day from date: make entries in the Month , Day and Weekday fields.
3. Fill all mandatory fields and press Create .
## Editing Existing Holidays
You can edit an existing holiday. To do so, proceed as follows:
1. Press Go to display the list of existing holidays.
2. Click a holiday from the list. The holiday details screen opens.
3. Click Edit and make your changes in the relevant sections.
4. Press Save to save your entries.
## Deleting Holidays
You can delete a holiday. To do so, proceed as follows:
1. Press Go to display the list of existing holidays.
2. Choose a holiday from the list by checking the checkbox next to the holiday calendar ID.
3. Press Delete .
4. In the Delete dialog box, press Delete .
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-SRV-ASF-CAL .
## 6.3.1.11.2  Maintain Holiday Calendars
You can use this app to display and maintain holiday calendars according to your location, industry, or other requirements.
## Key Features
You can use this app to:
- display existing holiday calendars.
- edit existing holiday calendars.
- create new holiday calendars.
- delete holiday calendars.
To maintain holiday calendars, log on to the SAP Fiori launchpad in the SAP Business Technology Platform (SAP BTP) system and open the Maintain Holiday Calendars app.
<!-- image -->
##  Note
To start the Fiori apps, you must have the SAP\_BR\_BPC\_EXPERT business role containing the SAP\_CA\_BC\_IC\_LND\_CAL\_CA1\_PC business catalog assigned.
##  Caution
The following HANA SQL functions are currently not supported:
- ADD\_WORKINGDAYS
- WORKDAYS\_BETWEEN
## Displaying Existing Holiday Calendars
If you want to display existing holiday calendars, choose one of the following options:
- Enter your search criteria in the header section and press Go to display a specific calendar.
- Choose a status from the Editing Status drop-down menu and press Go to display a list of calendars.
Click a holiday calendar from the list to find more information, such as:
- Details
- Assignments
- Holiday Calendar Texts
## Creating a New Holiday Calendar
You can create a new holiday calendar. To do so, proceed as follows:
1. Press Create . The Create dialog box opens.
2. Enter a unique holiday calendar ID ( Holiday. Cal. ID ) and press Continue .
3. Enter values for the Valid from and Valid to fields.
4. Add an assignment and a holiday calendar text. To do so, proceed as follows:
1. To add an assignment in the Assignment section, press Create . Choose a holiday from the drop-down list and press Continue . Enter a Valid To date and press Continue . Enter a Valid From date and press Continue . Press Apply .
2. To add a text in the Holiday Calendar Texts section, press Create . Choose a language key from the drop-down list and press Continue . Enter a description in the Description Text field and press Apply .
5. Press Save .
## Editing Existing Holiday Calendars
You can edit an existing holiday calendar. To do so, proceed as follows:
1. Press Go to display the list of existing holiday calendars.
2. Click a holiday calendar from the list. The holiday calendar overview screen opens and the Details , Assignments , and Holiday Calendar Texts sections are displayed.
3. Click Edit and make your changes in the relevant sections.
4. Press Save to save your entries.
## Deleting a Holiday Calendar
You can delete a holiday calendar. To do so, proceed as follows:
1. Press Go to display the list of existing holiday calendars.
2. Choose a holiday calendar from the list by checking the checkbox next to the holiday calendar ID.
3. Press Delete .
4. In the Delete dialog box, press Delete .
## Supported Device Types
- Desktop
- Tablet
## Component for Customer Incidents
If you need support or experience issues, please report an incident under component BC-SRV-ASF-CAL .