BrowseABAP, RAP and ABAP Cloud
Everything in ABAP
29 of 656
Domain: 2
Signals
Content
More: 2
Group by: Capability
Domain Developer ExperienceDomain Operations & RuntimeSource SAP Developer CenterSource SAP CommunityClear all
EntryBySignalsLast activity
ABAP Cloud readinessSAP and community
ABAP development under the Clean Core paradigm: From BAPIs to BO and CDSABAP development under the Clean Core paradigm: From BAPIs to BO and CDSSAP's Level Based Clean Core classification (2025) grades ABAP APIs A through D by cloud readiness, and this piece uses the S/4HANA Cloudification Repository's own count — of 3,847 BAPI function modules for SAP Cloud ERP Private, only 23 are Level A — to show how much Classic API (Level B) code needs to move to RAP business objects instead. A worked Bank Master example matches each BAPI to its EML statement or ABAP CDS SELECT equivalent, and states when that move is actually required: mandatory once on SAP Public Cloud, optional but advisable on Private Cloud/On-Premise as BAPIs stop gaining new fields.published 2026-05-21
Clean Core IndexClean Core IndexDescribes a company-built KPI, the Clean Core Index, that scores existing custom ABAP code by object type — reports, function modules, SAPScript/Smartforms, ATC S/4 readiness-check findings, user exits and modifications — each weighted by a severity the author sets for redesign effort and upgrade risk, with counts read off CDS views built for the purpose. The index is the author's own definition rather than an official one and does not by itself certify public-cloud readiness, but tracking it weekly shows where custom code still blocks a move to ABAP Cloud and lets progress be read per module or per object type.patrick_weber11, published 2025-08-15
Object Release State in Cloudification Repository Viewer for Clean Core ExtensibilityObject Release State in Cloudification Repository Viewer for Clean Core ExtensibilityWalks through the five release states the Cloudification Repository Viewer assigns to an object — Released, Deprecated, Classic API, Not to be Released, and No API — and what each means for ABAP Cloud readiness: the clean core level it maps to and the ATC check priority it triggers. Explains why the same object can carry two states at once, such as a Classic API that later also becomes Released, and why the check has to be run against the specific release being developed on rather than assumed to hold across releases.PrasanthPadmanabhan, published 2026-03-20
Recommendations for Wrapper Interface DesignRecommendations for Wrapper Interface DesignWalks through designing a wrapper interface that encapsulates a classic BAPI (BAPI_USER_GET_DETAIL) behind a C1-released interface, so the code released for ABAP Cloud stays limited to types and structures ABAP Cloud can actually access. Covers when a non-released SAP structure can still be referenced safely, when it cannot, and how the API_CONSISTENCY and API_COMPATIBILITY ATC checks catch the difference before an upgrade breaks it.kaidehmann, published 2026-06-25
Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP ToolsTaking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP ToolsWalks through how SAP's standard path classifies custom ABAP extensions into Clean Core Levels A through D, running ABAP Test Cockpit against the Cloudification Repository's release status for each SAP object an extension touches, then feeding results into the RISE with SAP Methodology Dashboard in SAP Cloud ALM. Contrasts that with Project Kernseife, an open-source custom ATC check that lets a team override SAP's classification with project-specific rules, define its own successor objects (including custom wrappers), and expose a Score and Potential Score per finding through a CDS view for prioritizing cleanup — at the cost of owning and maintaining that classification. States which situations favor each: Kernseife where the standard rules are too rigid for the project's reality, the standard dashboard where cross-system comparability and low maintenance effort matter more.LBretschneider, published 2025-11-04
ExtensibilitySAP and community
Clean Core maturity and the new Extensibility LevelsClean Core maturity and the new Extensibility LevelsSets out SAP's Clean Core Level concept, the successor to the 3-Tier Development Model, which grades extensibility by how upgrade-safe it is rather than by where it runs: Level A covers on-stack extensions on released RAP and CDS views plus side-by-side apps on BTP, Level B covers upgrade-stable classic APIs listed in the Cloudification Repository, Level C covers internal-object use flagged through SAP's Changelog for SAP Objects, and Level D covers direct modifications and implicit enhancements that ABAP Test Cockpit checks must block. Choosing between an on-stack and a side-by-side implementation is left to the SAP Application Extension Methodology, and the official Level classifications are filed under SAP Note 3578329.EmilianoAyub, published 2025-12-19
Clean Core清洁核心概况介绍Clean Core清洁核心概况介绍Explains Clean Core as SAP's architecture methodology for decoupling custom code from standard code, and walks through the A-D grading SAP uses for a single extension's cleanliness: D for direct modification of standard tables, programs, classes or functions, or disallowed patterns such as implicit enhancements; C for internally developed functions calling unreleased APIs; B for using only SAP's classic or released APIs (BAPI, ALV Grid, BAdI); A for side-by-side extensions reached only through released interfaces onto the SAP Build extension suite. It lays out a six-step roadmap for reaching Clean Core — inventorying existing extensions, setting a reduction target, surveying SAP's extension routes (SAP GUI SE80, Fiori custom fields and logic, BTP high/low-code, workflow/RPA), writing a decision tree, splitting new development from legacy migration, and reviewing periodically — while noting that in-app development is not inherently unclean and that real decisions should weigh ROI rather than follow the theory absolutely.ArthurYang, published 2025-11-10
Enhancing Customer Master with a Custom Tab Using SAP TAXI Framework (BAdI + SE80)Enhancing Customer Master with a Custom Tab Using SAP TAXI Framework (BAdI + SE80)Walks through adding a custom "Repayment" tab to the Customer Master (XD01/XD02/XD03) using SAP's TAXI framework: an append structure on table KNB1, a subscreen built in SE80, and two BAdI implementations — CUSTOMER_ADD_DATA and CUSTOMER_ADD_DATA_CS — registered through SPRO. The BAdIs are the released extension points that keep the tab upgrade-safe without modifying standard code, the developer-extension half of the capability's tiered model.Divya_palem, published 2026-06-01
Enhancing Standard BAPIs: When and How to Do ItEnhancing Standard BAPIs: When and How to Do ItWalks through why a standard BAPI needs enhancing — a missing field, an extra validation, logic before or after the call, or a performance tweak — and five ways ABAP offers to do it: a BAdI found in SE18/SE19, an append structure for extra fields, a classic user exit wired through SMOD/CMOD, a wrapper function module copied from the original, or an implicit enhancement when no other extension point exists. Each technique gets its own steps, and two carry a short ABAP code example.Shantalinga, published 2025-09-29
Extending Standard S/4 HANA OData API'sExtending Standard S/4 HANA OData API'sWalks through extending a standard S/4HANA OData API with a custom field, preferring OData V4 over V2 for its closer OASIS compliance and simpler service enablement, then tracing the extensibility objects documented for the entity before touching any code. The custom field reaches the API by layering three CDS view extensions — extendView on I_Product, extendViewEntity on R_ProductTP and on A_Product_3 — following the projection chain down to where the base table is first selected, built in ABAP Development Tools for Eclipse.JuanDK78, published 2026-04-08
S/4HANA公有云版的内部ABAP拓展S/4HANA公有云版的内部ABAP拓展Argues that S/4HANA Cloud public edition's in-app ABAP extensibility is still real ABAP development, just under stricter rules: developer extensions require ABAP Development Tools rather than SAP GUI transactions, data models are defined as CDS views instead of SE11 tables, business logic is a RAP behavior definition instead of a function module, and service exposure is an auto-generated OData service from a Service Definition instead of a hand-built RFC/BAPI. The piece walks a worked example — a Fiori app that triggers the Purchase Requisition API — through CDS, RAP, OData activation on SAP Gateway, and authorization via business catalogues, and frames the whitelist of released APIs and CDS views as upgrade-safety rather than a restriction.ArthurYang, published 2025-11-24
Job schedulingSAP only
How to Create an Application Job (APJ) in SAP S/4HANA ABAP — With Single Values & Select OptionsHow to Create an Application Job (APJ) in SAP S/4HANA ABAP — With Single Values & Select OptionsWalks through implementing an Application Job end to end on the ABAP door: a class implements IF_APJ_RT_EXEC_OBJECT for runtime execution and IF_APJ_DT_EXEC_OBJECT to define parameters, covering both single-value parameters and select options, then registers the class as a job catalog entry and template in ADT for scheduling through the Application Jobs Fiori app. Frames Application Jobs as the class-based, ADT-defined successor to the classic SM36/SM37 background job transactions.PM_iiits, published 2026-05-22
SAP S/4HANA Cloud: Scheduling Background Jobs Using Application Job TemplatesSAP S/4HANA Cloud: Scheduling Background Jobs Using Application Job TemplatesWalks through moving S/4HANA Cloud and ABAP Environment job scheduling off ECC's SUBMIT and JOB_OPEN/JOB_SUBMIT/JOB_CLOSE pattern onto the Application Job Framework: a job template built from an ABAP class that implements IF_APJ_DT_EXEC_OBJECT and IF_APJ_RT_EXEC_OBJECT, then scheduled through the Manage Application Job Templates Fiori app or programmatically with CL_APJ_RT_JOB_SCHEDULING_API's SCHEDULE_JOB method. The resulting job is tracked in the Monitor Application Jobs app, where status, logs and failed runs are reviewed.TalluriSudheerKumar, published 2025-08-06
Scheduling a Background Job for the BDC Session Method Using RSBDCSUBScheduling a Background Job for the BDC Session Method Using RSBDCSUBWalks through uploading data with GUI_UPLOAD, building a BDC session with BDC_OPEN_GROUP, BDC_INSERT and BDC_CLOSE_GROUP, then scheduling the standard program RSBDCSUB as a background job with JOB_OPEN, SUBMIT ... VIA JOB and JOB_CLOSE so the session processes without manual SM35 intervention. Shows the resulting job's status and spool read back through SM37, the way a reader confirms afterwards that a scheduled job actually ran.Saikrishna_reddy, published 2026-07-29
LoggingSAP and community
ABAP Cloud LoggerABAP Cloud LoggerWraps ABAP Cloud's cl_bali_* Application Log classes in ZCL_CLOUD_LOGGER, an open-source, MIT-licensed logger installed via abapGit. One fluent entry point takes free text, sy-msg-style messages, exceptions, BAPIRET2 tables or arbitrary data serialised to JSON, and multiton instances keyed on object/subobject/external number let unrelated code share a logger without passing instances around. It adds sticky per-iteration context, built-in timing, and a readable trail of the cx_bali_runtime errors the class swallows internally.Greltel, published 2026-04-30
Capturing Background Job Errors in SAP Using the Application Log (SLG0/SLG1)Capturing Background Job Errors in SAP Using the Application Log (SLG0/SLG1)Walks through ABAP's Application Log framework for recording errors from a background job that has no screen to show them on: defining an Object and Sub-object in SLG0, then building the log in code with BAL_LOG_CREATE, adding a free-text or message-class entry with BAL_LOG_MSG_ADD_FREE_TEXT or BAL_LOG_MSG_ADD, and persisting it with BAL_DB_SAVE so it survives after the job finishes. The worked example is a report inserting student records into a custom table, scheduled via SM36 and reviewed afterwards in SLG1, filtered by the Object and Sub-object that created it.bhuvaneswarg, published 2026-08-26
Unleashing ABAP Potential: An introduction to Extension Libraries (XCO)Unleashing ABAP Potential: An introduction to Extension Libraries (XCO)Introduces ABAP's Extension Libraries (XCO), a library framework that puts reusable functionality behind one interface. The post places it as part of the ABAP RESTful Application Programming Model but versatile enough for other ABAP contexts, and says it works in both on-premise ABAP and the ABAP environment on SAP Business Technology Platform. It walks through a worked Logging example: xco_log=>factory->create_new_log opens a log keyed by object, subobject and external ID, logger->add_message appends a typed message, and logger->add_last_symsg attaches a problem class and level of detail for later traceability.tamitdassharma, published 2024-11-27
Parallel processingSAP and community
ABAP's Parallel Processing Frameworks: Practical Guide to Performance Tuning of Mass Data ProcessingABAP's Parallel Processing Frameworks: Practical Guide to Performance Tuning of Mass Data ProcessingSurveys ABAP's two parallel processing technologies, asynchronous RFC (aRFC) and the queued, exactly-once background RFC (bgRFC), and the six frameworks built on top of them, SPTA, SHDB, CL_ABAP_PARALLEL, the Background Processing Framework, the Parallel Processing Framework and the Mass Data Framework, each by its own entry point: a function module, a factory class or a Customizing transaction. A Qualitative Weight and Summ matrix then compares the frameworks across criteria such as package creation, load balancing and documentation quality, stated as the author's own subjective scoring for one project rather than a ranking.marc_steinert, published 2025-09-29
TelemetrySAP and community
S/4HANA Observability: Streaming SAP Cloud ALM & LogServ Telemetry to BigQuery & Vertex AIS/4HANA Observability: Streaming SAP Cloud ALM & LogServ Telemetry to BigQuery & Vertex AIWalks through pulling SAP Cloud ALM's Outbound Logs, Metrics and Traces APIs — OAuth 2.0 client-credentials auth, protobuf-encoded OTLP payloads, and the guardrails needed against its rate limits and 24 GB/30-day retention baseline — plus SAP LogServ's infrastructure logs, into Google BigQuery for multi-year, cross-domain storage. A time-window SQL join then correlates ABAP exceptions, health metrics, infrastructure events and ITSM tickets, with the joined record passed to Vertex AI (Gemini) to draft a structured incident dossier.Rudrapuneet, published 2026-07-22
Calling a service by handSAP and community
Multi-Origin Service Testing and Troubleshooting in SAP GatewayMulti-Origin Service Testing and Troubleshooting in SAP GatewayWalks through testing a multi-origin OData service in SAP Gateway by passing the $system parameter against a System Alias defined in /IWFND/MAINT_SERVICE, verified with the SAP Gateway Client (/IWFND/GW_CLIENT) and from outside the system with a browser or Postman. Covers three recurring failures — an ignored $system, a 500 from an unconfigured RFC destination or inactive backend service, and a 403 from a missing backend authorization — and how to confirm which alias and backend a request actually hit with /IWFND/TRACES.Ravikumar_H1, published 2025-08-19
DebuggingSAP and community
Debugging in ABAP Development Tool (Part 1)Debugging in ABAP Development Tool (Part 1)A walkthrough of the ABAP Debugger inside ABAP Development Tools: setting a toggle (hard) breakpoint versus a soft breakpoint that only fires once a session is already active, running up to four debugging sessions on the same program, reading the call stack, and debugging an update function module. It also covers watchpoints with their recent and current values, conditional and user-specific breakpoints, activating and deleting breakpoints, and adding variables such as SY-INDEX to the variables tab.M_Sumaiya_Khatoon, published 2025-09-02
Editor supportSAP and community
ABAP + MCP: Let AI Do Real Development in Your SAP SystemABAP + MCP: Let AI Do Real Development in Your SAP Systemabap-adt-mcp is an open-source MCP server that gives an AI agent full ABAP development capability over ADT: it searches, reads, edits, activates and unit-tests objects, and runs ATC checks, on a connected S/4HANA Cloud or on-premise system, acting as the signed-in developer. It runs on abap-adt-api, the same REST client Eclipse's own ADT tooling uses, and sits beside SAP's own ADT MCP Server, shipped with ADT for VS Code and Eclipse under a different server key, and marianfoo's abap-docs, a read-only server over the ABAP Keyword Documentation and Clean ABAP. Each destination carries a policy — read-only, allowed packages, denied tables and tools — the server checks before every call, and an optional audit file logs each tool call with its outcome and policy gate.Willian_Saez, published 2026-09-03
ABAP development tools for Visual Studio Code is now available on the VS Code marketplace!ABAP development tools for Visual Studio Code is now available on the VS Code marketplace!Announces the marketplace release of ABAP development tools for Visual Studio Code, an extension that works against any ABAP system already reachable from ADT for Eclipse and is focused on RAP UI service development, so the Fiori/SAPUI5 frontend and the ABAP backend can be built in the same tool. It ships a built-in ADT MCP Server, disabled by default and switched on from the extension settings, and points readers to a documentation template for capturing ABAP-specific rules in a project's AGENTS.md file for chat agents such as Microsoft Copilot.thomasalexander_ritter, published 2026-06-01
S/4HANA公有云版的内部ABAP拓展S/4HANA公有云版的内部ABAP拓展Argues that S/4HANA Cloud public edition's in-app ABAP extensibility is still real ABAP development, just under stricter rules: developer extensions require ABAP Development Tools rather than SAP GUI transactions, data models are defined as CDS views instead of SE11 tables, business logic is a RAP behavior definition instead of a function module, and service exposure is an auto-generated OData service from a Service Definition instead of a hand-built RFC/BAPI. The piece walks a worked example — a Fiori app that triggers the Purchase Requisition API — through CDS, RAP, OData activation on SAP Gateway, and authorization via business catalogues, and frames the whitelist of released APIs and CDS views as upgrade-safety rather than a restriction.ArthurYang, published 2025-11-24
The Future of ABAP is Here: VS Code ADT, Zero-Config MCP, and AI Co-pilotsThe Future of ABAP is Here: VS Code ADT, Zero-Config MCP, and AI Co-pilotsA walkthrough of ABAP Development Tools for VS Code's general-availability release: connecting to an on-premise or BTP ABAP system, editing classes, CDS and RAP objects, and turning on the extension's built-in ADT MCP Server. Enabled, it lets a co-pilot such as GitHub Copilot or SAP Joule for Developers, ABAP AI capabilities read code, trace dependencies, and run ABAP Unit and ATC checks against the real system rather than guessing from training data.lpodile, published 2026-06-01
Searching code in a systemSAP and community
A Handy Custom Report to Scan SAP CDS Views for Usage of Search StringsA Handy Custom Report to Scan SAP CDS Views for Usage of Search StringsA custom SE38 report, ZSCAN_CDS_VIEWS, reads each Z-prefixed CDS view's DDL source through the function module /ABEX/SEFW_MOD_CVA_HANA and scans it for a list of search strings, listing the view and matching code line in an ALV grid. The author built it because ABAP Development Tools for Eclipse's ABAP Source Search, the code search SAP ships, is unwieldy for scanning many custom views at once or searching several strings together.shasankgupta024, published 2026-01-08
Source control for ABAPSAP and community
Claude ported ABAP functions to new APIClaude ported ABAP functions to new APIA first-person account of using Claude Code, driven through the sapcli command line, to install and repair RFC function modules that let a CI pipeline control abapGit and gCTS remotely, rather than treating git as a way to read ABAP source. Instead of trusting a local checkout, Claude read the abapGit login manager class and queried the target system's own type catalogue through sapcli, then used what it found to update a renamed API method and swap a TABLES parameter's structure for the table type BAPIRET2_T.jakub_filak, published 2026-03-16
Static analysisSAP and community
How to extend ABAP Test Cockpit on SAP BTP for custom use casesHow to extend ABAP Test Cockpit on SAP BTP for custom use casesWalks through the released, C1-contract APIs and CDS views for extending ABAP Test Cockpit on SAP BTP: the single entry point CL_SATC_API=>CREATE_API_FACTORY, reading a run's findings and headers through SATC_API_FINDINGS and SATC_API_RESULT_HEADERS, starting synchronous local ATC runs for a transport, approving or rejecting exemptions programmatically, configuring approver responsibility areas without a UI, and implementing a custom check through IF_CI_ATC_CHECK. Code snippets show each API in use, including the CDS views that join ATC results to the Custom Code Migration app's own findings.OlgaDolinskaja, published 2026-05-20
How to Scan Custom ABAP for Security Issues in Eclipse (Step-by-Step)How to Scan Custom ABAP for Security Issues in Eclipse (Step-by-Step)Written by someone who works on the tool, this is a setup walkthrough for the RedRays ABAP Scanner Eclipse plugin: get a demo API key, install the plugin via an update site, point it at a backend, and scan an ABAP object from the Project Explorer. Findings for SQL/ADBC injection, OS command execution, path traversal, missing AUTHORITY-CHECK and similar are grouped by severity with a CVSS score and an automated exploitability check, and a REST API extends the same scan to a CI/CD allow/block gate on a transport.vahagn, published 2026-07-03
Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP ToolsTaking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP ToolsWalks through how SAP's standard path classifies custom ABAP extensions into Clean Core Levels A through D, running ABAP Test Cockpit against the Cloudification Repository's release status for each SAP object an extension touches, then feeding results into the RISE with SAP Methodology Dashboard in SAP Cloud ALM. Contrasts that with Project Kernseife, an open-source custom ATC check that lets a team override SAP's classification with project-specific rules, define its own successor objects (including custom wrappers), and expose a Score and Potential Score per finding through a CDS view for prioritizing cleanup — at the cost of owning and maintaining that classification. States which situations favor each: Kernseife where the standard rules are too rigid for the project's reality, the standard dashboard where cross-system comparability and low maintenance effort matter more.LBretschneider, published 2025-11-04
Unit testingSAP and community
By-passing function modules in aunitsBy-passing function modules in aunitsWalks through registering a function module as a test double with CL_FUNCTION_TEST_ENVIRONMENT inside an ABAP Unit test class: class_setup names the function module to replace, an input configuration matches on the importing parameters, and an output configuration sets what the double returns before the calling class is asserted against it. The Function Test Double Framework is presented as ABAP Unit's way of testing code that calls a function module — procedural, without a class's native test-double support — without triggering the database, RFC or BAPI calls the real function module would make.Jagadish_R31, published 2026-06-01