NewABAP, RAP and ABAP Cloud
Domain Developer ExperienceDomain Data & PersistenceDomain Protocols & APIs

Today
32 changes
Cloud ALM Link for ADTadded to the atlasEclipse plugin linking ABAP transports to SAP Cloud ALM featuresIDE extension,
SAP TCode Runneradded to the atlasVS Code sidebar that opens SAP transactions through WebGUIIDE extension,
ZASISadded to the atlasRegex RuleSets that read barcode strings into named fieldsPackage,
Attachmentscoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): drops a count-like contrast with a plugin the flavor does not have.Capability,
Show 28 more
Browsing table datacore coverage revisedReassessed against the graph (check:capabilities): the note described the providers as SAP GUI programs only, and browser apps, an IDE extension and a desktop editor have arrived; the state stays core-and-community.Capability,
Calling a service by handcore coverage revisedReassessed against the graph (check:capabilities): abap-odata-test arrived after the block was assessed and changes the kinds of community answer; the state stays core-and-community.Capability,
Code formattingcore coverage revisedReassessed against the graph (check:capabilities): the abap2UI5 playground provides this capability and the text never named it; ABAP FS named for the kind of VS Code integration.Capability,
Code reviewcore coverage revisedReassessed against the graph (check:capabilities): providers that arrived after the 2026-09-13 assessment (abapTimeMachine, abapOpenReview, a transport review app) shape the answer; state unchanged, core-and-community.Capability,
Data modellingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): independent ABAP providers (CDS Analyser, CDS field mapping, acds) now provide this capability on the ABAP door.Capability,
Database connectorscoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted one entry behind the door; it now names the driver and SAP HANA, which now provides the capability on this door. State unchanged.Capability,
Debuggingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community.Capability,
Driving the SAP GUIcore coverage revisedReassessed against the graph (check:capabilities): removed the count and the popularity wording, and named the kinds, including batch input (jrgkraus-tool-bi) and SAP's sample, which the text never named.Capability,
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Capability,
Error handlingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): brandeis-consulting-abap-prc arrived after the block was last looked at, and the block named no community kinds.Capability,
Finding a transaction codecore coverage revisedReassessed against the graph (check:capabilities): sapgui arrived as a second kind, one that reads the system's own menu, and the prose counted entries.Capability,
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).Capability,
HTTP clientscore coverage revisedReassessed against the graph (check:capabilities): two providers added since 2026-09-14 that the text never named; the singular "one client interface" also read as a count.Capability,
IDE provisioningcore coverage revisedReassessed against the graph (check:capabilities): eclipsadt-o-mat arrived after the last look and the text never named it; state unchanged.Capability,
Importing and exporting table datacore coverage revisedReassessed against the graph (check:capabilities): the count of sample repositories goes stale as providers arrive, and the ABAP backend importer and the Excel add-in change the shape of the answer, so the note names those kinds. The ABAP state stays core-and-community.Capability,
Loading a warehousecore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): ERPL is a provider the text never named, and it loads from ABAP systems outside BW routines. State unchanged.Capability,
Local developmentcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers and claimed an absence about who has built something, which goes stale as providers arrive.Capability,
Maintaining table entriescore coverage revisedReassessed against the graph (check:capabilities): open-abap-open-table-maintenance, a community-org package served from an HTTP handler for one table named in its code, was not named; the browser editor is now linked. State unchanged.Capability,
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.Capability,
ODatacoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted the repositories and named none of the kinds that arrived since the block was assessed; it now names the kinds and links the ones that define them. State unchanged.Capability,
Searchcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the only independent provider behind the ABAP door is ZC8A_001, an artifact of type sample, which is not a presence; the core stays because what_core_does is sourced.Capability,
Searching code in a systemcore coverage revisedReassessed against the graph (check:capabilities): the note named no kind of provider, and five providers newer than the 2026-09-14 assessment shape the answer. State unchanged.Capability,
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Capability,
Serialisationcore coverage revisedReassessed against the graph (check:capabilities): abap-architect, an ide-extension that provides this capability, was not named; ajson linked as the defining parser.Capability,
Serve your application over MCPcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers, and sap-security-mcp no longer provides this capability. The unmapped state is unchanged.Capability,
Source controlcore coverage revisedReassessed against the graph (check:capabilities): providers added since 2026-08-31 change the kinds the community adds beyond the in-system git client; the state stays core-and-community.Capability,
Static analysiscore coverage revisedReassessed against the graph (check:capabilities): the block named none of the providers that arrived after 2026-08-31. State unchanged, core-and-community still matches the providers.Capability,
Unit testingcore coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted the artifacts and said they were in staging; both are in the graph now and are named.Capability,
Yesterday
1 change
ABAP Syntax Highlightingadded to the atlasVS Code syntax highlighting for .abap filesIDE extension,
Thu 22
2 changes
B-Tocs ABAP SDKadded to the atlasWeb service client and connector layer for calling out of ABAPPackage,
pyapi4abapadded to the atlasTemplate pairing a FastAPI service with ABAP reports that call itSample,
Wed 21
1 change
abap-ai/mcp2added to the atlasStateless ABAP MCP server SDK for the 2026-07-28 protocol draftMCP server,
Mon 19
13 changes
ABAP Call Hierarchyadded to the atlasEclipse plugin showing the call hierarchy of ABAP membersIDE extension,
ABAP Code Searchadded to the atlasEclipse plugin searching ABAP sources from the search dialogIDE extension,
ABAP Development Tools for VS CodepublishedA Devtoberfest 2026 session on ABAP Development Tools for VS Code: where the extension sits after the ABAP Workbench and ABAP Development Tools for Eclipse, the ADT language server both editors share, and what the releases since May 2026 cover. The demo installs the extension, creates a destination, opens, creates and activates objects, runs ATC and ABAP Unit, and names the object types, domains among them, for which a developer still goes to Eclipse or SAP GUI. It also opens the extension's settings to turn on the ADT MCP Server and shows the tools a chat can call, with the object search and source code search tools listed as planned.Talk,
ABAP Search and Analysis Toolsadded to the atlasEclipse plugin for ABAP object search and CDS view analysisIDE extension,
Show 9 more
ABAP Tagsadded to the atlasEclipse plugin for tagging ABAP repository objectsIDE extension,
Always in Sync — Field-level and event-driven side effects for reactive UIs in RAPpublishedA Devtoberfest 2026 session on side effects in RAP — the declarations in a behaviour definition that tell a draft UI to reload what a change affected, instead of leaving the user to refresh the browser. Field-level side effects recalculate a total price from a determination when a booking fee is entered, including across the association from a child item up to the root entity, and a permissions side effect toggles a description field between read-only and editable; a global side effect is attached to a determine action, fires when the user presses Enter, and only one may exist per business object, which is why the prepare action and a second determine action cannot both carry it. The last part starts a long-running calculation through the background processing framework and raises a business event that the behaviour definition lists as a side effect source and the projection makes public, so the Fiori app is updated with a notification when the work finishes, whether it was triggered by the user or by an application job — the transactional model and the async processing side the edges rest on.Talk,
Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectpublishedA Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANA. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not.Talk,
CDS Associations & JoinspublishedA Devtoberfest 2026 session from SAP's performance and scalability team on what an ABAP CDS association becomes on SAP HANA, taken as an excerpt from their internal performance training. The CDS edge rests on the three ways an association is used: a path expression and an explicit join both put a left outer join into the generated view, while exposing the association leaves the view without one and adds the join only for a query that asks for its fields, which the session calls join on demand. The data modelling edge is the advice that follows and the demo under it — cardinality written as precisely as the data allows, because the optimiser trusts it, shown with a view whose missing cardinality let SELECT COUNT(*) prune the join and return 18 rows where selecting the columns returned 56, plus the left-hand, right-hand and left-outer-to-inner rewrites that correct cardinalities make possible.Talk,
SAP BAIP, ABAP environment – How to build partner solutions and get them certifiedpublishedA Devtoberfest 2026 session on the two ways a partner ships an ABAP Cloud solution built on SAP BTP ABAP environment, which the session calls the ABAP environment of SAP Business AI Platform: software delivery, where an add-on product is published with the solution ID from SAP Store onboarding and the customer discovers and deploys it into their own system, and service delivery, where the partner operates the same add-on as a multi-tenant SaaS and a new version is deployed rather than published again. That is the ABAP environment edge; the static analysis edge rests on the quality steps shown in the landscape portal, where the Manage Continuous Testing app released with 2608 runs an ATC check variant against a configured system on a recurrence pattern, beside test product version builds and managed test tenants. The second half walks through the SAP Integration and Certification Center process and the three BTP certification options open to an add-on product.Talk,
Updates on Embedded Analytics in ABAP Cloud for DeveloperspublishedA Devtoberfest 2026 session (ABA-33) on the generator wizards for Embedded Analytics in ABAP Cloud, run by right-clicking a data definition in the ADT Project Explorer. It first names the artefacts a star schema needs, all of them ABAP CDS — cube view at its centre, dimension, text and hierarchy views reached by association, a hierarchy directory, and an InA service definition and binding — and then generates them: the star schema generator reads a view entity's metadata, sorts its fields into dimensions and measures, asks about the ones it cannot decide, offers the dimension views it found and writes an activated cube view; the hierarchy generator produces directory, node, base and definition views plus a maintenance business object with a generated app, which is used to group airlines into alliances before the hierarchy is switched on in the layout of the multi-dimensional analysis app. That is analytic modelling on the ABAP platform, which is what the edges rest on; the outlook names time-dependent hierarchies, translatable texts and dimensions generated from database tables.Talk,
CDS Field Mappingdescription revisedSAP's Cloudification Repository is in the graph, so the README's source is named by its entry rather than by a URL none of this entry's sources gave. The README's sentence is "Source will be the Cloudification Repository, where the mapping old table to new Core Data Services is listed.", so the prose reports it as what the README names and not as how the mapping file is produced today: the file in the repository comes from an extractor class you copy and run in your own system. The CAST, CASE and ABS gap is attributed to the tool's page, which is where that sentence stands, rather than to the README.Web tool,
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.Capability,
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.Capability,
Sun 18
1 change
CAP in the age of AI #3 - from MCP to A2ApublishedThe episode that finishes @cap-js/mcp with authorisation and then crosses to agents. @requires and @restrict are the same annotations CAP already has, and the plugin reads them to filter the tool list and the describe output per user and per request, so a model is not told about entities the caller cannot reach — where the OData metadata of the same service lists every exposed entity regardless. The second half annotates a service with @agent from @cap-js/agents, which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against SAP AI Core bound with cds bind and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.Video,
Sat 17
51 changes
@abap2ui5/linteradded to the atlasCommand-line checker for abap2UI5 app classes and their viewsCLI,
abap2UI5 for VS Codeadded to the atlasVS Code extension to preview, activate and lint abap2UI5 appsIDE extension,
abap2UI5 headless frontendadded to the atlasDrives abap2UI5 app classes from ABAP Unit testsPackage,
abap2UI5 Layout Editoradded to the atlasDrag-and-drop UI5 view editor that writes an abap2UI5 app classWeb tool,
Show 47 more
abap2UI5 Playgroundadded to the atlasIn-browser ABAP editor beside the abap2UI5 app it buildsWeb tool,
app-templateadded to the atlasStarter repository for an abap2UI5 app with CI and agent setupSample,
ERPLadded to the atlasDuckDB extension reading SAP ERP tables, CDS views and BW queriesPackage,
launchpad-kpiadded to the atlasPuts a number from an abap2UI5 app on a Fiori launchpad tilePackage,
lock-manageradded to the atlasHolds SAP locks across stateless abap2UI5 roundtripsPackage,
sapguiadded to the atlasThirty classic transactions rebuilt as abap2UI5 appsApp,
se16nadded to the atlasTable content browser in abap2UI5, for ABAP Cloud and on premiseApp,
web-abap2UI5added to the atlasabap2UI5 transpiled to JavaScript and run in a browser tabWeb tool,
abap-adt-apireleased 9.0.01 content item in the atlas was written against an earlier version. Nothing is recorded about what changed.Package,
052: 10 Minutes from Start to Launchpadexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
ABAP - Create dumpexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Agentic CAP: Build MCP servers and enterprise AI agentsexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Agentic memory: Knowledge graph engine and recall in SAP HANA Cloudexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
AI-enabled administration: Automating log analysis with generative AI hubexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Analyze and optimize ABAP Cloud model apps built on core data servicesexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Browsing table datadescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Building agentic applications with SAP HANA Cloudexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Building an Attachment Upload and Download Solution Using UploadSetwithTable Controlexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Cachingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Calculating IBP Technical Week "Key Figure Date" in S/4HANA Using CDS Viewexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Calling a service by handdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Code reviewdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Data modellingdescription, ecosystems, entry revisedMerged the duplicate ABAP capability into this one, repointed its provides edges, content explains edges and prose links, and retired abap-data-modelling. Its old pages redirect here.Capability,
Database connectorsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Debugging in ABAP Development Tool (Part 1)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Driving the SAP GUIdescription revisedKeep the technology that defines the concern in the default; move implementation detail to framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Explore SAP Fiori elements for ABAP developersexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Talk,
Generating Adobe Form Using RAP framework OData Servicesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
How to rename an OData V4 service?explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
IDE provisioningdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Knowledge graph and agent memory: Build an agent that remembersexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Loading a warehousedescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.Capability,
Maintaining table entriesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Model visualisationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
ODatadescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
OData $batch Deleting Records Across Multiple Tables in Single Transactionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
OData Deep Insert: Implementation and Real-Life Examplesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
OpenAPIdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
RAP - Native File Uploadexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Running AI agents against SAP ECC 6.0: lessons from building an in-system MCP serverexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP BAIP, ABAP environment: Monitoring and troubleshootingexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Searching code in a systemdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Serve your application over MCPdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Source controlname, description revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Static analysisdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Transactional modeldescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Unit testingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Fri 16
4 changes
Extending Standard S/4 HANA OData API'spublishedWalks 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.Blog,
Hammer Core Servicesadded to the atlasABAP-side component for the Hammer editorApp,
open-steamgateadded to the atlasLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemApp,
Tools for abapGitadded to the atlasHelper programs around abapGitApp,
Thu 15
10 changes
@abaplint/transpileradded to the atlasTranspiles ABAP to JavaScript to run on Node.jsBuild tool,
cross-http-clientadded to the atlasHTTP client for classic on-premise ABAP and ABAP CloudPackage,
express-icf-shimadded to the atlasShim running an ABAP ICF handler behind an Express 4.x serverPackage,
How to extend ABAP Test Cockpit on SAP BTP for custom use casespublishedWalks 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.Blog,
Show 6 more
open-abap-coreadded to the atlasCore ABAP artifacts for code transpiled by @abaplint/transpilerPackage,
open-abap-lockadded to the atlasConcurrent and cross-session locking for open-abap on PostgreSQLPackage,
open-abap-odataadded to the atlasOData and Gateway shims serving SEGW-style services on Node.jsPackage,
open-table-maintenanceadded to the atlasTable maintenance over HTTP for a table fixed in codePackage,
Local developmentcore coverage, coverage by flavor, framing by flavor, facets revisedNine options answered this capability with nothing to compare them by, and they are not variants of one tool: the first question a reader has is which part of the local stack an option starts. The two flags separate the hybrid-testing helpers, where cds bind states that only the location of the credentials is stored on the machine and @sang2x/captools states that it writes the resolved VCAP_SERVICES into default-env.json.Capability,
Unit testingcore coverage, coverage by flavor revisedTwo staged options state abap-cloud and provide this capability; the gate reads them as providers once this capability is revised.Capability,
Wed 14
7 changes
Mastering Internal Actions in SAP RAP: Automatic Header Calculation in ABAP CloudpublishedWalks through a sales-order BDEF where an item-level determination triggers a header-only internal action by EML in local mode, so a quantity or price change recalculates the order total and applies a 10% discount above $10,000 without a UI button or external OData call reaching the logic directly. Argues for an internal action over inline determination code on reusability and separation of concerns: a determination decides when logic runs, the action decides what runs, and marking it internal keeps Fiori Elements and external OData clients from invoking it.Blog,
Running AI agents against SAP ECC 6.0: lessons from building an in-system MCP serverpublishedNicolasHernandez recounts building and running, over two years, an MCP server written in plain ABAP behind a single ICF node, for SAP ECC 6.0 and S/4HANA on-premise customers that the ADT MCP Server and SAP Joule for Developers, ABAP AI capabilities do not reach. Authorization runs as the calling user rather than a technical RFC user, a choice forced by a customer security team after an earlier version used a technical RFC user, and a later security review found a display-authority check applied uniformly across every write endpoint. The failure modes that cost the most time sat in RFC connectivity itself: RFC_READ_TABLE's empty-table exception collapsed into a false success, a where-used filter was applied only after the row limit, and BAPI calls treated an empty string and an absent parameter as different, silently wrong inputs.Blog,
Attachmentscoverage by ecosystem revisedThe five citations and four links to FileUploader.ts and UploadCollection.ts used the organisation the project has left, which now answers only as a redirect. Both files were opened at the new address on 2026-10-14 and carry the sentences quoted here, so every claim and every quote stands as written and only the addresses and their titles moved; the checked dates stay at the day each quote was last read in full.Capability,
Driving the SAP GUInormative relevance revisedThe GUI servers' boundaries each restated the policy in the atlas's own words; it belongs to the concern, sourced to the policy.Capability,
Show 3 more
kts982/mcp-sap-guidescription revisedThe policy is now a condition of GUI automation, sourced to the policy itself.MCP server,
mcp-sap-guidescription revisedThe policy is now a condition of GUI automation, sourced to the policy itself.MCP server,
sapgui.mcpdescription revisedThe policy is now a condition of GUI automation, sourced to the policy itself.MCP server,
Tue 13
1 change
How to rename an OData V4 service?publishedRenaming an OData V4 service binding changes its Service Alias and the resulting service URL, breaking any app already deployed against the old one — shown on a /DMO/TRAVEL-based example in the SAP BTP ABAP environment by unpublishing, renaming and republishing the binding, then reading the new URL back from the OData V4 service catalog's ServiceGroups entry. It weighs that against two alternatives: adding a second service definition and publishing it as a new service version under the same binding, or creating an entirely new service definition and binding, which keeps the original URL live during the cutover.Blog,
Mon 12
3 changes
abap-transport-reviewadded to the atlasTransport release check gated by GitHub pull request approvalApp,
abap-transport-reviewentry revisedEntered by intake from the repository README and the repository's own facts. Placed on the ABAP door in the standard-abap flavor only, because the README states the tools are classic ABAP using the CTS_REQUEST_CHECK BAdI, background jobs and the cluster table INDX, "none of which is part of ABAP Cloud".App,
Serve your application over MCPcore coverage, coverage by ecosystem, core coverage, description, facets revisedThe comparison separates exposed contracts, context mechanisms, execution paths and surface selection; provider explanations retain conditions and restrictions. The capability definition and all nine provider conversions must be published together; accepting only the vocabulary leaves legacy provider strings incompatible.Capability,
Sun 11
9 changes
Agentic CAP: Build MCP servers and enterprise AI agentspublishedCAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCP concern, and SAP AI Core is the LLM integration through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.Talk,
Agentic memory: Knowledge graph engine and recall in SAP HANA CloudpublishedThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA263 on Wednesday 28 October is a two-hour hands-on on the same engine with a different cast. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Markus Fath and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.Talk,
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application Studio with the generative AI hub feature, which SAP AI Core ships as its LLM integration by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.Talk,
Analyze and optimize ABAP Cloud model apps built on core data servicespublishedPerformance anti-patterns in data models built with ABAP CDS under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANA database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modelling edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published.Talk,
Show 5 more
Build AI agents and applications natively on SAP HANA CloudpublishedSAP HANA Cloud as the base for agentic applications on SAP Business AI Platform: the session goes through CAP, the SAP HANA Cloud vector engine and SAP AI Core, with architecture patterns and lessons learned from building AI-supported applications. SAP's abstract names the three parts of that stack and the vector engine as the database's feature in it, and describes none of the patterns. A TechEd 2026 session (Wednesday 28 October, Berlin; also DA113V, virtual), presented by Christoph Morgen and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.Talk,
Building agentic applications with SAP HANA CloudpublishedA CAP application extended with semantic search and agent features on top of SAP HANA Cloud's vector engine and SAP AI Core, built in a hands-on workshop. The abstract names the parts, CAP, the vector engine and AI Core, and the two additions: semantic search, the retrieval half of retrieval-augmented generation, and LLM-supported agent capabilities inside the application, which is agent tooling. Which embedding model, which CAP runtime and how the agent calls its tools are not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hui Li, Ritty Joseph, Shraddha Shetty and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.Talk,
Explore SAP Fiori elements for ABAP developerspublishedSAP Fiori elements for an ABAP developer who now builds the UI as well as the RAP business object behind it, the transactional model of ABAP Cloud, in SAP Business Application Studio; the abstract calls the UI side new territory for that developer, and a Fiori elements app is rendered from the service's Fiori annotations rather than hand-written UI code. The abstract names the tool and the stack and does not say which floorplan or annotations are shown. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Björn Schulz, written here from SAP's abstract; the recording is not yet published.Talk,
Knowledge graph and agent memory: Build an agent that rememberspublishedThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA205 on Tuesday 27 October is the 45-minute talk on the same engine, with a near-identical abstract and a different cast. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Jan Zwickel, Markus Fath and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.Talk,
SAP BAIP, ABAP environment: Monitoring and troubleshootingpublishedMonitoring and troubleshooting a side-by-side application written in the ABAP Cloud model on SAP BTP ABAP environment, which SAP's title calls SAP BAIP, ABAP environment, and which the abstract files under a clean core strategy at level A: the environment's technical monitoring tools for the monitoring half, and ABAP Development Tools for Eclipse for the troubleshooting half, the debugging concern. The abstract names the environment and the Eclipse tools, leaves the monitoring tools unnamed, and does not say what is shown of either. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Frank Jentsch, Robert Werlich, Steffen Siegmund and Wolfgang Woehrle, written here from SAP's abstract; the recording is not yet published.Talk,
Sat 10
1 change
How to mass upload from a spreadsheet file into an SAP Fiori app in SAP BTP ABAP Environment Part 1publishedPart 1 of a three-part series on mass-uploading records from a spreadsheet into a RAP business object in the SAP BTP ABAP environment, using the XCO XLSX module to parse an uploaded Excel file without any open-source library. It reads a named worksheet by its column-and-row coordinates into an internal table through the row-stream operation, then creates or updates records with the EML MODIFY ENTITIES statement, and reserves the Fiori elements custom-action wiring and the download/template generation for Parts 2 and 3.Blog,
Fri 9
1 change
Serve your application over MCPecosystems, name revisedThe Commerce and SuccessFactors providers reach into a system from outside and moved to agent access to your systems with their slots.Capability,
Tue 6
1 change
Basic code's of ABAPpublishedNine standalone ABAP reports built around REUSE_ALV_GRID_DISPLAY and CL_SALV_TABLE, covering display, screen validation, spool creation, Excel upload and table maintenance without SM30. One report raises and catches a custom exception class with RAISE EXCEPTION and TRY/CATCH, the class-based mechanism error handling names for ABAP; another submits a job to spool, converts it to PDF with CONVERT_ABAPSPOOLJOB_2_PDF and exports a CL_SALV_TABLE result to Excel before mailing both, producing document output from spool rather than Form Builder.Blog,
Sun 4
4 changes
BEHAVIOR_ILLEGAL_STATEMENT dump | Technical workaroundspublishedThe BEHAVIOR_ILLEGAL_STATEMENT dump fires in SAP RAP when an explicit COMMIT WORK or ROLLBACK WORK, or a direct database write, collides with RAP's own transactional model: a Logical Unit of Work split into an interaction phase, where changes sit in a transactional buffer, and a save sequence that validates and persists them. The post then names four ways to move the offending statement into a separate task instead — the Background Processing Framework, parallel processing, Application Jobs, or, on-premise only, a wrapper RFC function module called with DESTINATION 'NONE' — pointing to further reading for each rather than working through any of them here.Blog,
BO Interface APIs : An alternative to BAPIs and traditional FMspublishedWalks through updating an S/4HANA Purchase Order's line items through a released BO interface instead of a BAPI, using EML against the underlying CDS entity and a COMMIT ENTITIES statement because the call sits outside a behavior class. Argues the BO interface route avoids a RAP behavior class's restriction against calling COMMIT WORK directly, and covers finding a released interface's CRUD operations on api.sap.com and extending the same approach to a custom field or a custom RAP-based Fiori app's own BO.Blog,
eclipsADT-o-matadded to the atlasPowerShell wizard installing Eclipse with ADT and pluginsCLI,
eclipsADT-o-matentry revisedEntered by intake from the repository README and description.CLI,
Sat 3
3 changes
A simple example of a SAP RAP Application based on Legacy API without UUID keyspublishedWalks through building a managed RAP business object over the Flight Reference Scenario's Travel and Booking entities with unmanaged save and late numbering, so CRUD operations route through the legacy /DMO/FLIGHT_TRAVEL_CREATE, _UPDATE and _DELETE function modules instead of generated persistence, a worked case of ABAP's transactional model. Covers the ADJUST_NUMBERS and SAVE_MODIFIED saver methods that map preliminary draft keys to the legacy-assigned travel and booking IDs, and a GetDefaultsForBookings action that proposes the next booking ID during draft handling.Blog,
Debugging in ABAP Development Tool (Part 1)publishedA 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.Blog,
OData Deep Insert: Implementation and Real-Life ExamplespublishedWalks through implementing OData Deep Insert on classic SAP Gateway: two entity types joined by an association in SEGW, and a redefined CREATE_DEEP_ENTITY method in the DPC_EXT class that unpacks the header and item payload and calls BAPI_SALESORDER_CREATEFROMDAT2 to create a sales order with its line items in one request instead of separate calls per item. Gives a sample JSON payload to test with Postman or /IWFND/GW_CLIENT and names the usual failure points — an unmapped association, a method that was never redefined, or a commit left out after the BAPI call.Blog,
Fri 2
3 changes
Beyond READ_TEXT: Decoding SAPscript Long Texts (STXL) with SQLScript in CDS/AMDPpublishedSTXL stores a SAPscript long text as a compressed ABAP cluster container — LZ77 plus canonical Huffman — so the only official reads are READ_TEXT, one call per text, and its mass variant READ_TEXT_TABLE, both of which ship every decompressed line to the application server and stay invisible to ABAP CDS. The author reverse-engineered that on-disk format and ported the decoder into SQLScript, wrapped in an AMDP procedure and exposed through CDS table functions, turning long texts into a joinable, filterable column read directly in the database. On ABAP 7.56 a table function needs the driver-and-filter pattern shown because a parameter cannot bind to a calling column; on ABAP 7.58/S/4HANA 2023 the same result becomes a parameter-less CDS scalar function with true filter push-down.Blog,
Invoking Business Agent Foundation Agents from ABAP: A Step-by-Step GuidepublishedWalks through calling a Business Agent Foundation agent's chat endpoint from an on-premise ABAP report: an OAuth 2.0 client profile configured in SE80/SOAUTH2_CLIENT with client-credentials grant against the service key, an HTTP (type G) RFC destination in SM59 bound to that profile, and an ABAP report using CL_HTTP_CLIENT=>CREATE_BY_DESTINATION to POST a JSON message to the agent's sendMessage endpoint and extract the reply by splitting the response string. The destination and client code are the same shape as any outbound REST call from ABAP; nothing here is specific to the agent service beyond the request body and URL.Blog,
Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP ToolspublishedWalks 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.Blog,
Thu 1
5 changes
ABAP Architectadded to the atlasEclipse plug-in turning JSON or XML into ABAP types and DDIC objectsIDE extension,
abaprapunmanagedadded to the atlasPractice repository for the unmanaged RAP scenarioSample,
abaprapunmanagedsaveadded to the atlasPractice repository for managed RAP with unmanaged saveSample,
abapthemesadded to the atlasThree colour themes for ABAP source in ADT for EclipseIDE extension,
Show 1 more
abapwuluadded to the atlasRefreshes the where-used list for objects in one packageCLI,

