Finding the Latest Status of Any SRM Document — The Generic Way Using /SAPSRM/IF_PDO_STATUS_HLPR
SAP SRM - Header Status Determination
SAP SRM - Header Status Determination
92% of SAP consultants want to train in AI. Only 13% use SAP's. The gap is not distrust — it is friction. And one of the three frictions is an engineering problem we can actually solve.
Beyond basic CRUD: a practical look at implementing bound actions, unbound functions, and draft-aware business logic in RAP-based OData V4 services — with tested code and the draft-context pitfalls that trip up most implementations.
Working with versioned RFx documents in SAP SRM? Simply selecting the GUID from CRMD_ORDERADM_H may not always return the latest active version. This article demonstrates a reliable approach using BBP_PROCDOC_GETDETAIL_DIRECT to retrieve the correct ...
Discover how ABAP Cleaner helps ABAP developers improve readability, remove unused code, and apply Clean ABAP principles through interactive clean up and configurable rules in VS Code and Eclipse.
A practical, SO10-free approach to sending branded HTML workflow notifications in SAP SRM — using CL_BBP_DOC_SEND_BCS, clean ABAP string templates, and a dynamic OData deep link, with the format-flag gotcha that silently breaks HTML rendering.
From Blank Canvas to Branded Launchpad: Configuring SAP Build Work Zone, Advanced EditionA few months ago, I was handed a fresh SAP Build Work Zone, Advanced Edition tenant and a one-line brief: "Make this the front door for all our Fiori and S/4HANA...
404 Not found - Invalid Function Import Parameter"when calling CreateUrlAsAttachment(Post) in SAP ABAP Cloud. AttachmentContentSet works, but this one doesn't. Anyone else hit this wall?
A step-by-step guide to creating a custom copy of a standard SAP KPI tile in Fiori Launchpad, covering why "Adapt UI" can't change tile currency, the SAP Note (3594670) needed to fix a Transport Request copy failure, and the full transport/cache-refr...
INTRODUCTION: -While working on a RAP application for a Store Audit scenario, I encountered a requirement where the Audit Status had to be determined only after the user saved the transaction. Initially, I expected a traditional RAP side effect to re...
Learn how to automate BDC session method processing in SAP ABAP by scheduling the standard SAP program RSBDCSUB as a background job. This blog provides a step-by-step guide to creating BDC sessions, scheduling background jobs using JOB_OPEN and JOB_C...
1. Create class2. Give it members3. Create Constructor -> set's members4. Create 1 public method(5. create unit-test)6. create (SE38)report (quick, via template) that:
What SAP's Standard RAP Applications Can Teach Every ABAP Developer (S/4HANA 2023)
A VS Code extension that runs abaplint locally for instant feedback and sends code to SAP via ADT.
Introduction:During my SAP ABAP development experience, I have worked on reports and interfaces that process large volumes of business data. One challenge I frequently noticed is that even well-written ABAP programs can become slow when they process ...
The SAP transition from classic to Fiori-oriented development brings about some anomalies not especially easy to overcome without a systemic revolution of the technology itself. One of the problems we have experienced regards the paging mechanism whe...
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...
| User | Count |
|---|---|
| 16 | |
| 6 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 3 | |
| 3 | |
| 3 | |
| 2 |
| Subject | Likes |
|---|---|
| 12 | |
| 6 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 |