SAP-samples/abap-platform-ccm-workshops
Hands-on workshop material for adapting custom ABAP code ahead of a system conversion to SAP S/4HANA, using the Simplification Database and ABAP Test Cockpit.
Covers custom code migration for an SAP S/4HANA system conversion: checking existing ABAP code against the Simplification Database, running remote checks with ABAP Test Cockpit from a central check system, and adapting the findings with the Custom Code Migration Fiori app. Nine exercises run from call monitoring, which finds unused code, through ATC checks and SAP Note-guided quick fixes to migrating code into the SAP BTP ABAP environment with abapGit. The material stays workshop-scoped: it walks through the tooling on a prepared appliance system rather than a customer landscape.
Facts
Where it sits
Who is behind it
In the atlas: maintains 222@SAP-samplesmaintainerAjay SorengContributes to this
In the atlas: contributes to 36@ajaysorengIngo BräuningerContributes to this
In the atlas: contributes to 5@ibraeuninger2 contributors
What it declares
Every artifact
- Type
- Sample
- Origin
- By SAP
- Use as
- A reference
As a sample
- Form
- Workshop or CodeJam material
Connections
Whether code can run in ABAP Cloud, and what to do when it cannot
Download
README
quoted from SAP-samples/abap-platform-ccm-workshops under Apache-2.0, readSAP Custom Code Adaptation for SAP S/4HANA
Description
This repository contains the material for Custom Code Adaptation for SAP S/4HANA.
Table of Content
- SAP Custom Code Adaptation for SAP S/4HANA
- Description
- Motivation
- Overview of the Conversion Process
- Key Aspects of Custom Code Adaptation
- General Information
- 📋Requirements for attending this workshop
- System access (workshops provided by SAP)
- 🔎Overview
- 🛠Exercises
- 📤Solution Package
- 🔁Recordings
- ⚠Known Issues
- 🆘How to obtain support
- Further Information
- License
Motivation
Since years SAP customers invested heavily into custom developments related to the SAP Business Suite. In the SAP S/4HANA a lot of SAP code was simplified and, in some cases, changed in a not compatible way (e.g. remove of database tables, data types and data model changes). Therefore, during system conversion from a SAP ERP system to SAP S/4HANA custom code needs to be adapted. The Simplification Database stores and describes all incompatible changes of the SAP code in SAP S/4HANA including the guidance (via SAP Notes) how the related custom code can be adapted. SAP provides tools based on the Simplification Database to detect custom code, which needs to be adapted to SAP S/4HANA and carry out functional adaptation.
Custom Code Migration is part of the system conversion process from the classic SAP Business Suite running on any database to the SAP S/4HANA system. In the context of this system conversion, custom ABAP code needs to be adapted, since a lot of SAP code within SAP S/4HANA was simplified and in some cases changed in a non-compatible way.
Custom Code Migration refers to the process of analyzing and adapting existing custom ABAP code to ensure its readiness for SAP S/4HANA. This process involves several steps and tools to facilitate the migration and ensure compatibility with the target environment.
Some of your custom code objects are not valid anymore and either do not perform as expected or produce syntax errors or dumps (red objects in the picture). You almost certainly have other objects that do perform as expected and do not need to be changed (green objects in the picture).
SAP provides tools, based on the Simplification Database, that detect any custom code that needs to be adapted to SAP S/4HANA. The Simplification Database is a database table in the SAP S/4HANA system that contains all Simplification Items that refer to SAP objects simplified in SAP S/4HANA. Each simplification item describes changed or removed SAP objects and refers to a dedicated SAP Note that describes the impact of the change and how the related custom code can be adapted.
To analyze the required adaptations, you need to set up a system based on SAP NetWeaver AS for ABAP 7.52 that operates as a Central Check System. Using this Central Check System, you can perform remote custom code checks in ABAP Test Cockpit (ATC) for one or more systems in your landscape.
This material focuses on the custom code related process, from checking custom code remotely, then analyzing the findings, and finally adapting the custom code. Read this guide carefully to get instructions on how to adapt your custom code to SAP S/4HANA 1909.
Overview of the Conversion Process
SAP provides a process for the system conversion to SAP S/4HANA. The following figure gives you an overview of the tools, the phases, and the activities involved in the process.
The Custom Code Migration process describes the tools and necessary activities that help you to migrate custom code. The process consists of preparatory analysis (Custom Code Analysis) and the adaptation of the custom code (Custom Code Adaptation) after the technical conversion.
Key Aspects of Custom Code Adaptation
To prepare the system conversion, we recommend that you evaluate your custom code and remove any obsolete code as indicated in the Usage Procedure Log (UPL/SCMON). For more information, see ABAP Call Monitor (SCMON) – Analyze usage of your code. In addition, your custom code needs to be checked with ABAP Test Cockpit (ATC) against the SAP S/4HANA simplifications in the Simplification Database and for any SAP HANA related changes. The result is a list of findings where your custom code does not comply with the scope and data structure of SAP S/4HANA. At this step you can estimate the required effort required to adapt custom code to migrate to SAP S/4HANA.
Types of Projects
One essential part the Custom Code Adaptation is the Custom Code Migration Fiori App. The Custom Code Migration app enables you to create three different kinds of projects:
- SAP S/4HANA Migration Project: Analyze custom code that shall be migrated from an existing product like SAP Business Suite to a new product such as SAP S/4HANA 2023. It performs SAP S/4HANA custom code checks to evaluate the custom objects to be adapted.
- SAP BTP Analysis Project: Analyze custom code for readiness to run in SAP BTP ABAP environment.
- Custom Code Analysis Project: Analyze custom code with arbitrary ATC check variants. This includes performing dependency and complexity analyses.
Migration Process
- Code Analysis: The custom code migration process analyzes your existing code for cloud-readiness. Tools like the Custom Code Migration app and ABAP Test Cockpit (ATC) are used to identify functional or security vulnerabilities in your ABAP source code.
- Adapting Code: After analyzing the code, necessary changes are made to adapt the code for the target environment.
Additional Information
Unused Code Identification: The Custom Code Migration app supports identifying unused custom code based on collected usage data, enabling the removal of unused code during system conversion to SAP S/4HANA.
For more detailed steps and guidelines, you can refer to the following resources:
General Information
This document outlines our general product direction and should not be relied on in making a purchase decision. This document is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this document or to develop or release any functionality mentioned in this document. This document and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent.
📋Requirements for attending this workshop
To complete the practical exercises in this workshop, you need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC and the access to the ABAP system.
Click to expand!
The requirements to follow the exercises in this repository are:
- Install the latest Eclipse platform and the latest ABAP Development Tools (ADT) plugin
- Adapt the Web Browser settings in your ADT installation
- SAPGUI installed
ℹ️ Regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam":
→ A dedicated ABAP system for the hands-on workshop participants will be provided.
→ Access to the system details for the workshop will be provided by the instructors during the session.
System access (workshops provided by SAP)
In a workshop that is conducted by SAP a SAP S/4HANA 2023 preconfigured appliance system will be provided to the workshop participants.
The system details will be provided by the trainers. With the system details you can connect via ADT to the system as described in the following how-to-guide.
How to connect with ADT to a preconfigured appliance system
🔎Overview
Learn about the current business scenario and the 3-tier extensibility model.
Click to expand!
About the Scenario
The document is a comprehensive guide for participants focused on adapting custom ABAP code for SAP S/4HANA using various tools and methodologies. It outlines the challenges of migrating custom code due to simplifications in SAP S/4HANA and introduces tools like the ABAP Call Monitor, Simplification Database, and ABAP Test Cockpit (ATC) for analysis and adaptation. The exercises walk users through hands-on tasks using Eclipse-based ABAP Development Tools and Fiori apps to identify, analyze, and fix code incompatibilities. It also covers the use of ABAPGit for cloud migration and developing Fiori apps in the Steampunk environment. Overall, the document serves as a practical, step-by-step training resource for developers preparing for SAP S/4HANA transitions.
🛠Exercises
🛠Exercise Summary
The exercises in the document are designed to guide you through the process of adapting custom ABAP code for SAP S/4HANA. Here's a breakdown of the key exercises:
- ABAP Call Monitor (/SDF/SCMON and SUSG): Learn how to collect and analyze usage data of custom ABAP programs to identify obsolete or unused code.
- Simplification Database (SYCM): Explore how to use the Simplification Database to identify SAP S/4HANA changes that impact custom code and navigate related SAP Notes for adaptation guidance.
- ABAP Test Cockpit (ATC): Perform remote code checks to detect incompatibilities with SAP S/4HANA and analyze findings using the ATC Statistics View.
- Fiori Custom Code Migration App: Create and scope a migration project, analyze findings, and prepare transport requests for system conversion.
- ABAP Development Tools (ADT): Use Eclipse-based tools to create and run ABAP programs, explore development features, and apply quick fixes to code issues.
- Adapt Custom Code: Apply ATC findings to fix broken custom programs post-conversion, using SAP Notes and quick fixes.
- ABAPGit: Migrate existing code to the SAP Cloud Platform ABAP Environment using Git-based workflows.
- Develop a Fiori App in Steampunk: Create a Fiori application using modern ABAP and SAPUI5 technologies in the cloud-based Steampunk environment.
- Modernize classic extensions to clean core in SAP Cloud ERP : Modernize classic extensions to clean core in SAP Cloud ERP
🛠Exercise Details
📤Solution Package
You can add the solution package Z_CCM_SOLUTIONS into your Favorite Packages in your ABAP Development Tools (ADT).
ℹ️ Regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam":
The solution packageZ_CCM_SOLUTIONSis already imported into your dedicated system used during these events.
🚧 More information coming soon
🔁Recordings
Lorem Ipsum
📹 Cloud API Enablement on SAP S/4HANA and SAP S/4HANA Cloud Private editions
⚠Known Issues
No known issues.
🆘How to obtain support
Create an issue in this repository if you find a bug or have questions about the content.
For additional support, ask a question in SAP Community.
Further Information
You can find further information here:
- Blog Post on how to mitigate missing released SAP APIs in SAP S/4HANA Cloud | SAP Community
- Detailed document on ABAP Cloud API Enablement Guidelines | Guide
- ABAP RESTful Application Programming Model (RAP) | SAP Community page
- Most frequently asked questions: ABAP Cloud FAQ | RAP FAQ
- RAP640 Tutorials Group: Mitigate Missing Released SAP API in the 3-tier Extensibility Model | SAP Developers' Center
- Various hands-on workshop materials on ABAP Cloud, including RAP and embedded analytics
License
Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:sap-samples-abap-platform-ccm-workshops- JSON
- /artifacts/sap-samples-abap-platform-ccm-workshops.json
- MCP
- Connecting an agent