NewABAP, RAP and ABAP Cloud
Domain Learning & ReferenceDomain Protocols & APIsDomain Integration & Messaging

Today
12 changes
ZASISadded to the atlasRegex RuleSets that read barcode strings into named fieldsPackage,
Clean code conventionscore coverage revisedReassessed against the graph (check:capabilities): FORMfactor, an independent ABAP generator, provides this capability, so the community is present on the door.Capability,
Document outputcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the service is a provider on this door and the text named it without the link. Wording otherwise unchanged; the state stays core-only.Capability,
Documentationcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): absence claims about providers go stale as providers arrive. The flavor states are unchanged.Capability,
Show 8 more
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,
Event Meshcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note made a claim about every provider and named none, and the SAP services that arrived since the block was assessed (Advanced Event Mesh, the Integration Suite event broker, Cloud Application Event Hub) shape the answer. The state stays core-only, since every provider counting for the door is sap-official.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,
Notificationscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the note claimed every provider is independent, a statement about who has built something; it now names the kinds, including the process framework that mails about failed objects.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,
RFC connectivitycore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): erpl-node-rfc, pyrfc-mcp, rfc-connector and Cloud Connector reached this door after the block was written and change its shape from callee only to callee and caller.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,
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
3 changes
Edge Integration Cell - what's new?publishedA Devtoberfest 2026 integration-track session (INT-41) on Edge Integration Cell, the runtime of SAP Integration Suite a customer runs on their own Kubernetes cluster while design, configuration and monitoring stay in the cloud tenant. It names what the customer has to provide — a supported Kubernetes platform, SAP HANA or PostgreSQL, Redis or Valkey as data store, a load balancer — then the Edge Lifecycle Management cockpit with its monthly rolling updates, the inbuilt and the external Cloud Connector options and why a DMZ placement calls for the second, and the adapters available only on Edge: RFC sender, NFS, OFTP2 and UNF. The demo deploys an OFTP-to-file flow to the Edge runtime and shows the same flow rejected when its runtime profile is switched to cloud, which is where the Integration flows edge holds.Talk,
How to Build Application Jobs in SAP Business AI Platform, ABAP environmentpublishedA Devtoberfest 2026 session on the application job framework in the cloud ABAP environment, built from the repository objects outwards: a class implementing the new application job interface, whose public attributes become the parameters and select options, the application log object it writes to, a job catalog entry that lays out sections, groups and value helps, and a job catalog template that works like a report variant. The demo schedules and monitors runs in the Application Jobs Fiori app, starts a job from a RAP action through the scheduling API under a job user of its own, and debugs one through the template's run-for-testing entry. It closes on the alternatives for work that should not be a job — the background processing framework for short-running work, and RAP events consumed locally or sent over the event mesh — which is the async processing this session covers for SAP BTP ABAP environment.Talk,
S/4HANA Custom Development - What happens in case of errors in BAPIs or RAP BOs?publishedA Devtoberfest 2026 session on what a custom S/4HANA process does when a BAPI or a RAP business object fails. It is framed from project work rather than product development, with the same issues and challenges turning up on project after project, and it offers the ABAP Processing Center, ABAP-PRC, as what fills the gap it names in modern ABAP development. The edges rest on the opening, which states the session's subject as errors in S/4HANA custom development, read as error handling on the ABAP door, and names that framework.Talk,
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
36 changes
abap2UI5 samplesadded to the atlas129 abap2UI5 sample apps, one ABAP class eachSample,
abap2UI5-addons/open-source-libsadded to the atlasEleven abap2UI5 apps, one per open-source ABAP librarySample,
abap2UI5/samples-controlsadded to the atlasUI5 Demo Kit samples rebuilt as abap2UI5 appsSample,
Cloud-Native with ABAP Cloud – The Transactional Outbox PatternpublishedImplements the transactional outbox pattern in ABAP Cloud's background processing framework (bgPF): a RAP business object's save sequence registers a bgPF handler implementing IF_BGMC_OP_SINGLE, and the RAP runtime runs it, and only then emits the message, after the database commit succeeds, so a rolled-back transaction emits nothing. The post walks through the full working example published as SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf.Blog,
Show 32 more
erpl-node-rfcadded to the atlasRFC client for Node.js and TypeScript without the NW RFC SDKPackage,
launchpad-kpiadded to the atlasPuts a number from an abap2UI5 app on a Fiori launchpad tilePackage,
rfc-connectoradded to the atlasForwards abap2UI5 roundtrips to another system over RFCApp,
[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration Suiteexplains 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 code to wait for the end of "inbound bgRFC type Q" unitsexplains 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,
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]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,
AWS Mail configuration for SAP ABAP Systemsexplains 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,
Clean code conventionsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Configure Journal Entry Posting Approval from Store Template in Build Process Automationexplains 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,
Configuring SAP Cloud Integration for an IBP to S/4HANA (on prem / private cloud) integrationexplains 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,
Consume ABAP RFC Function Modules in CAPexplains 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,
Consume Remote Services in a Full-Stack CAP Applicationexplains 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).Workshop,
Creating an SAP SD Billing Document Using a BAPI in SAP Build and Accessing It Through 'Joule Work'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,
Custom Form with Custom Data Source in SAP Public Cloud (Grow with SAP)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,
Event Meshdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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,
How to use SAP Data Intelligence with SAP Cloud Connectorexplains 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).Blog,
Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAPexplains 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,
Merge multiple PDF forms into a single document for download or printing.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,
Modernizing RFC/BAPI-based Integrations for a Clean Core with SAP Integration Suiteexplains 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,
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,
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]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,
Part2: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]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,
Print Preview from RAP Action with v4 OData and Multiple Selectionexplains 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,
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,
Set up the SAP Cloud Connector: Integrating On‑Premise Systems with Cloud 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).Blog,
Using RFC Function Modules and BAPIs in SAP Build Process Automationexplains 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,
Fri 16
1 change
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,
Thu 15
5 changes
cross-http-clientadded to the atlasHTTP client for classic on-premise ABAP and ABAP CloudPackage,
On‑the‑Fly Excel Download in a RAP Fiori App — No Database Table, No Persistence, Pure CDS + ABAPpublishedBuilds a CDS custom entity backed by an ABAP class that implements IF_RAP_QUERY_PROVIDER and assembles an XLSX workbook at request time — hand-built from Open XML parts with cl_abap_zip for multiple sheets, or in one line via cl_salv_table=>to_xml for one — then streams it to the browser through the @Semantics.largeObject annotation. The same annotation makes Fiori annotations render the field as a download link with no backing database table, trading the usual persisted-blob approach to document output for a file rebuilt fresh on every click.Blog,
open-abap-odataadded to the atlasOData and Gateway shims serving SEGW-style services on Node.jsPackage,
open-abap-pdfadded to the atlasStandalone PDF generator written in ABAPPackage,
Show 1 more
Cloud Connectorprovides[capability:authentication] revisedThe edge read as though the connector propagated the user by itself. SAP's own page names three authentication types towards an internal system and says the calling application's destination configuration picks one, and that trust to the cloud entities whose tokens are accepted has to be configured explicitly. The property the BTP door compares on rests on the same sentence.App,
Wed 14
1 change
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,
Tue 13
2 changes
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,
How to use SAP Data Intelligence with SAP Cloud ConnectorpublishedWalks through reaching an on-premise network from SAP Data Intelligence Cloud with Cloud Connector: installing the client, assigning the Cloud_Connector_Administrator role, registering the subaccount, and mapping on-premise systems as ABAP, HANA or HTTP back-ends in Data Intelligence's Connection Manager. For an ABAP back-end it names the function-module whitelist and the gateway port format RFC access needs, per SAP Note 2835207.Blog,
Mon 12
1 change
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
4 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,
Rethinking security for modern SAP solution landscapespublishedWhere risk goes when clean core moves custom logic out of SAP S/4HANA: into integration flows, CAP extensions, ABAP Cloud code and platform configuration, told through real attack stories, then scanning code, modelling attack paths, adding security gates to CI/CD pipelines and automating safely with Terraform. The scanning edge is to static analysis, the atlas's concern for security findings in ABAP code; the abstract lists the four surfaces and the four practices and describes none of them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Tsovinar Chugaszyan, written here from SAP's abstract; the recording is not yet published.Talk,
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and WebhookspublishedA step-by-step walkthrough of wiring Event Mesh to publish and consume events between an on-premise S/4HANA system and Cloud Integration, contrasting persistent queues (one subscriber, kept until consumed) against unpersisted topics, and WebSocket's AMQP transport against webhook delivery for the same queue. Two tested findings support it: a queue consumer running in continuous consumption mode receives a message ahead of a webhook on the same topic, and a message stays queued and is retried (almost 8770 times in under a minute, in the author's test) until the consumer processes it successfully.Blog,
WebSocket RFC to Cloud Using SAP Business ConnectorpublishedWalks through wiring RFC connectivity between an on-premise ABAP system and a cloud ABAP system (SAP S/4HANA Cloud or Steampunk) through SAP Business Connector, which tunnels classic RFC over a WebSocket/HTTPS connection past firewalls. Covers the RFC destination of type T on the source system, the Communication User, Communication Scenario and Communication Arrangement needed on the cloud side to allow-list the function modules being called, and the three configuration steps on the Business Connector itself, closing with a list of common connection errors and their fixes.Blog,
Sat 10
3 changes
A Natural Choice: SAP AIF can now expose events to Advanced Event Mesh to power your EDApublishedAnnounces AIFAEM, a new software component of SAP Application Interface Framework that lets SAP ECC and older SAP S/4HANA backends create custom events from BOR objects and IDocs, in CloudEvents format, and publish them to SAP Integration Suite, advanced event mesh — closing the gap for backends that predate S/4HANA's own RAP-based standard events. It ships as the ABAP add-on AIFAEM731 (SAP NetWeaver 7.31, i.e. ECC) or AIFAEM800 (NetWeaver 7.55 and later), and its usage is included in an advanced event mesh subscription.Blog,
Communicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration GuidepublishedWalks a JCo setup from classic CPIC-based RFC to WebSocket RFC: swap the application- or message-server logon properties for jco.client.wshost and jco.client.wsport, and implement DestinationDataProvider's getSSLContext (and, for mTLS, getClientCertificate) since the new connection runs over TLS. It covers building the PKI trust on both sides — a local PKCS12 keystore for the Java side, STRUST's SSL-Server Standard certificate exported and imported for mutual trust on the ABAP side — and notes that on BTP, JCo paired with the Destination service already implements this via the Connectivity service, so the custom SSLContext work can be skipped there.Blog,
Recommendations for Customers on using the Direct Push-Based IntegrationpublishedExplains SAP's direct push-based integration, where two ABAP systems (SAP BTP ABAP environment, SAP S/4HANA Cloud or SAP S/4HANA on-premise) exchange business events by calling each other over RFC connectivity, carried over CPI-C or WebSocket depending on the release, through a sender channel on one side and a matching receiver channel on the other that lists which events it wants. It recommends the mechanism only between systems in the same location or subaccount, without public exposure, and for prototyping event-driven scenarios before moving to Event Mesh or SAP Integration Suite, Advanced Event Mesh at a larger scale.Blog,
Fri 9
2 changes
SAP: Email Functionality in SAP with a Custom Function ModulepublishedA custom ABAP function module, ZFM_SEND_EMAIL, sends mail through Business Communication Services' CL_BCS and CL_DOCUMENT_BCS classes, adding TO/CC/BCC recipients and multiple attachments by building the HTML document in application code on top of what CL_BCS delivers, which is how ABAP's notifications capability describes mail going out. The send sits in a TRY structure whose three CATCH blocks for CL_BCS's class-based exceptions are empty, so what reaches the caller is a BAPIRET2 table that BAPI_MESSAGE_GETDETAIL fills on the paths without an exception: no recipients given, sent to all, or not sent. That conversion into a caller-facing message table is what ABAP's error handling capability leaves to the application.Blog,
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,
Mon 5
4 changes
ABAP-PRCadded to the atlasFramework for multi-step ABAP processes with monitoringPackage,
Connecting SAP S/4HANA On-Prem Directly to Advanced Event Mesh using Cloud Connector - finally!publishedPackage Integration 1.4.0 for the Advanced Event Mesh Adapter adds official support for routing through SAP Cloud Connector, so an on-premise SAP S/4HANA system can produce events that SAP Advanced Event Mesh distributes without exposing a public endpoint. The same release changes the adapter's default acknowledgment mode from Automatic Immediate to Automatic On Exchange Complete, altering delivery semantics and error handling. The release notes warn against mixing proxy configurations within one tenant, since that causes unpredictable routing in complex hybrid tenants.Blog,
ABAP-PRCentry revisedEntered by intake from the repository README, the repository description and the maintainer's landing page.Package,
Async processingcoverage by flavor revisedABAP-PRC is the first option here to state ABAP Cloud: its README says the framework core is written in ABAP for Cloud Development on released APIs, and it runs its steps through the background processing framework or as application jobs. The paragraph on SAP's own mechanisms is unchanged and keeps its 2026-09-14 assessment date; no survey of the other providers was made. Its README lists SAP BTP ABAP Environment and S/4HANA Cloud Public Edition as coming soon, and its Fiori apps are classic BSP objects.Capability,
Sun 4
2 changes
Merge multiple PDF forms into a single document for download or printing.publishedFaced with bundling several Adobe-Forms-generated PDFs into one file, where FP_JOB_OPEN could not handle the parameters a bundled FP_GET_PDF_TABLE output needed and the forms themselves could not be changed, the author merges the individual PDFs at runtime with the CL_RSPO_PDF_MERGE class instead. Walks through opening the spool job with FP_JOB_OPEN, generating each form via its FP_FUNCTION_MODULE_NAME-resolved function module, adding each result's xstring to the merger with add_document, then calling merge_documents and converting the result for GUI_DOWNLOAD or printing.Blog,
Set up the SAP Cloud Connector: Integrating On‑Premise Systems with Cloud ServicespublishedA step-by-step walkthrough of installing Cloud Connector, adding a subaccount, managing identity and trust certificates in STRUST, and mapping cloud-to-on-premise paths for an SAP HANA backend. It ends by creating a Destinations entry in SAP BTP with proxy type OnPremise and basic authentication, then testing it from SAP Business Application Studio.Blog,
Sat 3
4 changes
ABAP code to wait for the end of "inbound bgRFC type Q" unitspublishedWalks through inbound bgRFC type Q — ABAP's queue-based flavor of async processing built on background remote function calls — and gives a helper ABAP class that polls cl_qrfc_client_inbound for each unit's and queue's state until every unit submitted across a set of parallel qRFC queues has finished. The method assumes no single unit spans more than one inbound queue, and the author flags the classes it relies on, cl_qrfc_client_inbound=>get_unit_state and get_queue_state, as unverified for this use.Blog,
Configuring SAP Cloud Integration for an IBP to S/4HANA (on prem / private cloud) integrationpublishedWalks through creating the two BTP destinations an Cloud Integration iflow needs for an IBP-to-S/4HANA integration: one of type RFC with a WebSocket RFC server host and port for the IBP tenant, and one of type RFC with the on-premise proxy type, a Cloud Connector location ID and a virtual host for the S/4HANA system. It then has the reader copy SAP's prebuilt IBP integration packages into the Design workspace and deploy every reusable iflow in them before a business iflow can call the S/4HANA extractor through SAP Connectivity service.Blog,
Modernizing RFC/BAPI-based Integrations for a Clean Core with SAP Integration SuitepublishedWalks a BAPI-based interface from SAP PO through three paths to SAP Integration Suite: lift-and-shift, which keeps the RFC connection to the ABAP system as-is and calls it through Integration Suite's RFC adapter; protocol modernization, which re-exposes the same BAPI as a SOAP web service; and clean core modernization, which replaces it with an SAP-managed API surfaced by the migration assessment report. Follows a BAPI_MATERIAL_AVAILABILITY interface through the first and third paths, showing the generated RFC-adapter iFlow against the OData API found for it.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
5 changes
A method to create an Adobe form attachment for a work item using the class concept.publishedWalks through an ABAP workflow class, ZCL_WF_PDF, whose methods call an Adobe form through a Form-Builder-generated function module, convert the returned PDF between hexadecimal string and binary with SCMS_XSTRING_TO_BINARY and SCMS_BINARY_TO_XSTRING, and attach it to a work item via SAP_WAPI_ATTACHMENT_ADD and SAP_WAPI_WRITE_CONTAINER, with the class, background-task and SWDD workflow steps shown in full. It explains document output's ABAP route, rendering a PDF through the Form Builder and getting it back into the program, and a route into attachments's ABAP side distinct from Generic Object Services: a file attached to an SAP Business Workflow work item instead.Blog,
Enhancing SAP Business Events with Custom Payload Fields using RAPpublishedWalks through enriching an outbound Business Partner event for Event Mesh that by default carries only the partner ID: a derived RAP business event, raised from a behaviour definition with RAISE ENTITY EVENT and bound through SWE2 event linkage to a receiver function module, adds first and last name to the payload. The custom event is defined on a root view entity over BUT000 and verified in /IWXBE/EVENT_MONITOR, where the enriched JSON payload shows the extra fields reaching subscribers without an additional callback to the source system.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,
Pattern Function for RFCpublishedA custom ABAP Editor pattern, defined once under SE38 > Utilities > More Utilities > Edit Pattern as Z_RFC_FUNCTION, that generates a CALL FUNCTION ... DESTINATION block for a chosen remote-enabled function module: an EDITOR_EXIT function on the calling system reaches the target system over RFC to fetch that function's generated source, then inserts the DESTINATION clause before handing the pattern back to the editor. It automates writing the RFC call itself rather than explaining RFC destinations as a concept, and the destination name in the sample is hardcoded to the author's own system.Blog,
Show 1 more
Using Communication Targets for Outbound RFC Communication in ABAPpublishedWalks through calling a remote-enabled ABAP function module through a communication target instead of a direct RFC destination: on-premise, the APPLDEST transaction creates an application destination (client, CPIC type, host from SM51, authentication); in the cloud, saving a communication arrangement for an outbound-RFC communication scenario creates one automatically. ABAP code reaches the function with CALL FUNCTION (...) IN REMOTE SESSION, naming the application_destination parameter when a communication target has more than one assigned destination, and the piece walks a worked call to RFC_SYSTEM_INFO.Blog,
Thu 1
1 change
ABAP Architectadded to the atlasEclipse plug-in turning JSON or XML into ABAP types and DDIC objectsIDE extension,