Tue 29
5 changes
ABAP Statistical Toolsadded to the atlasABAP class for descriptive statistics over an internal tablePackage,
Hammeradded to the atlasNative macOS code editor for ABAP and CDSDesktop app,
ui5-tcode-finderadded to the atlasBrowser page searching SAP transaction codesWeb tool,
Finding a transaction codeentry revisedA browser tool for searching transaction codes had nowhere to attach, and the nearest nodes are all about something else: browsing table data is the rows a system holds rather than the way into a task, GUI automation drives screens rather than finding them, abap-classic-ui builds them, and documentation is what to read. Named on the ABAP door because a transaction code is an entry point of a classic SAP system, and marked not-applicable in ABAP Cloud, where there is no SAP GUI and so no command field to enter one into. The coverage rests on SAP's own documentation for the in-session routes; nobody has surveyed what else answers this from outside a system, which is why the relationship is unassessed.Capability,
Show 1 more
ui5-tcode-finderentry revisedStaged with the capability Finding a transaction code, drafted in the same batch because the corpus held no concern for it. ecosystem: abap is a placement rather than a stated fact: the repository is an OpenUI5 and TypeScript application, but its subject is the transaction codes of a classic SAP system and the only stack its features name is SAP GUI for HTML. serves_ecosystems: ui5 rests on the overview sentence naming the T-Codes a UI5 or Fiori project needs. use_as: reference because it is consulted at its own address rather than installed into a project.Web tool,
Sun 27
11 changes
Calling the Sales Order (A2X) OData V2 API from BTP Using a Service Consumption ModelpublishedWalks through ABAP's Service Consumption Model for OData V2 in ABAP Development Tools for Eclipse: generating a client proxy from the Sales Order (A2X) API's downloaded EDMX, then using it from an ABAP console class to create a deep sales order with items, texts, partners and pricing elements, read it back and patch a field. The client itself is built the way HTTP clients describes for SAP BTP ABAP environment: a communication arrangement resolved through cl_http_destination_provider=>create_by_comm_arrangement, handed to cl_web_http_client_manager=>create_by_http_destination, reaching the inbound SAP_COM_0109 scenario configured on the SAP S/4HANA Cloud Public Edition side.Blog,
Calling the Sales Order (A2X) OData V4 API from BTP Using a Service Consumption ModelpublishedWalks through calling SAP S/4HANA Cloud Public Edition's Sales Order (A2X) OData V4 API from an ABAP class on SAP BTP ABAP environment: a communication arrangement on each side, a Service Consumption Model built in ADT from the API's downloaded EDMX, and a client proxy wired through cl_http_destination_provider=>create_by_comm_arrangement and cl_web_http_client_manager=>create_by_http_destination, the same HTTP clients pattern for ABAP for Cloud Development. The sample class creates a deep sales order with an item, a text, a partner and a pricing element, reads it back, then updates a field guarded by its ETag.Blog,
Generating Adobe Form Using RAP framework OData ServicespublishedModels a RAP root view entity and consumption view over a custom sales-order table, built with ABAP CDS, and exposes it through a service definition and an OData V2 UI service binding. A separate SEGW project implements GET_STREAM to call an Adobe Form driver class and stream the rendered PDF back as the response, with a computed link field added to the CDS view so the UI can open it. The PDF is generated in the backend and returned to the calling program rather than sent straight to a printer.Blog,
Usage of Expand Entity in OData Service Consumption ModelpublishedExplains how to use OData's $Expand option when SAP BTP, ABAP Environment consumes a remote service through a generated client proxy, the way HTTP clients describes it, using stubs ABAP Development Tools for Eclipse generates from the service's $metadata. The expanded association only comes back from get_business_data when the caller supplies its own ABAP type that redeclares the association as a nested table, in place of the generated CDS entity type. The same workaround still applies from release 2311 on, where the consumption model generates flat ABAP types rather than abstract CDS entities.Blog,
Show 7 more
Attachmentscore coverage revisedThe paragraph opened with SAP's packages and never said that the runtime serves a @Core.MediaType element with nothing installed. capire's Serving Media Data page is that built-in layer, cited by pagination-and-streaming and not here. Two deliveries, said apart (docs/concepts/sap-ships-and-documents.md).Capability,
Data modellingcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: the service definition page and the Node.js reflection API were cited nowhere; the Java reflection API already was.Capability,
Database connectorscore coverage revisedcapire audit 2026-09-27, link-only pass: a page this capability owns was cited nowhere.Capability,
Debuggingcore coverage revisedPackage pass 2026-09-27: the paragraph named one of the four SAP packages and cited the plugins index only; cds debug and the Java developer dashboard were cited nowhere.Capability,
Local developmentcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Capability,
ODatacore coverage, facets revisedA role in a design is filled from evidence that an option speaks what the fixed part exposes, and that join runs over one protocol vocabulary (docs/concepts/design-roles-and-interfaces.md, P2). Declared here so options can state it; absent stays "does not say".Capability,
Serve your application over MCPcore coverage revisedcapire audit 2026-09-27, link-only pages read a fourth time: MCP services are one of the three things SAP frames as CAP's native AI support, in the one sentence the section's index says of its own.Capability,
The last 30 days. Older changes stay in each entry's history.