orkungedik/SAP-basis-dataset huggingface dataset:
## 4.2.9.4.3 Import Content from abapGit Repository into the ABAP Environment
Learn how to import content from your abapGit repository into your ABAP environment, and transfer it across multiple instances.
## Prerequisites
- You have installed the abapGit repositories ADT plug-in. See https:/ /eclipse.abapgit.org/updatesite/ .
- You have created content in your on-premise system and pushed it to your abapGit repository. See Create Content in an On-Premise System and Push it to abapGit Repository [page 769].
##  Note
The repository has to be accessible from the Internet. Cloud Connector is not supported.
- You have access to an ABAP cloud system. See Creating an ABAP System [page 183].
- You have assigned a developer user in the ABAP environment to the developer role. See Assigning the ABAP Developer User to the ABAP Developer Role [page 196].
<!-- image -->
##  Restriction
Please note that abapGit is an open-source project owned by the community. Therefore, we do not provide support for abapGit. We only support the abapGit integration in the ABAP environment.
## Procedure
1. Log on to ABAP Development Tools in Eclipse.
2. In the Project Explorer , select your cloud project system, and navigate to Window Show View Other.. to open the abapGit repositories view.
3. Search for ABAP , choose abapGit Repositories , and select Open .
4. In the abapGit repositories view , select the clone button (green + icon).
5. Enter your abapGit repository URL, and select Next .
6. Select a Branch and Package , where you want your abapGit repository to be cloned, and confirm with Next .
##  Note
If there are no packages, you have to create a structure package and add a development package.
7. Select the default transport request, and choose Finish . The imported objects are displayed in your package. See Released ABAP Object Types [page 780].
##  Note
The number of imported objects can differ from the number of exported objects because only released ABAP object types are considered during the import.
## 4.2.9.4.4 Folder Logic in abapGit
## Folder Logic
AbapGit in Steampunk offers two folder logics, either 'Prefix' or 'Full' . The folder logic has to be selected when linking a repository in ABAP Developer Tools in the popup. Afterward, the information can also be found in the abapGit Repositories ADT plugin. The folder logic information defines the way how subpackages of the root package that needs to be linked will be converted to folders in the linked repository. Therefore, this setting affects only the folder structure in the remote repository and has no implication to the object structure in the ABAP system.
## Prefix
The folder logic PREFIX allows the installation of a repository into a different parent package (in different systems). This can even be a local package (ZLOCAL), in which case no transport request is required. A package name must contain its parent package name as a prefix. This means that the names of the subpackages will start with the name of the parent package, for example:
- TESTMYTEST01 (parent)
- TESTMYTEST01\_RUN\_01 (child1)
- TESTMYTEST01\_RUN\_02 (child2)
##  Note
The prefix folder logic will not work correctly if you do not follow the convention.
Other examples, including valid package prefix:
- ZFOO
- ZFOO\_BAR
- ZFOO\_BAR\_QUX
This will produce the following folder structure:
/src
/src/bar
/src/bar/qux
Invalid package prefix:
- ZFOO
- ZBAR
## Full
The folder logic FULL forces the installation of a repository into packages with exactly the same name. Any package name is accepted. Folders will be named like packages. Any package name is accepted
- ZBASE
- ZSOMETHING
- ZHELLO
This will produce the following folder structure:
/src
/src/zsomething
/src/zsomething/zhello
In general, the folder logic setting is stored in the .abapgit.xml file in the remote repository, too. It is highly recommended to take over this information during the linkage process, in case the file already exists. Otherwise, a mixture of different folder logic information on the local and remote side would lead to inconsistencies.
## 4.2.9.4.5 Transfer your ABAP Source Code via abapGit
Use abapGit to transfer your ABAP source code from an ABAP environment instance back to your repository.
1. Create or adapt your source code in the ABAP environment instance:
1. Open ABAP Development Tools and logon to your ABAP system.
2. Add an ABAP development object, e.g. an ABAP class, to your already existing TESTABAPGIT package. To do this, click on Classes and select New ABAP Class .
<!-- image -->
3. Enter a name and description for your new ABAP class and click Next .
4. Click Finish .
<!-- image -->
PUBLIC
773
<!-- image -->
5. Now you can implement your newly created class.
6. Save and activate.
<!-- image -->
2. Open abapGit repositories:
1. Select your ABAP system in the Project Explorer and select Windows Show View Other... to open the abapGit repositories.
2. Search for abapGit repositories , select it and click Open .
<!-- image -->
<!-- image -->
3. Stage and commit your ABAP development objects.
1. Right-click your TESTABAPGIT package and click Stage and Push .
2. Enter your repository credentials in the popup and click OK .
3. In the staging view you will see a list of changed, created or deleted ABAP development objects which can be transferred to your repository. The icon of the respective file indicates whether a file was created, modified, or deleted.
<!-- image -->
<!-- image -->
4. ABAP development objects which should become staged can be selected by drag and drop from the unstaged box to the staged box or by clicking on the + button. Enter your commit message and click Commit and Push .
5. You'll see a notification telling you that your push has started. Click OK .
6. The staged objects have now been transferred to your repository.
<!-- image -->
<!-- image -->
## 4.2.9.4.6 Object Deletions with abapGit
Initially, abapGit as a Git client has been integrated into SAP BTP ABAP environment to enable customers to facilitate the import of code assets from customers' on-premise systems to SAP BTP ABAP environment. Over time, additional use cases came up, so that the focus is no longer on a one-time transfer but also onrepeated export and import of development objects across different landscapes, including handling of deletions.
In general, there are two basic types of deletions.
<!-- image -->
| Deletion Type   | Git Action   | Leading Repository   | Determination logic                                                                                                 |
|-----------------|--------------|----------------------|---------------------------------------------------------------------------------------------------------------------|
| Local           | Pull         | Remote               | If an object exists locally but not remotely, it will be marked for deletion during the pull process.               |
| Remote          | Stage &Push  | Local                | If an object exists remotely but not locally, it will be marked for deletion during the staging and push proc- ess. |
## Local Deletion
## Prerequisites
Objects from the remote repository have been pulled into your linked ABAP package.
1. Start by deleting the file(s) of your objects in your abapGit remote repository.
2. In ABAP Development Tools for Eclipse, you initiate a pull run. After that, the system performs a delta calculation to identify the differences between the package and the
3. remote repository.
3. The object previously deleted in your remote repository will now be shown as the action delete local object . Here, you can select the object to be deleted. Afterwards, click on Next and then Finish .
<!-- image -->
4. After the pull run, you can check the ABAP Object Log for the successful deletion.
5. Finally, reload the Project Explorer to see that the object has dissapeared in the overview as well.
## Remote Deletion
## Prerequisites
Objects from the remote repository have been pulled into your linked ABAP package.
1. Start by deleting your object locally in ABAP Development Tools for Eclipse first. In the Project Explorer , select the according object and delete it. This opens up a window called Select Objects . Here, you select the object to be deleted and then Finish .
2. Next, initiate a stage and pull of the emerging changes. To do this, right-click your abapGit package in ABAP Development Tools for Eclipse and select Stage and
3. Push . The following picture shows an example overview of unstaged and staged changes.
<!-- image -->
3. In the changes overview, the previously deleted object in your package will now be shown with a deleted icon.
You can drag and drop the object from Unstaged Changes to Staged Changes Afterwards, select Commit &amp; Push .
.
In the tab abapGit Repositories , you can now see that your linked repository will show the Status Pushed Successfully .
## 4.2.9.5 Setting Up and Working with Your Landscape
Depending on your requirements, you need to adjust the setup of your software lifecycle management and the underlying landscape. The following sections give you examples for the most common setups.
In general, the number of ABAP systems in your landscape is the result of the processes (development (DEV), quality assurance (QAS), and production (PRD)) that need to run in parallel and the number of branches of your biggest software component that is worked on or tested in parallel.
The number of ABAP systems = (number of branches x DEV systems) + (number of branches x QAS systems) + (number of PRD systems).
This is due to the fact that an ABAP system always checks out only one branch of a software component. Yet, several software components represented by one branch can run in one ABAP system in parallel.
## 4.2.9.5.1 Required Tools
Different actions require different tools. In the process descriptions, the following tools are used:
- SAP BTP cockpit (web-based administration interface)
- SAP Fiori app Maintain Business Roles [page 2769]
- SAP Fiori app Maintain Business Users [page 2758]
- SAP Fiori app Manage Software Components [page 2914]
- SAP Fiori app Export Customizing Transports [page 2695]
- SAP Fiori app Maintain Business Configurations [page 2687]
- SAP Fiori app Manage API Snapshots
- ABAP development tools for Eclipse is an Eclipse installation with ABAP Development Tools plugin (see ABAP Development Tools for Eclipse)
- Custom SAP Fiori apps: these apps are the result/aim of your development
- External test tools, for example for OData tests
- External documentation tool to document test results and release decision if required
## 4.2.9.5.3 Important Notes
- The creation of a Git repository branch creates a clone of the parent branch. If you create a branch immediately after the release decision, you have a 'frozen' state. You can import this state safely into one or multiple production systems, 'pre-production' systems, etc., or you may use it later for auditing.
- In the different system setups, the production systems can either be provisioned once development starts or later on, when needed for the first time for the Go Live, which is the point in time, when the first release is used productively in the production system.
- A classical 3-system setup comprising a development, quality assurance, and production system can be enhanced by pre-production systems, multiple test systems, etc. Test systems can be provisioned on demand (temporary) or permanently.
## 4.2.9.5.7 Double Maintenance of Corrections into Development
For corrections, double maintenance is necessary so that everything that had to be fixed during release testing or usage can be retrofitted into the development system.
##  Caution
Missing double maintenance can lead to data loss in production systems.
As there is no selective picking of transport requests to merge corrections back into the main branch, this is manual effort.
You can use the Compare Editor in ABAP Development Tools for Eclipse to merge corrections back to the main branch.
The process would be as follows:
You can compare the latest version of an object in your ABAP Development Tools project in a hotfix system with the latest version of the same object in the development system. If there are newly created objects, you have to create an object manually in the development ABAP system.
To make a comparison, from the context menu of the object in the Project Explorer or in the source code editor, choose Compare With ABAP project , where ABAP project is one of the ABAP projects defined in ABAP Development Tools.
|   Step | System   | Role      | Task                                                                                                                                                     | Tool                                                         |
|--------|----------|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|      1 | COR      | Developer | Select the corrected objects in the trans- port request and open them. This can be done se- lectively object by ob- ject.                                | ABAP Development Tools for Eclipse: Transport Organizer View |
|      2 | COR, DEV | Developer | 1. Select the resour- ces in the Project Explorer in correc- tion systemCOR 2. From the resour- ce's pop-up menu, select Compare With 3. Select the ABAP | ABAP Development Tools for Eclipse: Project Explorer         |
|   Step | System   | Role      | Task                                  | Tool                               |
|--------|----------|-----------|---------------------------------------|------------------------------------|
|      3 | DEV      | Developer | Merge the changes into the DEV system | ABAP Development Tools for Eclipse |
## 4.2.9.5.8.1  Transport Business Configuration via Software Component of Type Business Configuration
Learn how to transport business configuration via a software component of type Business Configuration .
## Prerequisites
To use the Manage Software Components app, business role SAP\_BR\_ADMINISTRATOR has to be assigned.
To use the Export Customizing Transports app, business role SAP\_BR\_BPC\_EXPERT has to be assigned.
## Procedure
1. In the Manage Software Components app, create a software component of type Business Configuration and clone it to the tenant where you want the business configuration to be created. See Create Software Components [page 2916] and Clone Software Components [page 2917].
2. In the Export Customizing Transports app, create a transport request. See Working in the Export Customizing Transports App [page 2697]. The system automatically associates the request to the previously cloned software component and sets its category to Default . Any user that is assigned to one of the transport request's tasks can use the request for change recording.
<!-- image -->
<!-- image -->
## Restriction
There can only be one open transport request of type Default at a time.
3. Release the transport request. See Working in the Export Customizing Transports App [page 2697].
##  Note
In exceptional cases, for example for an urgent preimport that must be performed in parallel to the default request, you can create additional customizing transport requests. To create an additional
customizing transport request in the Export Customizing Transports app, change the transport category from Default to Manual . Alternatively, you can use ABAP Development Tools for Eclipse. See Transport Business Configuration via Software Components of Type Development [page 814].
## 4.2.9.5.8.2  Transport Business Configuration via Software Components of Type Development
Learn how to transport business configuration via a software component of type Development .
## Prerequisites
To use the Manage Software Components app, business role SAP\_BR\_ADMINISTRATOR has to be assigned.
To use the Export Customizing Transports app or to create a customizing request in ABAP Development Tools for Eclipse, business role SAP\_BR\_BPC\_EXPERT or administrator role SAP\_BR\_ADMINISTRATOR need to be assigned.
To use the Transport Organizer view in ABAP Development for Eclipse, business role SAP\_BR\_DEVELOPER has to be assigned. See Transport Organizer.
## Procedure
1. In the Manage Software Components app, create software components of type Development and clone them to the tenant where you want the business configuration to be created. See How to Create Software Components and How to Clone Software Components.
##  Note
If you have already started development, such components may already be available.
2. In ABAP Development Tools for Eclipse, use the Transport Organizer view to create customizing transport requests for each software component, making sure to assign the correct target layer for each of the components used.
3. In the Transport Editor, assign the following attributes to all the created customizing transport requests so that they are displayed in the Export Customizing Transports app:
- SAP\_ATO\_TRANSPORT\_TYPE = BC
- SAP\_CUS\_TRANSPORT\_CATEGORY = MANUAL\_CUST
4. In the Export Customizing Transports app, release the transport request. See Working in the Export Customizing Transports App.
##  Note
When developing custom business configuration objects, you can decide if you want to provide a transport selection screen for change recording. If you are using this transport pattern, we recommend
autofilling the transport request based on the software component of the business configuration object.
## 4.2.9.6 Information for Audit
The following information is relevant for audit:
- Git repository: The creation of a Git repository branch creates a clone of the parent branch (including all development objects in the branch)
- During a pull or checkout, all objects that differ from the previously checked out commit and the pulled commit are imported into the ABAP system. Transport requests cannot be imported selectively into subsequent ABAP systems. Together with the information which branch and commit ID was pulled into an ABAP system, you can reproduce which version of an object was in an ABAP system at which point in time.
- The content of the Git repository with all its commits and objects is not directly accessible to users of an ABAP system. Only SAP employees have access to it for support purposes because the information is typically not required for an audit. In exceptional cases, the content of the Git repository can be requested via a service request.
- In the Manage Software Components SAP Fiori app and in ABAP Development Tools (ADT), the following information is available for a regular audit.
- Manage Software Components app:
- Action history of imports (pulls and branch checkouts), which also contains an execution log and a transport log per import. As these two logs are only saved temporarily in the ABAP system, we recommend to save them to an excel if they are needed for error analysis or audit.
- Information on the last commit (commit ID, commit message consisting of the transport request number and description, commit author and last commit timestamp) for each branch
- ADT
- In the Transport Organizer , you can find the transport requests together with the piece list
- In the Revision History , you can find the history of an object
## 4.2.9.7 Automate the Software Lifecycle Management Process
To facilitate your software lifecycle management process, you can automate it by using communication scenario SAP\_COM\_0510 and SAP\_COM\_0735 . See Pulling Git Repositories to an ABAP Environment System [page 839] and Running ABAP Unit Test Runs [page 816].
These communication scenarios contain several tools that can be used to craft a continuous integration process.
To make the setup of continuous integration pipelines as easy as possible, the open source project "Piper" was created. In general, there are various functions (Library steps) as well as whole pipelines available for reuse. You can find various steps that implement the functionality of the APIs of SAP\_COM\_0510 and SAP\_COM\_0735 .
The reusable continuous integration pipeline contains the following steps:
- Creating an SAP BTP ABAP environment system
- Setting up a communication arrangement for the APIs
- Cloning a software component / Git repository
- Running ABAP Test Cockpit checks
- Running ABAP unit tests
- Deprovisioning the SAP BTP ABAP environment system
##  Note
You can only dynamically create SAP BTP ABAP environment systems during the pipeline execution if you are using a consumption-based model. See What Is the Consumption-Based Commercial Model?
## Related Information
Continuous Testing on SAP BTP ABAP Environment
## 4.2.9.7.4 Configuring Remote ATC Using a Central Check System
You can perform remote code analysis in ATC, allowing you to analyze custom code remotely with the latest checks.
When using SAP BTP ABAP environment as the 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 to 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 the checked system from the ABAP environment as central check system remotely.
## Related Information
Configuring the Checked System [page 826]
Configuring and Administrating the Cloud Connector [page 829] Maintaining Communication Arrangements [page 833] Configuring the ATC Developer Scenario [page 834] Custom Code Migration App
## 4.2.9.7.4.1  Configuring the Checked System
You need to configure an RFC destination from your on-premise system (checked system) to the SAP BTP ABAP environment as central check system. This enables you to run ATC checks in the central check system for your custom code in the checked cystem.
## Related Information
Configuring the User [page 826]
Installing Remote Stubs [page 828]
## 4.2.9.7.4.1.1  Configuring the User
You can either apply 3548772 in the checked system to get all relevant authorizations for your RFC user or, alternatively, check the table below.
| Authorization Object Value   | Parameter   | Value                         |
|------------------------------|-------------|-------------------------------|
| S_RFC                        | ACTVT       | 16 (Execute)                  |
| S_RFC                        | RFC_TYPE    | FUGR                          |
| S_RFC                        | RFC_NAME    | SCA_REMOTE_DATA_ACCESS        |
| S_RFC                        |             | SABP_COMP_PROCS_E             |
| S_RFC                        |             | SYCM_APS_REMOTE               |
| S_RFC                        |             | SYST                          |
| S_RFC                        |             | S_CODE_INSPECTOR_TESTS        |
| S_RFC                        |             | SUSG_API                      |
| S_RFC                        | ACTVT       | 16 (Execute)                  |
| S_RFC                        | RFC_TYPE    | FUNC                          |
| S_RFC                        | RFC_NAME    | FUNCTION_EXISTS               |
| S_RFC                        |             | REPOSITORY_ENVIRONMENT_ALL    |
| S_RFC                        |             | RFC_GET_NAMETAB               |
| S_RFC                        |             | SVRS_GET_VERSION_DIRECTORY_46 |
| S_RFC                        |             | RFCPING                       |
| S_RFC                        |             | SLINRMT_RUN                   |
| S_RFC                        |             | TRINT_PROGRESS_INDICATOR      |
| S_RFC                        |             | TRINT_TP_UPDATE_TPSTAT        |
| S_RFC                        |             | SLDAG_GET_SYSTEM_NAME         |
| S_RFC                        |             | CVA_BSP_RUN                   |
| S_RFC                        |             | IDOCTYPE_COLLECT_ATC_INFOS    |
| S_RFC                        |             | IQAPI_QUERY_CONTENT           |
| S_RFC                        |             | IQAPI_INFOSET_CONTENT         |
| S_RFC                        |             | IQAPI_CHECK_INFOSET           |
| S_DEVELOP                    | ACTVT       | 03 (Display)                  |
| S_DEVELOP                    | DEVCLASS    | *                             |
| S_DEVELOP                    | OBJNAME     | *                             |
| S_DEVELOP                    | OBJTYPE     | *                             |
| S_DEVELOP                    | P_GROUP     | *                             |
| Authorization Object Value   | Parameter      | Value                                            |
|------------------------------|----------------|--------------------------------------------------|
| S_SYS_RWBO                   | ACTVT          | 01 (Create or generate) 02 (Change)              |
| S_TRANSPRT                   | ACTVT          | 01 (Create or generate) 02 (Change) 03 (Display) |
| S_DATASET                    | ACTVT FILENAME | 34 (Write) *                                     |
## 4.2.9.7.4.1.2  Installing Remote Stubs
During ATC execution, the central check system accesses the systems in your landscape remotely through so-called remote stubs using RFC connection. Thus, remote stubs serve as an interface between the central check system and on-premise systems; they return a model of custom code that needs to be checked.
## Prerequisites
In the on-premise system, implement SAP Note 2599695 (Custom Code Migration Fiori App: Remote Stubs for the Checked System) in advance.
## Context
You want to analyze your custom code in your on-premise system using the Custom Code Migration app.
## Procedure
1. In the on-premise system, perform transaction SNOTE .
2. Download SAP Note 2599695 .
The Note Assistant: Note Download dialog is opened.
3. To implement the remote stubs, select and confirm the displayed SAP Note.
4. It is also recommended to apply SAP Notes in checked systems. Update your check system by following these steps:
- a. Perform transaction SNOTE .
- b. In the menu bar, select Goto &gt; Other tools &gt; Launch Note Analyzer .
- c. Upload the file SAPNote\_2436688\_Checked\_System.xml available as attachment in SAP Note 2436688 . Y ou can now process the notes using SAP Note Analyzer.
##  Note
In case you don't want to use the Note Analyzer, please also apply the following SAP Notes:
- 2485231 - Remote ATC Checks of Modifications and Enhancements
- 2270689 - RFC Extractor for performing static checks
- 2190065 - ATC/CI: Remote Code Analysis - Object Provider Stub
## Results
The Custom Code Migration app now has access to the on-premise system. You can now start the custom code analysis.
## 4.2.9.7.4.2  Configuring and Administrating the Cloud Connector
The Cloud Connector enables the connection between the SAP BTP ABAP environment and on-premise systems in a secured network.
## 4.2.9.7.4.2.1  Connecting the Cloud Foundry Environment Subaccount to the Cloud Connector
## Prerequisites
- You have created a subaccount for the Cloud Foundry environment.
- You have installed the Cloud Connector.
## Context
You want to add and connect your subaccount for the Cloud Foundry environment to the Cloud Connector.
For more information, see
- Managing Subaccounts
- Cloud Connector
## Procedure
1. Go to your Cloud Connector and select the Connector navigation pane.
2. Choose the Add Subaccount button in the title toolbar.
3. In the Add Subaccount wizard, enter the Region of your server. Make sure that you choose the exact same region as in your Cloud Foundry subaccount.
4. Enter the ID of the Subaccount that you have created for the Cloud Foundry environment in the SAP BTP Cockpit . Y ou will find the subaccount ID under SAP BTP Cockpit your Global Account your Cloud Foundry Subaccount Subaccount Details .
5. Cloud Connector , enter the [Optional:] To label the subaccount in the Display Name .
6. Enter the login email address of the Subaccount User .
7. Enter the Password of the subaccount user.
8. [Optional: To overwrite the default location ID of the data center in the Cloud Foundry environment, enter the relevant Location ID .
9. [Optional:] Provide a Description for further details.
10. To add your subaccount to the Cloud Connector , choose Save .
## Results
A new entry for the Cloud Foundry subaccount is added in the Subaccount Dashboard table in the Cloud Connector.
## 4.2.9.7.4.2.2  Configuring the Access Control (RFC) for the Remote Connection
The resource accessible represents the on-premise system that can be accessed through the Cloud Connector .
## Context
You want to enable the connection for SAP BTP ABAP environment to an on-premise system.
For more information, see Configure Access Control (RFC)
## Procedure
1. In the Cloud Connector , select the [Display Name of the Cloud Foundry Subaccount] Cloud to OnPremise navigation pane.
2. To add a new system mapping, choose  from the section toolbar of the Mapping Virtual To Internal System table.
3. In the Add System Mapping wizard, provide the following data:
- a. Choose ABAP System from the Back-end Type drop-down list box.
- b. Choose Next .
- c. Choose RFC as Protocol from the drop-down listbox.
- d. Choose Next .
## 4.  Note
To use a connection with load balancing, skip this step and proceed with the next step.
To use a connection without load balancing, proceed as follows:
- a. Choose the Without load balancing (application server and instance number) radio button.
- b. Choose Next .
- c. Enter the following connection details of the on-premise system:
##  Note
You will find these details in the SAP Logon of your On-Premise system.
- Application Server .
- Instance Number of your Application Server ABAP.
- Name of the SAProuter , if applicable.
- d. Enter a virtual name for the Application Server .
- e. Enter a virtual Instance Number .
- f. Choose Next .
- g. Optional: Enter a description.
- h. Choose Next .
## 5.  Note
If you use a connection without load balancing, skip this step. Follow the instructions in the previous step instead.
To use a connection with load balancing, proceed as follows:
- a. Choose the With load balancing (system ID and message server) radio button.
- b. Choose Next .
- c. Enter the following connection details of the on-premise system:
##  Note
You will find these details in the SAP Logon of your On-Premise system.
- Message Server .
- System ID .
- Name of the SAProuter , if applicable.
- d. Choose Next .
- e. Define and enter a virtual name for the Message Server .
- f. Define and enter a virtual System ID .
- g. Optional: Enter a description.
- h. Choose Next .
6. Optional: You can mark the checkbox Check Internal Host to immediately check the connection during creation.
7. To trigger creation, choose Finish .
You have added the relevant on-premise system as resource accessible.
Now, you want to define the permitted function modules as resources for a specific back-end system.
To do this, proceed as follows:
8. In the Cloud To On-Premise navigation pane, select the relevant system mapping in the Mapping Virtual to Internal System section.
9. To define which function modules are executable in the on-premise, choose  Import resources belonging to a scenario from the section toolbar in the Resources Of … section.
##  Note
To get the relevant import file for the Custom Code Migration scenario, see SAP Note 2861842 -Custom Code Migration in SAP BTP ABAP environment: Set up SAP Cloud Connector.
10. Browse the Scenario File and choose Select .
## Results
You have defined the on-premise system(s) that are accessible from the ABAP environment.
Now, you can call the defined function modules in the on-premise system.
## 4.2.9.7.4.3  Maintaining Communication Arrangements
A communication arrangement describes a communication scenario with a remote system during configuration time. It provides the required metadata for the service configuration.
## Prerequisites
To create these communication arrangements, you need the Administrator role.
You have created a destination to your on-premise system in the Cloud Connector that is connected to your BTP subaccount.
## Context
You want to enable communication from your ABAP environment to your on-premise systems using Remote Function Calls (RFC).
To do this, you need to use the communication arrangement SAP\_COM\_0464 (SAP Custom Code Migration Integration).
## Procedure
1. Log on to the SAP Fiori launchpad of your ABAP environment.
2. In the Communication Management section, select the Communication Arrangements tile.
3. Choose New .
4. Use the value help to choose the SAP\_COM\_0464 scenario.
5. Define and enter an Arrangement Name .
If not yet available or defined, create a new communication system for the communication arrangement to define an endpoint for your checked system.
- a. For the Communication System , choose New .
- b. In the New Communication System dialog, enter the System ID and System Name of the checked system.
- c. Choose Create .
- d. In the Technical Data tab under General , enter the virtual host as specified in your Cloud Connector as Host Name . The field Port has already been filled in automatically with the default 443 .
- e. Turn on the slider for Cloud Connector .
- f. Filling in the field SCC Location ID is optional.
- g. Under RFC Settings , fill in the fields Client , Instance Number and Target Host as specified as virtual host in your Cloud Connector .
- h. Under User for Outbound Communication , choose + to assign the RFC user you created in the checked system to the communication system.
- i. Choose Create and then Save to save the communication system and to be navigated back to the Communication Arrangement creation page.
6. Under Additional Properties , fill out the fields Object Provider and System Group (both freely selectable). This is the name you then select as your Object Provider to Remote System for your custom code migration project in the Custom Code Migration app.
7. Under Outbound Services Retrieve Custom Code , ensure that the Service Status is set to Active .
8. Choose Save to save the communication arrangement. A message should now pop up at the bottom of the screen informing you that the activation was successful.
## Results
You can now select the communication arrangement in the Object Provider to Remote System field in the Custom Code Migration app to establish the connection to your on-premise system.
## 4.2.9.7.5 (Deprecated) Test Integration (SAP\_COM\_0510)
Communication scenario SAP\_COM\_0510 enables you to create continuous integration pipelines for SAP BTP ABAP environment systems.
You can use this communication scenario to create continuous integration processes. See Automate the Software Lifecycle Management Process [page 815].
##  Note
Please be aware that this communication scenario is deprecated. From now on, please refer to the new communication scenario API for Managing Git repositories (0948).
## 4.2.9.7.5.1  API to Manage Git Repositories
You can use the MANAGE\_GIT\_REPOSITORY API to pull or clone Git repositories to ABAP environment systems and to create and checkout branches. The MANAGE\_GIT\_REPOSITORY API belongs to the Communication Scenario SAP\_COM\_0510.
##  Note
In ABAP environment, Git repositories are wrapped in software components. These are currently managed in the Manage Software Components app. The technical parameter sc\_name used in this API needs to be the name of the Git repository on the ABAP environment system - the name of the software component.
##  Note
It is currently not possible to execute/trigger multiple actions (clones/pulls/deletes) in parallel on one system, regardless of the fact that the calls run asynchronously.
## Related Information
Cloning Git Repositories to an ABAP Environment System [page 837] Pulling Git Repositories to an ABAP Environment System [page 839] Working with Branches on a Git Repository [page 843]
## 4.2.9.7.6.1  Assembling a Software Package
## Prerequisites
- You have fulfilled all prerequisites mentioned in Build and Publish Add-on Products on SAP Cloud Platform ABAP Environment
- Ideally, you have set up and configured a pipeline with stages and steps as recommended in ABAP Environment Pipeline , and Configuration .
In doing so, the following activities are performed automatically:
- You have an ABAP environment system.
- You've created a Communication User as described in How to Create Communication Users [page 2710].
- You've created a Communication System as described in How to Create Communication Systems.
- You've created a Communication Arrangement as described in How to Create a Communication Arrangement [page 2712].
- You have selected the communication scenario SAP\_COM\_0582 for your communication arrangement and have mapped it to your communication system.
- You have pulled a repository to the SAP Cloud Platform ABAP Environment system using communication scenario SAP\_COM\_0948 .
- You have provided information on build essentials in an addon.yml file which has already been validated by the Add-On Assembly Kit as a Service (AAKaaS).
## Procedure
1. During the build pipeline run, the step abapEnvironmentAssemblePackages is executed (see abapEnvironmentAssemblePackages ). This step runs the assembly of a list of provided installations,
support packages or patches in an SAP Cloud Platform ABAP Environment system and saves the corresponding SAR archive to the pipeline.
2. An example for the configuration in config.yml as well as input arguments and values can be found here: Examples .
## 4.2.10  Intelligent Scenario Lifecycle Management
Intelligent Scenario Lifecycle Management (ISLM) is a self-service framework that allows you to perform lifecycle management operations on machine learning scenarios.
This includes training, deploying, activating, and fetching an accurate inference result based on the trained intelligent scenarios. An intelligent scenario is an ABAP representation of machine learning business-specific use case.
## 4.2.10.1  Generative AI for ISLM
Intelligent Scenario Lifecycle Management (ISLM) is a standardized framework that facilitates end-to-end lifecycle operations and the consumption of business AI scenarios.
You can use ISLM to seamlessly adopt a Generative AI scenario into your business application by creating a Gen AI Intelligent Scenario. The framework also offers additional features like automatic enablement (Turnkey) and Usage Types for faster integration to Business Apps.
ISLM integrates with the Generative AI Hub in SAP AI Core that offers easy access to LLM models hosted by hyperscalers. This integration is made possible via a communication scenario SAP\_COM\_0A69, which is a Customer Outbound Integration. This is a customer-managed communication scenario, which requires manual connection setup.
With the connection to Gen AI Hub established, ISLM can be used to create and activate deployments Turnkey or Manually. You can then use the ABAP AI SDK APIs for prompt execution. The ABAP AI SDK is a reuse library in an ABAP system that provides access to generative AI functionality via Intelligent Scenario Lifecycle Management (ISLM).
The intelligent scenarios are development objects that can be created using the ABAP development tools for Eclipse in ABAP systems.
The Intelligent Scenario Management app should be used for operating intelligent scenarios, for example activation and deployments.
For SAP delivered Gen AI and custom-developed intelligent scenarios that support turnkey, the creation and activation of deployments can be automated using the Turnkey [page 858] feature.
Following is the architectural representation of ISLM integration with ABAP AI SDK.
<!-- image -->
The following sections shows get step-by-step instructions on how to set up the integration of ISLM with the generative AI hub in SAP AI Core:
- Download Certificate [page 850]
- Create SAP BTP Service Instance and Key [page 851]
- How to Configure the Communication System for SAP\_COM\_0A69 [page 853]
- How to Create the Communication Arrangement for SAP\_COM\_0A69 [page 854]
- Manage Gen AI Scenarios [page 855]
## 4.2.10.1.1  Download Certificate
## Prerequisites
You already have the SAP\_BR\_ADMINISTRATOR business role assigned.
## Context
In this task, download the client default certificate of the ABAP system to create the X.509 service key in AI Core instance.
## Procedure
1. Log on to the SAP Fiori launchpad.
2. Enter user credentials for administrator.
3. Choose Maintain Client Certificates .
You can also search for Maintain Client Certificates and select it.
4. On the Maintain Client Certificates screen, search for Client Default .
5. Choose the Client Default from the certificates list.
6. Choose Export to export the file to your local file folder.
7. Choose the Base-64-encoded X.509 certificate (.crt) format to save the certificate.
8. Choose Export .
## Next Steps
Create SAP BTP Service Instance and Key [page 851]
## 4.2.10.1.2  Create SAP BTP Service Instance and Key
Create a service instance and service key for accessing SAP AI Core, where the large language models in the generative AI hub are hosted. The X.509 service key is created with the downloaded client default certificate of the ABAP system passed as parameter.
## Prerequisites
- You have purchased the license for SAP AI Core.
- You have an active global account on SAP BTP with access to the SAP BTP cockpit. For more information, see Setting up a Global Account.
- You have subscribed to SAP AI Core.
- You have already downloaded the client default certificate from the ABAP system. See, Download Certificate [page 850]
## Create Service Instance
## Context
Once you have an active SAP BTP global account, create a service instance in your SAP BTP subaccount.
##  Note
This procedure is based on default content and UIs. Depending on your configuration settings, the procedure may be slightly different.
## Procedure
To create service instance for SAP AI Core, see Create a Service Instance.
##  Remember
While updating the basic information for your instance, ensure that you choose Plan as Extended . For more information, see Service Plans
## Create Service Key
## Context
Create service key for OAuth 2.0-based authentication.
## Procedure
1. On the Instances and Subscriptions page, find your new instance that you created and choose Create Service Key from the drop-down.
2. Enter a name for your service key.
3. Configure binding properties.
- a. Enter Binding Name as SAP\_COM\_0A69\_Skey (any name of your choice).
- b. The parameters you need to set when you create your service key or service binding are the following in JSON format:
```
 Sample Code { "xsuaa": { "credential-type": "x509", "x509": { "certificate": "<Client-Default-Certificate>", "ensure-uniqueness": false, "certificate-pinning": true, "hide-certificate": true } } }
```
For more information, see Parameters for Self-Managed X.509 Certificates
4. Click Create .
5. Download your service key to save it.
## Next Steps
Save the service key details to use while creating the communication system and communication arrangement for the integration between ISLM and Generative AI Hub.
## 4.2.10.1.3  How to Configure the Communication System for SAP\_COM\_0A69
Configure communication system for SAP\_COM\_0A69.
Currently, you can create one instance of the communication scenario per client.
## Prerequisites
Make sure you have followed all steps as described in Create SAP BTP Service Instance and Key [page 851], so the X.509 service key is created from the default client certificate of the ABAP system.
```
 Sample Code { "serviceurls": { "AI_API_URL": "xxx" }, "appname": "xxx", "clientid": "xxx", "identityzone": "xxx", "identityzoneid": "xxx", "url": "https://xxx.authentication.xxx.hana.ondemand.com", "certurl": "https://xxx.authentication.cert.xxx.hana.ondemand.com", "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n" }
```
## Procedure
1. Log on to the SAP Fiori launchpad.
2. Navigate to Communication Management.
3. Choose Communication Systems tile.
4. Choose New .
5. Enter System ID and System Name . System Name is auto populated. We recommend providing the same name for both System ID and System Name .
6. Choose Create .
7. Navigate to the Technical Data tab. Update the Technical Data details as per the service key details.
8. In the General section, for Host Name , use the AI\_API\_URL value without protocol.
9. In the Outbound OAuth 2.0 Client Settings , enter the following details:
- For Authorization Endpoint use the url value without protocol.
- For Token Endpoint , use the url value without protocol and add the path: /oauth/token. Add the "/oauth/token" string to the URL value.
- For mTLS Endpoint , use the certurl value without protocol and add the path: /oauth/token.
##  Note
For the steps 8 and 9, ensure that you remove the "https:/ /" string from all URL values.
10. On the Users for Outbound Communication tab, choose the Add button.
11. Create an authentication method, enter the following details:
- Authentication Method - Select OAuth 2.0
- OAuth 2.0 Client ID - Use the clientid value from the service key.
- Client Authentication - Select mTLS
- For Client Certificate , select Client Default from the value help.
12. Choose Create .
13. Choose Save .
## Next Steps
How to Create the Communication Arrangement for SAP\_COM\_0A69 [page 854]
## 4.2.10.1.4  How to Create the Communication Arrangement for SAP\_COM\_0A69
## Procedure
1. Log on to the SAP Fiori launchpad.
2. Navigate to Communication Management .
3. Choose Communication Arrangements tile.
4. Choose New .
5. In the Scenario field, select the predefined communication scenario SAP\_COM\_0A69 .
6. Enter Arrangement Name .
7. Choose Create .
8. Navigate to the Outbound Communication area.
9. In the Communication System field, enter the communication system that you created. See, How to Configure the Communication System for SAP\_COM\_0A69 [page 853]
10. Choose Save .
## Next Steps
Once the communication system and arrangement are created, you can continue with creating an intelligent scenario of type Generative AI in the ABAP development tools for Eclipse.
You are required to create an intelligent scenario for your Gen AI use cases. To create an intelligent scenario, see Creating Intelligent Scenarios and Creating Intelligent Scenario Models .
With the intelligent scenario, you can perform all the lifecycle management operations. See, Manage Gen AI Scenarios [page 855]
## 4.2.10.1.5  Manage Gen AI Scenarios
After communication system and communication arrangement are configured, create an intelligent scenario and continue managing the lifecycle of the intelligent scenario. You are required to create an intelligent scenario for your custom owned Gen AI use cases.
With this intelligent scenario you can perform all lifecycle management operations to get an inference result. You can perform all the operations using the Intelligent Scenario Management app. You can also choose to automate all the operations by using turnkey feature. Once turnkey is enabled for an intelligent scenario, all the operations from pre-requisites check to activation are run automatically. Or, you can perform all these operations manually too.
The following is a list of operations that you can perform on an intelligent scenario:
- Create - You can create an intelligent scenario of type Gen AI in ABAP development tools for Eclipse. See, Creating Intelligent Scenarios and Creating Intelligent Scenario Models
- Deployment: You can deploy the trained machine learning models for inference consumption. This functionality applies to Side-by-Side scenarios only. See, Deploy and Undeploy
- Activation: You can activate the trained machine learning model for which you want to get the inference results. See, Activate and Deactivate
- Inference Results - You can get the predictions that are generated from the trained machine learning models. See, Inference Request
- Turnkey - You can automate all ML operations of an intelligent scenario. Which means, once turnkey is enabled for an intelligent scenario, all the operations, such as pre-requisites check, train, deployment, and activation are run automatically. See, Turnkey [page 858]