Ensuring Quality in BADI Implementations with ABAP Unit
Learn how to test BADI implementations using ABAP Unit with a real-world example. Improve code quality, prevent regressions, and apply Clean ABAP practices.
Learn how to test BADI implementations using ABAP Unit with a real-world example. Improve code quality, prevent regressions, and apply Clean ABAP practices.
While implementing a QM-DMS integration requirement, I had to update the Inspection Lot User Status automatically during DIR processing using New BAdI DOCUMENT_MAIN03. The requirement was applicable only during DIR creation (CV01N) for specific docum...
Moving from SEGW to CDS-based OData?Learn how to expose your CDS view as an OData service using @OData.publish and simplify development in S/4HANA.
This is Part 1 of a two-part series on SAP Change Documents. In this part, we cover the foundations — what change documents are, how they work, and how to implement them with custom Z tables and a clean ABAP wrapper class. In Part 2, we will extend t...
Learn how to build a custom ATC check from scratch and enforce minimum ABAP Unit coverage using the standard SCI/ATC framework. This article covers custom categories, configurable parameters, coverage measurement APIs, and quality gates for SAP ABAP ...
A custom CDS view on the MARC table returned zero for the stock field, even though the same value appeared correctly in SE16. This blog explains the root cause in SAP S/4HANA's New Simplified Data Model (NSDM) and the simple change that resolves it.
This guide will empower key users to customize and extend ERP functionalities in Fiori Apps seamlessly, enhancing flexibility and efficiency.
Debugging a complex existing smartform is always a tedious task. Which nodes are getting called and which node is causing an issue are always a surprise. Let me show you a smart tip to debug it.
In this blog post I will describe the options one has to "rename" an OData V4 service that means changing it's service URL.
A step-by-step guide to running static security scans on custom ABAP directly from Eclipse using ADT - from getting an API key to reading the findings.
My requirement was to add an attachment to Freight Order in the "Attachments" section & Also, Send Tracking Email Notification to Customer with Tracking URL & Shipment details.This was achieved using a Custom PPF Action maintained in Transaction SPPF...
SAP RAP provides multiple ways to control field visibility, but each mechanism serves a different purpose. In this blog, we take a closer look at the often-overlooked 'field (suppress)' keyword in Behavior Definitions (BDEF), understand its impact on...
Still working with SE11 and unsure how to start with CDS views in S/4HANA?This step-by-step guide helps ABAP developers build their first CDS view in Eclipse ADT using a real-world example. Learn how to modernize your data modeling approach and lever...
IntroNowadays, finding information is easier than ever. Although, the experience still remains the key differentiator. And that’s what I would like to share through this blog – my experience in implementing the Excel File Upload in a RAP application ...
IntroductionWhile preparing for modern ABAP topics, I revisited one of the classic concepts we frequently use in reporting programs—control break processing. Most ABAP developers are familiar with statements such as AT NEW, AT END OF, and SUM for cal...
Learn how to use ABAP Domain Fixed Values as Value Help in SAP RAP Fiori Elements.In this blog, we will create a simple and reusable Value Help using standard SAP tables DD07L and DD07T without creating custom Value Help entities or tables.
Business Partner address management is an important part of SAP S/4HANA. This article explains how addresses are maintained, how communication details are linked, how multiple addresses and address usages work, and the key backend tables and BAPIs in...
Claude can write, read and refactor ABAP directly in your SAP system through an MCP server (vsp) that speaks the ADT REST API. But some SAP systems are only reachable over RFC through a SAProuter, where that HTTP API can't get through. Here's how I c...
As landscapes grow and user adoption increases, performance issues in custom CDS (Core Data Services) views can emerge in ways that are not immediately obvious.Two patterns in particular are responsible for a significant share of unexpected CPU spike...
The announcement at TechEd 2025 caught my attention immediately: official ABAP Development Tools for VS Code, with Model Context Protocol support baked in. I've spent the last year building agentic ABAP workflows with Claude Code, for my non SAP proj...
Next-Gen ABAP Development: AI-Powered Code Reviewer Inspired by insights from the ABAP Version Explorer, I have built a powerful Code Reviewer Service that brings modern AI capabilities directly into your SAP workflow. This tool allows you to easily ...
Introduction:-How I Use TCode UDO to Handle Downporting in SAP — A Practical Walkthrough:I've spent a fair amount of time dealing with transport headaches in SAP landscapes where teams run parallel releases. One of the tools that's genuinely made my ...
A practical walkthrough of SAP’s powerful Module Pool programming — from creating your first screen to building a fully customized UI with login, subscreen, and table view.
Your SmartForm has a soul. It's not only a form. It's maybe a 15,000-line ABAP program that's damned to print something.
This blog explains how to create a file-based integration in SAP ABAP using the GUI_DOWNLOAD function module. Learn the complete process of extracting data, generating a text file, and enabling smooth data exchange with external applications through ...
The ABAP Cleaner is an useful tool that helps people who write ABAP code make it look neat and follow the rules of Clean ABAP.In this article we will see how to get ABAP Cleaner working in Eclipse ADT.We will look at what it can do and how to set it ...
In this blog, we will cover :> How to add validation for a field in SAP S/4 HANA Public Cloud using the CUSTOM LOGIC app>Implement logic for that field and publish it.This is fully aligned with SAP Public Cloud Extensibility
Introduction:- In modern SAP systems, the concept of the Business Partner (BP) plays a central and combining role in managing master data. SAP introduced the Business Partner approach to simplify data maintenance and improve consistency across applic...
Understanding chain actions in RAP and how to use them to organize multi-step logic in a simple way.
Introduction:Instead of using conventional disk drives, an in-memory database is a kind of database management system that stores data directly in main memory (RAM) [3]. This design allows for real-time data processing, analytics, and transactional p...
Continuing my series on applying functional programming principles in SAP ABAP.This part focuses on the design perspective—how we can structure ABAP code by clearly separating pure functions (mathematical functions) from impure functions, such as dat...
Writing a new logger from scratch for every ABAP project gets old fast. Since ABAP Cloud killed off the classic BAL_* function modules, I decided to build an open-source replacement. It’s fully cloud-ready, uses a clean fluent API, and handles all th...
Introduction:Table partitioning in SAP S/4HANA is a fundamental database design method to enhance performance, scalability, and data management in a distributed environment. With a multi-host configuration, a large table is partitioned into smaller o...
Introduction:An Assistance Class is a special ABAP class that is allocated to a Web Dynpro component and offers reusable business logic, utility methods and data access capabilities not in the UI controller.It assists in separation of the UI logic an...
Is there any mechanism to migrate Smart forms into Adobe instead of starting from fresh development.
There are several ways to check and compare code versions for SAP ABAP: the old classic method in the SAP GUI, a very good option in Eclipse, and the industry standard in AbapGit or on GitHub. These are all useful, but some activities are monotonous ...
Application Jobs in SAP S/4HANA Public Cloud: End-to-End Guide — Catalog, Template, Authorization, Value Help and SchedulingIf you have spent any time developing in S/4HANA Public Cloud, you have probably had a request along the lines of: "can we jus...
RAP Analytical TablesDear ABAP Community,If you've ever built a Fiori app with reporting, you know how much setup the old analytics stack required. Cubes, dimensions, analytical queries, all wired together through the Analytical Engine. It worked, bu...
In high-security environments, standard PFCG roles often aren't granular enough. Today, we’ll look at a sophisticated way to implement Row-Level Security using User-Defined Aspects. We'll walk through a real-world scenario: restricting Purchase Requi...
In this blog, I will explain how to add a custom field at the Purchase Requisition Item level in SAP S/4HANA Cloud using the Custom Fields.We will cover:1) Creating a custom field with Code List2) Enabling it in CDS Views and SAP GUI3) Publishing and...
Tired of the constant "copy-paste dance" between your web reports and the SAP GUI? I was too. Here’s how I built a way to trigger the SAP Desktop GUI directly from any web link.
Introduction:This topic describes the distinction between column-based and row-based data storage and its impact on the query performance. The blog uses a big ORDERS table to compare the cost of accessing data. It also emphasises the fact that row s...
In this Blog we'll see How we can use BAPI(RFC) to create ODATA service. here BAPI is wrapped inside a data provider class (DPC) and exposed as an OData service. This approach ensures reusability, consistency, and secure integration with SAP backend ...
Introduction--In SAP, variants are used to save input values for selection screens of reports or programs. Instead of re-entering the same parameters every time, a user can simply select a variant and execute the report.Normally, variants are created...
A simple and reliable approach to move client-dependent table data between SAP clients using a Customizing Transport Request and SCC1N. This blog walks through the complete process—from creating a delivery class C table and maintaining entries via SM...
When you create a KTD document in SAP BTP ABAP Environment you will find out that there is no support for the translation of these documents. In this blog post I will describe a workaround that can be used until a standard solution will be provided ...
In SAP RAP, determinations are the go-to mechanism for automating field calculations and maintaining data consistency. But what happens when the value you need to derive depends on data from a related entity rather than the current one?This article e...
This blog walks you through a complete working Deep Entity implementation, from backend to UI — with clear logic, clean UI5 design.Fetch Sales Order Header + Items in one call using $exapnd.Create a Sales Order with multiple items in a single request...
In this blog I'm going to explain INSERT, UPDATE and DELETE operation through AMDP.
You are maximizing the use of OData API Event in S/4 HANA on-premise, but you are still missing those custom field which have been added to your master data, product, vendor, etc.This is a high-level guide to identify the extensibility standards APIs...
| User | Count |
|---|---|
| 11 | |
| 6 | |
| 6 | |
| 6 | |
| 5 | |
| 4 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
| Subject | Likes |
|---|---|
| 11 | |
| 6 | |
| 6 | |
| 4 | |
| 4 | |
| 4 | |
| 2 | |
| 2 |