Sun 27
8 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,
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,
Async processingcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the description draws the line between queued work and messaging, and the events index states that line in SAP's words.Capability,
Show 4 more
Documentationcore coverage revisedPackage pass 2026-09-27: the capability had no paragraph and no source at all.Capability,
Event Meshcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the paragraph says messaging rests on intrinsic eventing, and the events index says the same in SAP's words.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,
Sat 26
2 changes
AWS Mail configuration for SAP ABAP SystemspublishedWalks through routing an SAP ABAP system's outbound mail through Amazon SES instead of an on-premises mail server or a dedicated EC2 SMTP instance: verifying a sender address and generating SMTP credentials in SES, creating the SMTP node in transaction SCOT, importing the SES endpoint's certificate into the SSL client via STRUST, and testing delivery through SO01 and SOST. It covers the SMTP relay underneath ABAP's mail delivery, the layer Notifications marks as where the core stops and where a channel like this is written on top.Blog,
Configure Journal Entry Posting Approval from Store Template in Build Process AutomationpublishedWalks through deploying SAP's Journal Entry Posting Approval template from the SAP Build Process Automation Store against an on-premise S/4HANA system that has no Secure Network Connection: destinations for S/4HANA via Cloud Connector, for SAP Document Management service, integration option to hold the approval's supporting documents, and for the BPA service and its SMTP mail. It then swaps the template's SNC action groups for basic-connection BAPI calls and deploys the approval's UI5 applications so the task lands in My Inbox, with a Desktop Agent registered to run the unattended document-check and document-post automations.Blog,
The last 30 days. Older changes stay in each entry's history.