BrowseAll ecosystems
Everything in the atlas
128 of 2341
Domain
Signals: 2
Content: 2026
More
Group by: Capability
EntryBySignalsLast activity
Achieve Agentic Enterprise Automation with SAP Integration Suite and Joule StudioAchieve Agentic Enterprise Automation with SAP Integration Suite and Joule StudioA Devtoberfest 2026 integration-track session (INT-22), the second of that week's integration sessions, given by an SAP product expert for process automation and integration together with the product manager for Joule Studio, who walks the audience through it. The opening states the subject: process management, automation and orchestration unified into one combined approach, which the presenters put forward as the foundation for building custom AI agents.SAP Developers, published 2026-09-30
Adapting SAP Joule for Purchase Order Creation from an Existing Purchase RequisitionAdapting SAP Joule for Purchase Order Creation from an Existing Purchase RequisitionA custom Joule Agent and Joule Skill, built in Joule Studio, classic edition to extend SAP Joule past its built-in Purchase Order display and change features: a buyer's single sentence naming a Purchase Requisition number becomes a created Purchase Order, with the skill wrapping the Purchase Requisition and Purchase Order OData V4 APIs as Action Packages reached through two destinations. The author anchors the agent's success condition to a PurchaseOrderNumber in the skill's output rather than an HTTP status code, and reports that the Purchase Requisition item structure does not map one-to-one onto the Purchase Order creation payload.jonathanvi59, published 2026-08-19
Agentic AI & AI AgentsAgentic AI & AI AgentsSAP's target picture for AI agents: Joule as the engagement layer — Joule Work, Joule Assistants, Joule Agents — with custom agents from customers, partners and SAP teams connecting through A2A for agent-to-agent collaboration and MCP for tool connectivity, on the SAP Business AI Platform. It says up front that parts are not generally available yet, in particular bidirectional communication with third-party agents through the Agent Gateway, so it reads as direction with the building blocks named rather than a design to copy today.published 2026-08-27
Be the First to Understand Joule Work's Agentic ThinkingBe the First to Understand Joule Work's Agentic ThinkingA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule Work: generic operating-system tools in a gVisor-isolated sandbox instead of hand-wired domain functions, a react loop, a warm pool of sandboxes torn down after each task, tenant-separated skill loading, and placeholder tokens the agent never sees swapped for real credentials at the egress path. A skill is a folder with a SKILL.md carrying metadata and instructions, and where it reaches a system, an SAP connectivity JSON that declares each connector by ORD ID with its guardrails — GET allowed by default, POST, PUT, PATCH and DELETE requiring human approval, everything else blocked. The demo uploads a cost-centre skill through the skills view, then has agentic thinking delegate over A2A through Agent Gateway to a custom agent built in Joule Studio, whose MCP tools read cost centres from an S/4HANA Cloud system, and ends by turning the result into a PDF; the Joule Studio trace is what shows the tool call actually happened.SAP Developers, published 2026-10-15
Build Your AI Agent prototype for free using SAP CAP, LangChain and Ollama cloudBuild Your AI Agent prototype for free using SAP CAP, LangChain and Ollama cloudA CAP Node.js service action calls an Ollama-hosted model through LangChain's ChatOllama, with the API key read from a .env file instead of any destination or credential binding — the hand-rolled-key route SAP's own SDK call exists to avoid. The same handler then builds a LangChain agent with createAgent and one mock tool, so a question about restaurants triggers a tool call and any other question does not, independent of the @cap-js/agents plugin's A2A-served harness.rajeevgoswami1, published 2026-08-29
Building a Pro-Code Agent on SAP BTP — Part 2: The Agent (LangGraph + GenAI Hub)Building a Pro-Code Agent on SAP BTP — Part 2: The Agent (LangGraph + GenAI Hub)Part 2 of a three-part series builds a separate, non-CAP Node/TypeScript agent that calls the Part 1 CAP service's MCP tools and reasons through SAP AI Core via @sap-ai-sdk/orchestration, using LangGraph's createAgent ReAct loop for provider-agnostic model calls across GPT, Claude and Gemini deployments. It explains why the tool's Zod schema and model-facing description are the agent's actual contract, the gotcha between a foundation-models deployment and an orchestration-scenario one, and how edge-case testing replaced date inference with a server-computed daysOverdue field after the agent wrongly called a delayed order 'on schedule'.rodfior, published 2026-08-20
Building a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2ABuilding a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2AThe third instalment of a three-part series deploys an already-built CAP service and LangGraph agent to SAP BTP, Cloud Foundry Runtime, wraps the agent in an A2A protocol server, and registers it with SAP Joule through a capability YAML and the @sap/joule-studio-cli, confirming the chain works end to end inside a real Joule assistant. It covers CAP's default JWT/XSUAA authentication in production, what a test deployment needs to get past it, and the cf push, mbt build and environment wiring that run both apps as separate Cloud Foundry containers. A closing section names what stays unfinished by design — a long-lived AI Core service key, no authentication on the BTP destination, no principal propagation — as the gap between this MVP and a production posture.rodfior, published 2026-08-20
Building Agentic Workflows with n8n in Joule StudioBuilding Agentic Workflows with n8n in Joule StudioA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule Studio, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task Center, and SAP AI Core is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.SAP Developers, published 2026-10-08
Building Code-Based AI Agents on the BAIPBuilding Code-Based AI Agents on the BAIPA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent tooling edge: an agent is a model with tools, skills, memory and context around it, and the session reads the code of one built in CAP as a LangGraph state graph, with an agent node that calls the model, a tools node holding the MCP clients, and the edge between them looping until no tool is needed. It then shows the shorter route, a CDS service annotated for the agent protocol with its instructions and skills in an agent.md file. SAP AI Core carries both, with the CAP service in front of it as middleware so the credentials never reach the browser, and that is what cap-agent-ui5-webui is demonstrated against: added as a dependency, it gives the annotated service a UI5 chat interface that can be deployed rather than only previewed. A Python multi-agent application on Cloud Foundry, where an orchestrator delegates to per-stack specialists so no single model sees every tool, closes the session.published 2026-10-09
CAP in the age of AICAP in the age of AISeven live episodes of Hands-on SAP Dev in which DJ Adams works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp: the @mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA Cloud.published 2026-08-07
CAP in the age of AI #3 - from MCP to A2ACAP in the age of AI #3 - from MCP to A2AThe 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.published 2026-08-21
CAP in the age of AI #4 - more on agentsCAP in the age of AI #4 - more on agentsAsking a human first, and telling the agent how to behave. Ordering a book through @cap-js/agents happens without a question being asked; the human-in-the-loop annotation on the action turns the same request into an approve-or-reject step, which the episode follows down to the A2A status update that stores the task in an input-required state in the database — A2A itself being JSON-RPC 2.0 over HTTP with server-sent events for the stream. The rest is instructions on disk: an agents.md in the service's own folder removes the question about how many copies to order, a skill under a skills folder is advertised by its description and read only when the agent decides the case applies, and either file makes the plugin build a deep agent instead of the plain one.published 2026-09-11
CAP in the age of AI #5 - agents wrap-upCAP in the age of AI #5 - agents wrap-upThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that @agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravels sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.published 2026-10-02
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
Combining AI Agents with the power of SAP HANA embedded ML (part 1)Combining AI Agents with the power of SAP HANA embedded ML (part 1)Devtoberfest 2026 session DAT-12, the first of two parts, in which Vitaliy Rudnytskiy does a data scientist's work against the embedded machine learning of SAP HANA Cloud by talking to an agent. The session first takes an agent apart into its LLM, its tools, its memory and the loop between them, then stacks the Predictive Analysis Library under the hana-ml Python wrapper and that under the HANA AI toolkit, whose tools an agent calls from plain English in a notebook to preview a sales refunds table, split it into train and predict tables, run a time-series check and train an AutoML forecast, keeping what it decided in Markdown memory files. That is the agent tooling edge; the same toolkit is then started as an MCP server over stdio and over streamable HTTP and reached from a coding agent and from Joule Work's desktop, which is where the live demo partly fails and the failure is shown.published 2026-09-22
From Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro CodeFrom Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro CodeA Devtoberfest 2026 AI-track session that takes a Q*bert-style arcade game, written as an Easter egg for colleagues, through every phase Joule Studio runs: intent analysis with its clarifying questions, a product requirements document, a specification with its task list, generated code, generated tests and deployment. The knowledge-graph lookup reports that the game maps to no enterprise process and the flow adjusts, and the presenter edits the requirements by hand when the first version declares sound out of scope. He then pushes the project to GitHub, clones it and initialises the jl command line so that Joule Studio's MCP servers are wired into the coding agent in VS Code, where mobile arrow keys were added afterwards; applications could not yet be deployed to the Joule Studio runtime, so this one runs on Kyma.SAP Developers, published 2026-10-01
Governance at Scale: Why a Clean Core Is What Makes Agent Governance EnforceableGovernance at Scale: Why a Clean Core Is What Makes Agent Governance EnforceableClosing a six-part clean-core series, the post argues that SAP's two agentic-AI governance mechanisms only work against a documented tool surface: MCP Gateway in SAP Integration Suite auto-translates API specifications into MCP tool schemas augmented with natural-language semantics, carrying forward existing authentication, authorization and rate limiting into the agentic layer, while AI Agent Hub, built on SAP LeanIX, discovers and runs verification assessments on agents, LLMs and MCP servers before the resulting badge is read by Joule Studio or SAP Integration Suite to decide what is trusted. Its argument holds the mechanisms up against an undocumented internal interface, where the auto-generated schema and the verification badge have nothing real underneath them, and against a consolidated CAP service exposing only released APIs, where both do.DEEPA_DORAIRAJ, published 2026-09-21
How to implement business AI capabilities in ABAP CloudHow to implement business AI capabilities in ABAP CloudA Devtoberfest 2026 session (ABA-32) on embedding AI in an ABAP Cloud application and on making SAP Joule aware of what that application can do. The first demo implements two features of a RAP travel app with the ABAP AI SDK: a determination on an uploaded receipt that sends the image together with the allowed categories and transaction types to a model reached through an intelligent scenario, then writes the extracted description, category, currency and amount back to the expense entity; and a recommendation function, triggered by a side effect on the trip title, that proposes a trip type with a score the Fiori UI sorts the proposals by and leaves the business user to accept — which is LLM integration from ABAP code. The second demo builds a capability for SAP Joule in the Joule Studio code editor in VS Code, with a scenario that extracts a trip title from the user's intent and calls an OData service in the ABAP backend through a BTP destination, deploys it and asks the Joule test UI for the trip's details; the session states that agents reach ABAP only over governed remote APIs — OData, SQL and MCP — and that automatic grounding of custom OData services in the knowledge graph is upcoming rather than available.published 2026-10-05
Meet Joule Studio and Build your First AI AgentMeet Joule Studio and Build your First AI AgentA Devtoberfest 2026 session from the product manager of Joule Studio, walking one agent through the whole path the tool defines: an intent, the problem statement and goals a coding agent derives from it, the business context it takes from the SAP knowledge graph, and the solution type it proposes with a stated intent fit. The demo is a collections agent that drafts dunning emails: the product requirements document names the metrics and the human-in-the-loop review, the technical specification lists the artifacts to build — the MCP tools among them — and the build is followed by a business test run against business partner 10001, technical unit tests, and deployment to the managed runtime, where the agent and its MCP server appear as deployed assets. Two points shape how it is used rather than what it produces: every asset is a file, editable in the web editor or in the code view and pushable to git, and the same solution can be built from local pro-code tools; n8n workflows are stated as delivered out of the box inside the studio.SAP Developers, published 2026-09-24
Real Pro-Code Development with Joule StudioReal Pro-Code Development with Joule StudioA Devtoberfest 2026 AI-track session that runs one agent build across both of Joule Studio's paths. Playing a procurement manager, one presenter states the intent in the browser, answers the clarifying questions, watches the fit-gap analysis name the S/4HANA APIs the use case needs, and pushes the intent and requirements document to GitHub; the other clones it and carries on in a terminal, logging in with the jl command line against her landscape URL and running its init command to fetch Joule Studio's skills for OpenCode. From there the coding agent writes the specification, the discovered API specifications, the MCP translation and the agent's Python file with its model configuration and evaluation scenarios, which is the edge to Agent tooling; the skills themselves, which SAP says not to edit but which a developer may add to, are the edge to Agent guidance.SAP Developers, published 2026-10-01
SAP BDC and AI: A Perfect MatchSAP BDC and AI: A Perfect MatchA Devtoberfest 2026 data-track session (DAT-22) in which Business Data Cloud's CTO sets out how SAP Business Data Cloud feeds SAP's business AI platform: data products whose primary persistence is an object store and whose semantics are kept with them, the one domain model that links a supplier in Ariba to a supplier in S/4HANA, and the SAP knowledge graph, a triple store running in SAP HANA Cloud and queried with SPARQL, that SAP Joule consults before answering. The live demo asks Joule for the available data products and the top ten open purchase orders, with the data product query agent compiling SQL over virtual tables and a space rendering a dashboard, which is the cataloguing side of this: a central registry, the Unified Customer Landscape, that every activated data product is registered in. The Q&A covers where the knowledge graph lives and what a customer may extend, base policies that turn into filter conditions on an agent's queries, and Joule Studio as the place to build your own agents and data products.SAP Developers, published 2026-09-29
SAP BDC in Business AI Platform: Contextualize and ReasonSAP BDC in Business AI Platform: Contextualize and ReasonA Devtoberfest 2026 session (DAT-31) that places SAP Business Data Cloud as the contextualise-and-reason pillar of the SAP Business AI Platform, between the build pillar of Joule Studio and Integration Suite and the govern pillar of AI Agent Hub. It covers data products described with open resource discovery and core schema notation metadata, a data product creation agent that assembles a derived data product for overdue billing documents from the billing document and customer products and shows its lineage and fields; the data products a line-of-business application brings being readable by Joule without a BDC subscription; and the SAP-managed knowledge graph that maps business entities and their relationships for agents, held as graph data in the SAP HANA Cloud knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP Joule answer head-count and purchase-order questions, with the generated SQL passed through a data product query that adds the restriction policy defined for that user in cloud identity services, which is why the session stands for cataloguing and lineage as much as for the products it names.SAP Developers, published 2026-10-06
SAP Joule: Invoice Agent for Faster Supplier Invoice Release in SAP S/4HANA Accounts PayableSAP Joule: Invoice Agent for Faster Supplier Invoice Release in SAP S/4HANA Accounts PayableWalks through building an Invoice Release Agent in SAP Joule: a custom OData service surfaces supplier invoices whose S/4HANA Flexible Workflow approval is overdue, the agent ranks them by invoice value, aging, payment tenor or a combined score, and a Joule Skill calls the standard SAP AP Invoice OData API to release them, re-prioritizing the remainder after each action. It sets out the detect-prioritize-act loop and the four ranking criteria in enough detail to rebuild the pattern, and leaves authorization, auditability and segregation-of-duty controls to the reader's own design.idc, published 2026-08-11
SAP's API Policy on AI Agents: What It Prohibits, Allows, and Leaves OpenSAP's API Policy on AI Agents: What It Prohibits, Allows, and Leaves OpenReading SAP's API Policy v.4.2026a and its FAQ against the reference architectures, the piece narrows the widely repeated claim that SAP bans AI to what Section 2.2.2 actually restricts: an agent planning and chaining API calls outside an SAP-endorsed route, closed off further by Section 3's block on bypassing API Controls through custom code. It compares the endorsed and allowed paths — the MCP Gateway on SAP Integration Suite reaching S/4HANA and ECC through RFC-based back ends under a 15-tool, 200,000-token limit, SAP-provided MCP servers through Joule Studio, the A2A protocol, customer-operated MCP servers allowed under FAQ Question 56, and the ADT MCP Server, whose 18 tools work only on development artifacts and are documented as not intended for productive use. It leaves open whether Section 2.2.2 covers ABAP code that calls a model from inside the system, since enforcement is defined at the API-traffic level rather than by a list of tools.published 2026-08-31
September 15th: What's New on developers.sap.comSeptember 15th: What's New on developers.sap.comThomas Jung walks through a week of changes aimed at agentic consumption of developers.sap.com itself: the hosted MCP server gains a published .well-known/mcp.json manifest, curated tools (search_tutorials, get_tutorial_step with a Markdown format option, search_channels), and a listing in the ORD catalog beside its OData, REST and GraphQL APIs. It also documents the site's existing A2A endpoint for the first time and ships a way to turn a tutorial into an installable, cryptographically signed AI Skill with a generated verification script, both concrete instances of agent tooling; separately, five broken GraphQL example queries were fixed and the full SDL is now served, and new sitemap.md, llms.txt fixes and ORD entries round out the site's own metadata publishing.published 2026-09-15
What's in Daniel Hutzel's brain?What's in Daniel Hutzel's brain?A Devtoberfest 2026 session in the building-apps track, in which Daniel Hutzel and DJ Adams work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCP, Agent tooling and Agent guidance come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoring.published 2026-10-02
What's new in SAP Cloud Application Programming Model – September 2026What's new in SAP Cloud Application Programming Model – September 2026The September 2026 release turns CAP services into A2A-callable agents through the new @cap-js/agents plugin, which generates MCP tools from a service's entities and actions, adds an @agent.hitl approval gate and can read an AGENTS.md/SKILL.md pair for custom behaviour. The @cap-js/mcp plugin for Node.js and com.sap.cds:cds-adapter-mcp for Java reach general availability, serving describe, query and call tools over existing CAP authentication and authorisation. It also names capire/skills, SAP's curated skill library that teaches coding agents current CAP practice.published 2026-09-24
🔴 Your Agent Wants to Call SAP. Now What?🔴 Your Agent Wants to Call SAP. Now What?Devtoberfest 2026 session INT-23, on what belongs between an agent and an SAP system. A solution advisor and an enterprise architect point Joule Desktop extensions at MCP servers built on API Management inside SAP Integration Suite, and ask it for business partners, orders and line items from an S/4HANA demo system; asked for the ten largest customers it answers from a sample of 200 orders rather than reading the whole table. They then open the API proxy behind it, where a spike arrest policy caps the backend at ten calls per second and the MCP server is configured to expose only the GET resources of the business-partner API so that an agent cannot create one, which is where the edges to Serve your application over MCP and Rate limiting hold. For totals across all sales orders they send the agent to SAP Business Data Cloud instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.SAP Developers, published 2026-09-30
🟣 AI Eating Brains! How I Fed Mine to Joule Work Desktop🟣 AI Eating Brains! How I Fed Mine to Joule Work DesktopDevtoberfest 2026 session AI-22. Mathias Kemeter connects his Obsidian note vault to Joule Work Desktop with VaultGate, a local HTTP MCP server he wrote in his spare time because the desktop's sandbox accepts HTTP MCP servers and not stdio ones, and because he wanted the vault reached through Obsidian's own command line rather than by direct file access. The demo builds a Space of management tasks from notes and mailbox together, has the assistant pick up a conventions file in the vault without being told where the reporting rules are, finds a conflict the notes never name by semantic search over local embeddings, and appends a task to a sprint note behind a write confirmation, which is where the edges to Joule Work and Agent workspaces hold. The second half is about the guardrails he had AI choose for the project it then had to live inside: tests and coverage, type safety, static checks, dependency and secret scanning, blocking on commit, on push and in CI.published 2026-10-01
Be the First to Understand Joule Work's Agentic ThinkingBe the First to Understand Joule Work's Agentic ThinkingA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule Work: generic operating-system tools in a gVisor-isolated sandbox instead of hand-wired domain functions, a react loop, a warm pool of sandboxes torn down after each task, tenant-separated skill loading, and placeholder tokens the agent never sees swapped for real credentials at the egress path. A skill is a folder with a SKILL.md carrying metadata and instructions, and where it reaches a system, an SAP connectivity JSON that declares each connector by ORD ID with its guardrails — GET allowed by default, POST, PUT, PATCH and DELETE requiring human approval, everything else blocked. The demo uploads a cost-centre skill through the skills view, then has agentic thinking delegate over A2A through Agent Gateway to a custom agent built in Joule Studio, whose MCP tools read cost centres from an S/4HANA Cloud system, and ends by turning the result into a PDF; the Joule Studio trace is what shows the tool call actually happened.SAP Developers, published 2026-10-15
Supercharge Joule Desktop: Connect Any SAP API in Minutes with MCP GatewaySupercharge Joule Desktop: Connect Any SAP API in Minutes with MCP GatewayDevtoberfest 2026 session INT-13, in which an SAP solution advisor connects a live S/4HANA system to the desktop experience of Joule Work through the MCP gateway in SAP Integration Suite. One OpenAPI specification covering business partners, sales orders, material stock, billing and purchase requisitions is uploaded as an MCP server artifact, deployed to integration cell with XSUAA inbound authentication, and registered as an MCP connector; the destination behind it is then switched from basic authentication to principal propagation, and the Cloud Connector monitor shows the same question arriving as the presenter's own user. That demonstration is the serve your application over MCP edge, and the second half is Joule Work itself: a Markdown skill that fixes the steps and format of a customer briefing, and a Space the skill rebuilds with each run.SAP Developers, published 2026-09-23
Connecting SAP Integration Suite with SAP Document AI and SAP Business AIConnecting SAP Integration Suite with SAP Document AI and SAP Business AIWalks through a Cloud Integration flow in SAP Integration Suite that pulls PDF purchase orders from a Gmail mailbox, extracts header and line-item fields through SAP Document AI's job-submission and polling API, and validates the result with SAP AI Core's generative AI hub using GPT-5-mini as a quality check rather than the source of the extracted values. Groovy steps combine the Document AI confidence score and the model's score into one figure that routes low-scoring purchase orders to manual review, with no S/4HANA posting performed.subhojitSaha, published 2026-08-24
How to Use n8n for Agentic Integrations and Cool InsightsHow to Use n8n for Agentic Integrations and Cool InsightsA Devtoberfest 2026 session on one use case built with n8n, the workflow automation tool SAP announced a partnership with in May 2026: judging the attachments of an automotive warranty claim. A Fiori upload table carries named evidence rows — this line is the invoice, this one the quote — and each uploaded file goes as base64 to an n8n webhook together with the claim context: the position and diagnosis codes, the parts, the amounts and the conversation with the dealer. The flow splits PDF from image, tries text extraction before falling back to a vision prompt, and calls Anthropic's Sonnet with a prompt that names the role, the input, the scoring rules and the response shape; the demo shows a matching invoice scoring 95%, an unrelated dent-removal invoice scoring 5% with the mismatches listed, and a photograph of a rusted suspension arm accepted while an engine bay is rejected against the same claim. The second half is the n8n editor itself — nodes, credentials, the test trace with each node's input and output — and the closing advice is human-in-the-loop flows at the edges of a process rather than automatic adjudication inside it.SAP Developers, published 2026-09-25
What a Second Document AI Workshop Taught Me About GovernanceWhat a Second Document AI Workshop Taught Me About GovernanceFrom questions raised at a second SAP Document AI workshop: the retention period for extracted data is a setting in the service's administration rather than a fixed property, with the source file deleted after processing and the decommissioning period for the extracted data configured to the customer's own policy. It also draws a boundary readers kept merging: Document AI extracts across languages but does not translate, so turning a document into a reviewer's own language is a separate step, pointing on BTP at SAP Translation Hub.Nicolas_BacaStorni, published 2026-08-25
Why Our First Document AI Exercise Was a Résumé, Not an InvoiceWhy Our First Document AI Exercise Was a Résumé, Not an InvoiceWorking through a SAP Document AI workshop, the author explains why its exercises teach extraction on a résumé before an invoice: a résumé has no stable layout to map fields against, so it forces the point that the tool extracts from a written description of a schema rather than from position-matched templates. Describing the schema is shown to carry real judgment — what a missing end date should become, what a vague field name like "number" costs the model, who in a company should decide these things — and the piece argues that preparing for a project is chiefly a business task of writing down knowledge that otherwise stays in people's heads.Mariano_BacaStorni, published 2026-09-03
🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI Natively🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI NativelyDevtoberfest 2026 session AI-11, from the product manager and product owner of Intelligent Scenario Lifecycle Management: ISLM as the place an AI use case is registered, deployed and operated inside an SAP S/4HANA system, and what has been added to it for generative AI. The demo builds a custom scenario end to end — an intelligent scenario of type generative AI, a connection to SAP AI Core, a GPT-5 mini model, an orchestration flow template that configures data masking, input and output filtering and translation into the user's logged-in language, then prompts with a grounding query over five companies' return-policy documents — and consumes it from an ABAP report through the ABAP AI SDK, which calls the orchestration API and returns the summary as JSON. Two newer pieces follow: SAP RPT, the relational pre-trained transformer for tabular prediction, called with context rows and query rows and answering with a confidence value and no training step; and system-triggered agents, where an application job in the ABAP system starts a billing-creation agent that reaches S/4HANA OData APIs as tools through the agent gateway with principal propagation. The closing availability matrix states the generative AI capabilities for on-premise and private cloud from the 2021 release, with SAP notes to implement on lower ones.SAP Developers, published 2026-09-24
🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and Compliance🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and ComplianceDevtoberfest 2026 session AI-21. A cross product owner on the SAP AI Core team gives the reasons an AI application ends up on more than one model — a model down at the hyperscaler, a data centre that is not allowed to run it, a version being deprecated — and runs a joke app that answers from Gemini 2.5 Flash in EU10 and from Claude 4.5 Haiku in Asia-Pacific. The walk through AI Core's parts is where the edges hold: prompts kept as templates in the prompt registry, imported through the launchpad and the APIs or synced as YAML from a git repository (Prompt management); the evaluation service scoring one prompt across up to four models per run on built-in or model-as-judge metrics, and the prompt optimizer generating variants against one metric (Agent evals); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integration). The session also states where a metric has to be designed rather than picked: an exact-JSON match scores an email generator at zero, so the joke app's custom metric judges topic and family-appropriateness instead.SAP Developers, published 2026-10-01
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsBring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA Cloud and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCP answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI Core for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.SAP Developers, published 2026-09-25
Build Your AI Agent prototype for free using SAP CAP, LangChain and Ollama cloudBuild Your AI Agent prototype for free using SAP CAP, LangChain and Ollama cloudA CAP Node.js service action calls an Ollama-hosted model through LangChain's ChatOllama, with the API key read from a .env file instead of any destination or credential binding — the hand-rolled-key route SAP's own SDK call exists to avoid. The same handler then builds a LangChain agent with createAgent and one mock tool, so a question about restaurants triggers a tool call and any other question does not, independent of the @cap-js/agents plugin's A2A-served harness.rajeevgoswami1, published 2026-08-29
Building a Pro-Code Agent on SAP BTP — Part 2: The Agent (LangGraph + GenAI Hub)Building a Pro-Code Agent on SAP BTP — Part 2: The Agent (LangGraph + GenAI Hub)Part 2 of a three-part series builds a separate, non-CAP Node/TypeScript agent that calls the Part 1 CAP service's MCP tools and reasons through SAP AI Core via @sap-ai-sdk/orchestration, using LangGraph's createAgent ReAct loop for provider-agnostic model calls across GPT, Claude and Gemini deployments. It explains why the tool's Zod schema and model-facing description are the agent's actual contract, the gotcha between a foundation-models deployment and an orchestration-scenario one, and how edge-case testing replaced date inference with a server-computed daysOverdue field after the agent wrongly called a delayed order 'on schedule'.rodfior, published 2026-08-20
Building Agentic Workflows with n8n in Joule StudioBuilding Agentic Workflows with n8n in Joule StudioA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule Studio, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task Center, and SAP AI Core is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.SAP Developers, published 2026-10-08
Building Code-Based AI Agents on the BAIPBuilding Code-Based AI Agents on the BAIPA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent tooling edge: an agent is a model with tools, skills, memory and context around it, and the session reads the code of one built in CAP as a LangGraph state graph, with an agent node that calls the model, a tools node holding the MCP clients, and the edge between them looping until no tool is needed. It then shows the shorter route, a CDS service annotated for the agent protocol with its instructions and skills in an agent.md file. SAP AI Core carries both, with the CAP service in front of it as middleware so the credentials never reach the browser, and that is what cap-agent-ui5-webui is demonstrated against: added as a dependency, it gives the annotated service a UI5 chat interface that can be deployed rather than only previewed. A Python multi-agent application on Cloud Foundry, where an orchestrator delegates to per-stack specialists so no single model sees every tool, closes the session.published 2026-10-09
CAP in the age of AI #3 - from MCP to A2ACAP in the age of AI #3 - from MCP to A2AThe 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.published 2026-08-21
CAP in the age of AI #5 - agents wrap-upCAP in the age of AI #5 - agents wrap-upThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that @agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravels sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.published 2026-10-02
CAP in the age of AI #6 - vector embeddingsCAP in the age of AI #6 - vector embeddingsVector embeddings put to work in the incident management sample, answering whether this problem has been seen before. An embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI Core and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA Cloud the function is native, while SQLite needs packages added to the project.published 2026-10-09
CAP in the age of AI #7 - vector embeddings wrap-upCAP in the age of AI #7 - vector embeddings wrap-upThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI Core as a remote source for other embedding models, which a CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.published 2026-10-16
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
Connecting SAP Integration Suite with SAP Document AI and SAP Business AIConnecting SAP Integration Suite with SAP Document AI and SAP Business AIWalks through a Cloud Integration flow in SAP Integration Suite that pulls PDF purchase orders from a Gmail mailbox, extracts header and line-item fields through SAP Document AI's job-submission and polling API, and validates the result with SAP AI Core's generative AI hub using GPT-5-mini as a quality check rather than the source of the extracted values. Groovy steps combine the Document AI confidence score and the model's score into one figure that routes low-scoring purchase orders to manual review, with no S/4HANA posting performed.subhojitSaha, published 2026-08-24
How to implement business AI capabilities in ABAP CloudHow to implement business AI capabilities in ABAP CloudA Devtoberfest 2026 session (ABA-32) on embedding AI in an ABAP Cloud application and on making SAP Joule aware of what that application can do. The first demo implements two features of a RAP travel app with the ABAP AI SDK: a determination on an uploaded receipt that sends the image together with the allowed categories and transaction types to a model reached through an intelligent scenario, then writes the extracted description, category, currency and amount back to the expense entity; and a recommendation function, triggered by a side effect on the trip title, that proposes a trip type with a score the Fiori UI sorts the proposals by and leaves the business user to accept — which is LLM integration from ABAP code. The second demo builds a capability for SAP Joule in the Joule Studio code editor in VS Code, with a scenario that extracts a trip title from the user's intent and calls an OData service in the ABAP backend through a BTP destination, deploys it and asks the Joule test UI for the trip's details; the session states that agents reach ABAP only over governed remote APIs — OData, SQL and MCP — and that automatic grounding of custom OData services in the knowledge graph is upcoming rather than available.published 2026-10-05
UI5 AI Features library is now an npm PackageUI5 AI Features library is now an npm PackageThe release note for a demo turning into a dependency, and it is explicit about why that matters: the earlier version worked, but using it meant cloning the repo and copying both halves, which stops working the moment one of them changes. The post walks through what shipping the CAP plugin and the be.wl.ai control library in one npm version buys — a client and server contract that cannot drift — then lists the eleven controls by group, shows the two-line configuration that activates each half, and notes that this version is actually deployed on BTP behind both a standalone approuter and Work Zone. It closes on the demo repository, written with no library source in it as the test that the package stands alone.published 2026-08-31
UI5 AI Features library is now an npm Package
cds 8, line ended. Affects Runnable code.
Unlocking Tabular Foundation Models: From Experimentation to ProductionUnlocking Tabular Foundation Models: From Experimentation to ProductionA Devtoberfest 2026 session (AI-41) on taking tabular prediction from a playground to a deployment. It sets tabular foundation models against a model trained per use case and against language models reading rows as text, explains in-context learning as examples plus the rows whose target column is missing, and tries SAP RPT 1.6 on a train-delay dataset in the RPT playground, including the column and row importance it returns with the prediction. The same prediction is then rebuilt on SAP AI Core, where the tabular orchestration service plays the part the orchestration service plays for language models: a data destination, a table artifact with its CSN schema and a scenario configuration registered once at design time, after which a predict call passes only the query rows, the scenario configuration and a context-selection strategy. The last demo runs those same calls in natural language through the aicore-skills plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.SAP Developers, published 2026-10-15
What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewayWhat an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewayA first look at SAP AI Core's Generative AI Hub from someone who builds gateways outside SAP for a living: the orchestration service harmonizes provider calls onto one API (a model name string switches providers, and SAP Note 3437766 carries the current model list, token rates and deprecation dates), runs a fixed, non-reorderable module pipeline — templating, masking through SAP Data Privacy Integration, grounding, content filtering, then the model call — and retries down an ordered fallback list whose entries can each carry their own model and rules. It places @sap-ai-sdk/orchestration among the official JavaScript, Java and Python SDKs, and notes SAP's own LiteLLM provider as a way to put a different gateway in front of it.amishkush, published 2026-09-30
How We Make Tabular Predictions in 2026 with TabPFNHow We Make Tabular Predictions in 2026 with TabPFNA Devtoberfest 2026 session, AI-32, on why a table needs a model of its own: a language model reasons its way to a plausible number, while a tabular foundation model takes the table as context in one forward pass and learns from its features statistically. That is predictive models from both ends — a scikit-learn-shaped fit and predict in a notebook over a heart-disease data set, predicted class probabilities and SHAP values for which features drove the outcome, then the same model reached as an MCP tool by a coding agent that is asked which current customers are most likely to churn. The presenter is from the lab that publishes TabPFN; the Q&A puts it beside SAP's own tabular foundation model, which she says she has not used.SAP Developers, published 2026-10-08
SAP-RPT-1.5 Is Now Generally Available: More Accurate Predictions, Better Explainability, What's NewSAP-RPT-1.5 Is Now Generally Available: More Accurate Predictions, Better Explainability, What's NewAnnounces general availability of SAP-RPT-1.5, the next release of SAP's foundation model for predictive models over tabular enterprise data: in-context classification and regression with no training step, now with stronger accuracy on high-cardinality columns, a maximum API batch of 512 rows (up from 128), and an "explain by example" mode that surfaces the historical rows that most influenced a prediction rather than ranking feature importance alone. Two variants ship, a default model and a -large model recommended past 100 columns or where accuracy is the priority, and the post previews a coming "tabular orchestration" workflow, targeted for general availability in August 2026, that is meant to select the relevant context rows from millions of historical records automatically.RanjeetKr, published 2026-08-14
Unlocking Tabular Foundation Models: From Experimentation to ProductionUnlocking Tabular Foundation Models: From Experimentation to ProductionA Devtoberfest 2026 session (AI-41) on taking tabular prediction from a playground to a deployment. It sets tabular foundation models against a model trained per use case and against language models reading rows as text, explains in-context learning as examples plus the rows whose target column is missing, and tries SAP RPT 1.6 on a train-delay dataset in the RPT playground, including the column and row importance it returns with the prediction. The same prediction is then rebuilt on SAP AI Core, where the tabular orchestration service plays the part the orchestration service plays for language models: a data destination, a table artifact with its CSN schema and a scenario configuration registered once at design time, after which a predict call passes only the query rows, the scenario configuration and a context-selection strategy. The last demo runs those same calls in natural language through the aicore-skills plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.SAP Developers, published 2026-10-15
🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and Compliance🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and ComplianceDevtoberfest 2026 session AI-21. A cross product owner on the SAP AI Core team gives the reasons an AI application ends up on more than one model — a model down at the hyperscaler, a data centre that is not allowed to run it, a version being deprecated — and runs a joke app that answers from Gemini 2.5 Flash in EU10 and from Claude 4.5 Haiku in Asia-Pacific. The walk through AI Core's parts is where the edges hold: prompts kept as templates in the prompt registry, imported through the launchpad and the APIs or synced as YAML from a git repository (Prompt management); the evaluation service scoring one prompt across up to four models per run on built-in or model-as-judge metrics, and the prompt optimizer generating variants against one metric (Agent evals); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integration). The session also states where a metric has to be designed rather than picked: an exact-JSON match scores an email generator at zero, so the joke app's custom metric judges topic and family-appropriateness instead.SAP Developers, published 2026-10-01
🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI Natively🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI NativelyDevtoberfest 2026 session AI-11, from the product manager and product owner of Intelligent Scenario Lifecycle Management: ISLM as the place an AI use case is registered, deployed and operated inside an SAP S/4HANA system, and what has been added to it for generative AI. The demo builds a custom scenario end to end — an intelligent scenario of type generative AI, a connection to SAP AI Core, a GPT-5 mini model, an orchestration flow template that configures data masking, input and output filtering and translation into the user's logged-in language, then prompts with a grounding query over five companies' return-policy documents — and consumes it from an ABAP report through the ABAP AI SDK, which calls the orchestration API and returns the summary as JSON. Two newer pieces follow: SAP RPT, the relational pre-trained transformer for tabular prediction, called with context rows and query rows and answering with a confidence value and no training step; and system-triggered agents, where an application job in the ABAP system starts a billing-creation agent that reaches S/4HANA OData APIs as tools through the agent gateway with principal propagation. The closing availability matrix states the generative AI capabilities for on-premise and private cloud from the 2021 release, with SAP notes to implement on lower ones.SAP Developers, published 2026-09-24
CAP in the age of AICAP in the age of AISeven live episodes of Hands-on SAP Dev in which DJ Adams works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp: the @mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA Cloud.published 2026-08-07
CAP in the age of AI #6 - vector embeddingsCAP in the age of AI #6 - vector embeddingsVector embeddings put to work in the incident management sample, answering whether this problem has been seen before. An embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI Core and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA Cloud the function is native, while SQLite needs packages added to the project.published 2026-10-09
CAP in the age of AI #7 - vector embeddings wrap-upCAP in the age of AI #7 - vector embeddings wrap-upThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI Core as a remote source for other embedding models, which a CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.published 2026-10-16
ABAP + MCP: Let AI Do Real Development in Your SAP SystemABAP + MCP: Let AI Do Real Development in Your SAP Systemabap-adt-mcp is an open-source MCP server that gives an AI agent full ABAP development capability over ADT: it searches, reads, edits, activates and unit-tests objects, and runs ATC checks, on a connected S/4HANA Cloud or on-premise system, acting as the signed-in developer. It runs on abap-adt-api, the same REST client Eclipse's own ADT tooling uses, and sits beside SAP's own ADT MCP Server, shipped with ADT for VS Code and Eclipse under a different server key, and marianfoo's abap-docs, a read-only server over the ABAP Keyword Documentation and Clean ABAP. Each destination carries a policy — read-only, allowed packages, denied tables and tools — the server checks before every call, and an optional audit file logs each tool call with its outcome and policy gate.Willian_Saez, published 2026-09-03
Agentic AI & AI AgentsAgentic AI & AI AgentsSAP's target picture for AI agents: Joule as the engagement layer — Joule Work, Joule Assistants, Joule Agents — with custom agents from customers, partners and SAP teams connecting through A2A for agent-to-agent collaboration and MCP for tool connectivity, on the SAP Business AI Platform. It says up front that parts are not generally available yet, in particular bidirectional communication with third-party agents through the Agent Gateway, so it reads as direction with the building blocks named rather than a design to copy today.published 2026-08-27
From APIs to Agent Tools: How MCP Gateway changes what Integration meansFrom APIs to Agent Tools: How MCP Gateway changes what Integration meansThe opening session of the Devtoberfest 2026 integration track, in which two product managers for SAP Integration Suite set out why the suite puts an MCP gateway between agents and backend systems, and then build one. The demo turns an HTTP endpoint and its OpenAPI specification into MCP tools on the integration cell runtime, does the same on top of an existing API-centric integration, and shows the policies tab where authentication through an external provider, quotas, spike arrest and IP filtering sit, plus the trace of the JSON-RPC calls in monitoring and the agent they are earmarked against in analytics. That is where the serve your application over MCP and tool governance edges hold; RFCs and BAPIs as sources are stated as supported, and MCP federation, custom domains and edge integration cell as roadmap.SAP Developers, published 2026-09-23
MCP Servers are the New Z-TablesMCP Servers are the New Z-TablesA single CAP service exposed as three overlapping MCP servers tools, queried by the same prompt nineteen times, returned the same tool every time — evidence, the author argues, that tool selection rests on the resemblance between a prompt and a tool's description rather than on any binding a where-used list could enumerate before retiring it. It contrasts that setup with @cap-js/mcp, which exposes a whole service as three generic tools instead of one per operation, and quotes the adapter's own beta documentation admitting no rate limiting, audit logging, input validation or approval workflow, and no use as a gateway to SAP Application APIs. From there it names four small Tool governance practices it has adopted: an owner recorded in the tool's own metadata, logging every invocation, deprecating inside the description, and exposing fewer tools.published 2026-08-21
Powering Enterprise-Ready Agentic AI with SAP Integration SuitePowering Enterprise-Ready Agentic AI with SAP Integration SuiteA Devtoberfest 2026 session (INT-31) from SAP Integration Suite product management on the MCP gateway. The demo creates an MCP server in a design package from an API already deployed on the tenant, exposes two of its 300-odd resources as tools, attaches authentication and quota policies on a policies tab, and publishes the deployed endpoint as an AI product in Developer Hub of API Management, where an agent subscribes and receives a token, URL, key and secret; the calls then show up in monitoring, in message processing logs and in the analytics dashboard, which is the MCP exposure and the tool governance the edges rest on. Three AI features inside Cloud Integration follow: a content migration agent that converts a PI/PO Java mapping into a Groovy script and generates a second integration flow for its lookup, memory profiling during a flow simulation, and root-cause analysis on a failed message processing log.SAP Developers, published 2026-10-07
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
Named-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationNamed-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationA central BTP application that manages Cloud Integration across subaccounts with client_credentials collapses every user into one technical service principal: target subaccounts' role collections are bypassed and the audit log names a service key instead of a person. The post works through a two-hop exchange — an IAS app-to-app hop, then the target subaccount's XSUAA jwt-bearer hop — that carries the calling user's own identity across the subaccount boundary through a shared Cloud Identity Services tenant, so the target subaccount enforces the user's own role collection and records their identity in the audit log. It walks through the IAS app-dependency setup, the AppRouter and SAP Destination service configuration the exchange needs, and states the pattern applies to any XSUAA-protected service in a separate subaccount, not only Cloud Integration.agnissh, published 2026-08-24
Agentic AI & AI AgentsAgentic AI & AI AgentsSAP's target picture for AI agents: Joule as the engagement layer — Joule Work, Joule Assistants, Joule Agents — with custom agents from customers, partners and SAP teams connecting through A2A for agent-to-agent collaboration and MCP for tool connectivity, on the SAP Business AI Platform. It says up front that parts are not generally available yet, in particular bidirectional communication with third-party agents through the Agent Gateway, so it reads as direction with the building blocks named rather than a design to copy today.published 2026-08-27
Building a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2ABuilding a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2AThe third instalment of a three-part series deploys an already-built CAP service and LangGraph agent to SAP BTP, Cloud Foundry Runtime, wraps the agent in an A2A protocol server, and registers it with SAP Joule through a capability YAML and the @sap/joule-studio-cli, confirming the chain works end to end inside a real Joule assistant. It covers CAP's default JWT/XSUAA authentication in production, what a test deployment needs to get past it, and the cf push, mbt build and environment wiring that run both apps as separate Cloud Foundry containers. A closing section names what stays unfinished by design — a long-lived AI Core service key, no authentication on the BTP destination, no principal propagation — as the gap between this MVP and a production posture.rodfior, published 2026-08-20
Connecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication FlowConnecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication FlowWalks through connecting a custom MCP server to Joule Work Desktop: a Dynamic Client Registration handshake (RFC 7591) followed by an Authorization Code + PKCE flow through the organisation's SSO via XSUAA or IAS, so authentication establishes the human identity that Joule then attaches to every subsequent tool call. That forwarded identity lets the BTP backend apply its existing authorization checks and row-level data filtering instead of a second permission model, and a role change in XSUAA revokes access on the next token refresh.published 2026-08-17
Named-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationNamed-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationA central BTP application that manages Cloud Integration across subaccounts with client_credentials collapses every user into one technical service principal: target subaccounts' role collections are bypassed and the audit log names a service key instead of a person. The post works through a two-hop exchange — an IAS app-to-app hop, then the target subaccount's XSUAA jwt-bearer hop — that carries the calling user's own identity across the subaccount boundary through a shared Cloud Identity Services tenant, so the target subaccount enforces the user's own role collection and records their identity in the audit log. It walks through the IAS app-dependency setup, the AppRouter and SAP Destination service configuration the exchange needs, and states the pattern applies to any XSUAA-protected service in a separate subaccount, not only Cloud Integration.agnissh, published 2026-08-24
SAP Just Became AI-Agent Ready — Here's a Step-by-Step MCP WalkthroughSAP Just Became AI-Agent Ready — Here's a Step-by-Step MCP WalkthroughBuilds an MCP Server on SAP Integration Suite's Integration Cell, in front of a Cloud Integration flow that passes an OData V4 backend through untouched, with three tools generated from an OpenAPI spec. Secures it with OAuth 2.0 on SAP BTP client_credentials against XSUAA, and walks through the scope mismatch — the service key issues ESBMessaging.send, not the server's default API.invoke — that returns 403 until corrected; the finished server is then registered as a tool in Claude Code.published 2026-09-04
BTP - Authorization ObjectBTP - Authorization ObjectWalks through building a classic ABAP authorization object for the ABAP environment — an authorization field, the object itself created in ABAP Development Tools rather than the classic SU21 transaction, and its activities (01 create, 02 change, 03 display, and others) — then wires it into a CDS role's access control with the pfcg_auth aspect on the WHERE condition, which is authorization's ABAP form: CDS access control limiting what a view entity returns to the conditions in a CDS role. The check inherits down to a consumption view and even the Data Preview, and the piece notes the WITH PRIVILEGED ACCESS addition developers use in the SQL console to bypass it while testing.Björn S., published 2026-08-07
BTP - Restriction TypeBTP - Restriction TypeWalks through creating a Restriction Type and Restriction Field for an ABAP RAP authorization object, so the values an IAM app would otherwise fix as static entries can instead be maintained per Business Role in the Fiori Launchpad. Read and Write access on the restriction still follow the activities defined on the authorization object itself (03 for read, 01/02/06 for write), and the piece shows the effect end to end: a Fiori app narrowed to only the business partners assigned on the role. This is the ABAP door's authorization mechanism made dynamic — an access decision moved from the IAM app's fixed values onto the role, without touching the underlying CDS access control.Björn S., published 2026-08-11
Building and Consuming an MCP Server in SAP Integration Suite - Connecting it to Claude and JouleBuilding and Consuming an MCP Server in SAP Integration Suite - Connecting it to Claude and JouleA hands-on walkthrough of building a native MCP server artifact on SAP Integration Suite's Integration Cell runtime: an API artifact built from an OpenAPI 3.0 specification (the author converted the SAP Business Accelerator Hub's Swagger 2.0 OData spec) through API Management policies, with the MCP artifact's own Authorization policy set to the api.invoke scope for Developer Hub credentials or a custom role such as ESBMessaging.send for BTP OAuth credentials. The same server is then wired to Claude as a custom connector over an OAuth redirect, and to a Joule Studio agent through BTP destinations carrying the sap.mcp.tools.enabled property, with three worked agents (CPI monitoring, a SuccessFactors testing flow, IDoc reprocessing) run from both.Padmanathan_Vijayan, published 2026-09-11
Connecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication FlowConnecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication FlowWalks through connecting a custom MCP server to Joule Work Desktop: a Dynamic Client Registration handshake (RFC 7591) followed by an Authorization Code + PKCE flow through the organisation's SSO via XSUAA or IAS, so authentication establishes the human identity that Joule then attaches to every subsequent tool call. That forwarded identity lets the BTP backend apply its existing authorization checks and row-level data filtering instead of a second permission model, and a role change in XSUAA revokes access on the next token refresh.published 2026-08-17
Developing authorizations for business users in SAP Business AI Platform, ABAP environmentDeveloping authorizations for business users in SAP Business AI Platform, ABAP environmentA Devtoberfest 2026 session that walks the places an authorization check has to be written when a RAP business object is implemented, which is the whole of the authorization edge: read restrictions as DCL access controls that become a filter at query time, a child entity inheriting its parent's conditions through an association, the projection layer inheriting rather than changing them, and the same check repeated on the draft side. The ABAP CDS edge holds on that draft half — until 2608 a draft query view was needed above the draft table so a DCL had something to attach to, while a draft table entity is already on CDS level and takes the DCL directly, as long as the associations used in the inherited conditions are redefined on it. Create, update and delete are then taken handler by handler, including the trap that instance authorization reads the buffer and so cannot see the new value a pre-check would reject, and the session closes on in local mode and privileged EML calls.published 2026-10-12
Named-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationNamed-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud IntegrationA central BTP application that manages Cloud Integration across subaccounts with client_credentials collapses every user into one technical service principal: target subaccounts' role collections are bypassed and the audit log names a service key instead of a person. The post works through a two-hop exchange — an IAS app-to-app hop, then the target subaccount's XSUAA jwt-bearer hop — that carries the calling user's own identity across the subaccount boundary through a shared Cloud Identity Services tenant, so the target subaccount enforces the user's own role collection and records their identity in the audit log. It walks through the IAS app-dependency setup, the AppRouter and SAP Destination service configuration the exchange needs, and states the pattern applies to any XSUAA-protected service in a separate subaccount, not only Cloud Integration.agnissh, published 2026-08-24
No-Code MCP Servers with SAP Integration Suite: From REST API to AI AgentNo-Code MCP Servers with SAP Integration Suite: From REST API to AI AgentWalks through turning a deployed API artifact into a no-code MCP server in SAP Integration Suite's MCP Gateway: the API artifact's OpenAPI spec must be version 3.0.0-3.0.3, since Swagger 2.0 is rejected, and its backend is reached through a BTP Destination using OAuth2ClientCredentials so the agent calling the server never sees the backend secret. The API artifact's own Authorization policy sets an OAuth scope and Trust Upstream MCP Authorization, and the gotcha list traces a 403 on a valid token to that policy rather than to authentication, before the finished MCP server is published through Developer Hub and connected to Claude Code.eddiedu, published 2026-09-15
RAP - Feature Control (Part 2)RAP - Feature Control (Part 2)Implements a reusable AUTHORITY-CHECK wrapper class and wires it into a RAP behaviour implementation's Feature Control, both the static global check on Create and the instance-based, partner-scoped checks on Update and Delete, so that an authorization decision greys out an action in the Fiori UI rather than only rejecting it after the save. Part two of the author's Sales App series, it also flags a newer, more strictly typed Feature Control flag SAP introduced since the first article, since using the older type produces a warning and can leave a flag silently without effect.Björn S., published 2026-08-14
Running AI agents against SAP ECC 6.0: lessons from building an in-system MCP serverRunning AI agents against SAP ECC 6.0: lessons from building an in-system MCP serverNicolasHernandez 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.NicolasHernandez, published 2026-08-28
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
🔴 Your Agent Wants to Call SAP. Now What?🔴 Your Agent Wants to Call SAP. Now What?Devtoberfest 2026 session INT-23, on what belongs between an agent and an SAP system. A solution advisor and an enterprise architect point Joule Desktop extensions at MCP servers built on API Management inside SAP Integration Suite, and ask it for business partners, orders and line items from an S/4HANA demo system; asked for the ten largest customers it answers from a sample of 200 orders rather than reading the whole table. They then open the API proxy behind it, where a spike arrest policy caps the backend at ten calls per second and the MCP server is configured to expose only the GET resources of the business-partner API so that an agent cannot create one, which is where the edges to Serve your application over MCP and Rate limiting hold. For totals across all sales orders they send the agent to SAP Business Data Cloud instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.SAP Developers, published 2026-09-30
API Composition: Seamless Enterprise Data Access for Developers and AI AgentsAPI Composition: Seamless Enterprise Data Access for Developers and AI AgentsAPI Composition (formerly Graph, a capability of API Management) curates business data graphs from existing SAP and non-SAP API providers, so a query can navigate and expand relationships across systems through one composed API rather than hand-written integration code. Palak walks through combining SAP S/4HANA warehouse-stock data with Everstream Analytics risk data into one API, then exposing that composed API as an MCP server so an AI agent calls it with the same semantic context — the scenario behind API Management's MCP servers coverage.published 2026-07-27
Create an MCP Server for Enterprise AI AgentsCreate an MCP Server for Enterprise AI AgentsWraps the preceding supply-risk graph from API Composition as an MCP server in Integration Suite, with API Management activated as a prerequisite. The walkthrough selects retrieval tools, deploys on Integration Cell, publishes a product in Developer Hub, creates an agent subscription and invokes the tools in MCP Inspector; its companion tutorial uses mock backends.Shyam, published 2026-09-23
Powering Enterprise-Ready Agentic AI with SAP Integration SuitePowering Enterprise-Ready Agentic AI with SAP Integration SuiteA Devtoberfest 2026 session (INT-31) from SAP Integration Suite product management on the MCP gateway. The demo creates an MCP server in a design package from an API already deployed on the tenant, exposes two of its 300-odd resources as tools, attaches authentication and quota policies on a policies tab, and publishes the deployed endpoint as an AI product in Developer Hub of API Management, where an agent subscribes and receives a token, URL, key and secret; the calls then show up in monitoring, in message processing logs and in the analytics dashboard, which is the MCP exposure and the tool governance the edges rest on. Three AI features inside Cloud Integration follow: a content migration agent that converts a PI/PO Java mapping into a Groovy script and generates a second integration flow for its lookup, memory profiling during a flow simulation, and root-cause analysis on a failed message processing log.SAP Developers, published 2026-10-07
SAP API Management for Beginners – Part 1: What Is APIM & A Complete Features TourSAP API Management for Beginners – Part 1: What Is APIM & A Complete Features TourA features tour of SAP Integration Suite's API Management capability, opening a five-part beginner series: what a governed API proxy adds over calling a backend directly, and a walkthrough of API Providers, Proxy and Target Endpoints, the Policy Editor and Policy Templates, Products, the Developer Hub, and Key Value Maps. It names rate limiting's two complementary policies as APIM implements them: Spike Arrest, which caps requests per second or minute against bursts, and Quota, which caps total calls per day, week or month against overuse.Rudhra, published 2026-08-03
SAP API Management for Beginners – Part 4: OAuth 2.0, KVM, Traffic Policies, Threat Protection&CORSSAP API Management for Beginners – Part 4: OAuth 2.0, KVM, Traffic Policies, Threat Protection&CORSPart 4 of a five-part beginner series on API Management within SAP Integration Suite builds out a Northwind proxy's policy set: an OAuth 2.0 token server assembled from API Management's own OAuthV2 policy, a Key Value Map for backend credentials, JSON Threat Protection and CORS headers. It places Spike Arrest and Quota on the ProxyEndpoint PreFlow, each with its policy XML and a Postman test, distinguishing per-second burst throttling from a daily call cap read from the API Product's own limit.Rudhra, published 2026-08-24
050: Clean Core Measurement (Preview)050: Clean Core Measurement (Preview)Walks through Clean Core Measurement (CCM), an open-source tool for tracking ABAP Cloud readiness across a system landscape: a dashboard showing Cloud Ready and Upgrade Stable status and a Technical Debt Score per system, runs recorded under administration, and a process area where custom APIs not released by SAP can be documented and excluded from the score. Reporting breaks the score down to individual objects, the unreleased APIs behind them, and which team or product cluster carries the most outstanding work.Björn S., published 2026-08-03
CCM - Calculate Key FiguresCCM - Calculate Key FiguresExplains how the Clean Core Measurement (CCM) project turns ABAP Test Cockpit findings into the Technical Debt Score shown on its Clean Core Dashboard: messages from the ABAP_CLEAN_CORE_READINESS check are weighted by severity level (B/C/D) and summed per object, while the object's overall classification follows its highest message level rather than the point total. Covers where the calculation can be tuned — configurable weights, an exemption process, and additional metrics for documented but unreleased API use — and how the resulting score and classification drive the object list and per-object processing views.Björn S., published 2026-08-05
How to Build Application Jobs in SAP Business AI Platform, ABAP environmentHow to Build Application Jobs in SAP Business AI Platform, ABAP environmentA 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.published 2026-09-28
SAP BAIP, ABAP environment – How to build partner solutions and get them certifiedSAP BAIP, ABAP environment – How to build partner solutions and get them certifiedA 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.SAP Developers, published 2026-10-12
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
Building a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2ABuilding a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2AThe third instalment of a three-part series deploys an already-built CAP service and LangGraph agent to SAP BTP, Cloud Foundry Runtime, wraps the agent in an A2A protocol server, and registers it with SAP Joule through a capability YAML and the @sap/joule-studio-cli, confirming the chain works end to end inside a real Joule assistant. It covers CAP's default JWT/XSUAA authentication in production, what a test deployment needs to get past it, and the cf push, mbt build and environment wiring that run both apps as separate Cloud Foundry containers. A closing section names what stays unfinished by design — a long-lived AI Core service key, no authentication on the BTP destination, no principal propagation — as the gap between this MVP and a production posture.rodfior, published 2026-08-20
Scheduling a Background Job for the BDC Session Method Using RSBDCSUBScheduling a Background Job for the BDC Session Method Using RSBDCSUBWalks through uploading data with GUI_UPLOAD, building a BDC session with BDC_OPEN_GROUP, BDC_INSERT and BDC_CLOSE_GROUP, then scheduling the standard program RSBDCSUB as a background job with JOB_OPEN, SUBMIT ... VIA JOB and JOB_CLOSE so the session processes without manual SM35 intervention. Shows the resulting job's status and spool read back through SM37, the way a reader confirms afterwards that a scheduled job actually ran.Saikrishna_reddy, published 2026-07-29
Capturing Background Job Errors in SAP Using the Application Log (SLG0/SLG1)Capturing Background Job Errors in SAP Using the Application Log (SLG0/SLG1)Walks through ABAP's Application Log framework for recording errors from a background job that has no screen to show them on: defining an Object and Sub-object in SLG0, then building the log in code with BAL_LOG_CREATE, adding a free-text or message-class entry with BAL_LOG_MSG_ADD_FREE_TEXT or BAL_LOG_MSG_ADD, and persisting it with BAL_DB_SAVE so it survives after the job finishes. The worked example is a report inserting student records into a custom table, scheduled via SM36 and reviewed afterwards in SLG1, filtered by the Object and Sub-object that created it.bhuvaneswarg, published 2026-08-26
Custom Business Logic Extensibility in CAP (CDS-Oyster)Custom Business Logic Extensibility in CAP (CDS-Oyster)A Devtoberfest 2026 session walking @sap/cds-oyster — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravels, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibility extended from fields to logic.published 2026-10-09
CAP in the age of AI #5 - agents wrap-upCAP in the age of AI #5 - agents wrap-upThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that @agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravels sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.published 2026-10-02
Custom Business Logic Extensibility in CAP (CDS-Oyster)Custom Business Logic Extensibility in CAP (CDS-Oyster)A Devtoberfest 2026 session walking @sap/cds-oyster — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravels, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibility extended from fields to logic.published 2026-10-09
Agentic Loop with Joule for Developers and ADT MCP ServerAgentic Loop with Joule for Developers and ADT MCP ServerA Devtoberfest 2026 session from SAP's ABAP AI team that generates a RAP issue-tracker application by prompting a coding agent. It covers what SAP Joule for Developers, ABAP AI capabilities now ships as MCP tools and which assistants can reach an ABAP system's virtual filesystem, then does the setup twice: turning on the ADT MCP Server and pasting the Joule side-by-side tenant link in ABAP Development Tools for VS Code, and again in ABAP Development Tools for Eclipse, where the custom agent becomes custom instructions. The demo's subject is the guardrails around the loop — an agent.md of phases and human checkpoints, skill files cloned from a GitHub repository for naming, ATC compliance and UI annotations — run through GitHub Copilot until the generated objects are activated, unit-tested and in a transport.SAP Developers, published 2026-09-28
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceUI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceA Devtoberfest 2026 session on @ui5-community/jsx-runtime, the incubation project that lets a UI5 view be written as TSX: XML-like markup that the TypeScript compiler checks against the control's own types and a Babel plugin turns into the constructor calls UI5 already makes. The edge to the runtime rests on the session's own description, which gives the project's documentation site as the session's documentation. The TypeScript support edge holds because that is the session's subject — per-property checking, completion on every attribute, renames that carry through a view, and typed event objects that remove the casts — alongside what stays unchanged: string and expression bindings, controllers, routing and i18n, and XML views living beside TSX ones in the same app. The build edge rests on the setup, where ui5-tooling-transpile is given the JSX transform in ui5.yaml; the walkthrough then builds a bookshop app on a CAP OData service and names what is still missing, UI flexibility and native HTML among it.published 2026-10-09
ABAP - Create dumpABAP - Create dumpShows how to terminate an ABAP program on purpose with RAISE SHORTDUMP — from a freshly created exception instance, or one already caught in a TRY/CATCH where continuing no longer makes sense — so a hard-to-diagnose failure leaves a dump behind instead of running on silently. The second half reads that dump back in ABAP Development Tools for Eclipse: the Feed Reader notification, the compressed view against the classic ST22-style view, and sections such as Active Calls and Source Code Extract, the same ADT troubleshooting path debugging places alongside the ABAP Debugger for ABAP Cloud.Björn S., published 2026-09-11
ABAP + MCP: Let AI Do Real Development in Your SAP SystemABAP + MCP: Let AI Do Real Development in Your SAP Systemabap-adt-mcp is an open-source MCP server that gives an AI agent full ABAP development capability over ADT: it searches, reads, edits, activates and unit-tests objects, and runs ATC checks, on a connected S/4HANA Cloud or on-premise system, acting as the signed-in developer. It runs on abap-adt-api, the same REST client Eclipse's own ADT tooling uses, and sits beside SAP's own ADT MCP Server, shipped with ADT for VS Code and Eclipse under a different server key, and marianfoo's abap-docs, a read-only server over the ABAP Keyword Documentation and Clean ABAP. Each destination carries a policy — read-only, allowed packages, denied tables and tools — the server checks before every call, and an optional audit file logs each tool call with its outcome and policy gate.Willian_Saez, published 2026-09-03
ABAP Development Tools for VS CodeABAP Development Tools for VS CodeA 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.published 2026-09-28
Agentic Loop with Joule for Developers and ADT MCP ServerAgentic Loop with Joule for Developers and ADT MCP ServerA Devtoberfest 2026 session from SAP's ABAP AI team that generates a RAP issue-tracker application by prompting a coding agent. It covers what SAP Joule for Developers, ABAP AI capabilities now ships as MCP tools and which assistants can reach an ABAP system's virtual filesystem, then does the setup twice: turning on the ADT MCP Server and pasting the Joule side-by-side tenant link in ABAP Development Tools for VS Code, and again in ABAP Development Tools for Eclipse, where the custom agent becomes custom instructions. The demo's subject is the guardrails around the loop — an agent.md of phases and human checkpoints, skill files cloned from a GitHub repository for naming, ATC compliance and UI annotations — run through GitHub Copilot until the generated objects are activated, unit-tested and in a transport.SAP Developers, published 2026-09-28
Intelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS CodeIntelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS CodeA Devtoberfest 2026 session (UI-33) that builds a RAP service and the SAP Fiori elements app over it from one VS Code workspace, with a coding agent driving two of SAP's MCP servers. The ABAP Development Tools for VS Code edges hold on the demo itself: its virtual file system keeps the ABAP package beside the Fiori project, the ADT MCP Server inside it creates, changes and activates the ABAP objects, and a version not yet released publishes the service binding from the agent instead of by hand. The @sap-ux/fiori-mcp-server edge covers its generators and the three-step workflow it uses for changes — list the functionality available for the application, ask for its JSON schema, then execute it — and the agent guidance edge rests on the skills the Fiori team publishes beside it, on the session's account of what a skill adds that a server does not, and on the analytical chart demo where a skill orchestrates both servers in one task.SAP Developers, published 2026-10-09
The ECC-to-CAP Starter KitThe ECC-to-CAP Starter KitA Devtoberfest 2026 session that builds a CAP service and a Fiori elements list report over an SAP ECC gateway service, on the argument that the CAP project, its contract and its UI survive a later move to SAP S/4HANA while the APIs behind them change. The service integration edge is the body of the demo: the metadata of the ECC flight service is saved as an EDMX file, imported with cds import so the model holds the structure and none of the data, projected read-only into a flight service, and one line of handler code forwards each read to ECC, with filtering, sorting and paging translated down to the older OData version the system speaks. The SAP Destination service edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application Studio edge covers the full-stack dev space, the CAP project wizard, the service center plugin for picking up another OData service, and cds watch run under the profile that uses those credentials.published 2026-10-09
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANABuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy .search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA Cloud hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.neilaspin, published 2026-07-28
CAP in the age of AI #7 - vector embeddings wrap-upCAP in the age of AI #7 - vector embeddings wrap-upThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI Core as a remote source for other embedding models, which a CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.published 2026-10-16
DRY CAP – Making Sustainable Solutions Through PluginsDRY CAP – Making Sustainable Solutions Through PluginsA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoring.SAP Developers, published 2026-10-02
What's in Daniel Hutzel's brain?What's in Daniel Hutzel's brain?A Devtoberfest 2026 session in the building-apps track, in which Daniel Hutzel and DJ Adams work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCP, Agent tooling and Agent guidance come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoring.published 2026-10-02
News from Custom Code Migration: ECC to SAP S/4HANA Powered by Agentic AINews from Custom Code Migration: ECC to SAP S/4HANA Powered by Agentic AIA Devtoberfest 2026 session (ABA-23) on what SAP has added to the ECC to SAP S/4HANA custom code migration tools, demonstrated across a live ECC and an S/4HANA system. The first half stays deterministic and explains static analysis in that process: the custom code migration app's scoping over ABAP test cockpit findings, an explain of a legacy report and of an S/4HANA simplification finding, and transferable quick fixes exported from the app and applied on the ECC system through the SAP GUI ATC transaction before conversion. The second half runs the S/4HANA custom code migration agent in ABAP Development Tools for Eclipse: GitHub Copilot drives the ADT MCP Server's ATC and quick-fix tools in a loop, SAP Joule for Developers, ABAP AI capabilities produces the AI code proposals behind it, and only the high-confidence ones are written into the code, the rest left as comments in one transport request.published 2026-09-28
SAP BAIP, ABAP environment – How to build partner solutions and get them certifiedSAP BAIP, ABAP environment – How to build partner solutions and get them certifiedA 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.SAP Developers, published 2026-10-12
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceUI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceA Devtoberfest 2026 session on @ui5-community/jsx-runtime, the incubation project that lets a UI5 view be written as TSX: XML-like markup that the TypeScript compiler checks against the control's own types and a Babel plugin turns into the constructor calls UI5 already makes. The edge to the runtime rests on the session's own description, which gives the project's documentation site as the session's documentation. The TypeScript support edge holds because that is the session's subject — per-property checking, completion on every attribute, renames that carry through a view, and typed event objects that remove the casts — alongside what stays unchanged: string and expression bindings, controllers, routing and i18n, and XML views living beside TSX ones in the same app. The build edge rests on the setup, where ui5-tooling-transpile is given the JSX transform in ui5.yaml; the walkthrough then builds a bookshop app on a CAP OData service and names what is still missing, UI flexibility and native HTML among it.published 2026-10-09
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
What's new with draft handling in RAP?What's new with draft handling in RAP?An ABAP-day session at Devtoberfest 2026 on two additions to draft handling in RAP: collaborative draft, where two users work on the same draft instance and a field is locked only while the other is in it, and draft scope, where editing an instance of one draft-enabled business object puts the related instances of a dependent one into draft as well. Andre Fischer shows what each costs in the behaviour definition and projection, the draft query view and its DCL that collaborative draft needs over a table-based business object, and the CDS table entities that remove both the draft query view and the persistence table, with their current restrictions in ABAP analytics and extensibility; the from-scratch generator in ADT grows a checkbox for them. Both demos run against the DMO flight scenario of SAP-samples/abap-platform-refscen-flight, and the last part hides the draft-related features of an OData V4 app in its manifest, which the session gives as the reason a simple create-update-delete app no longer needs a V2 service binding.published 2026-09-21
052: 10 Minutes from Start to Launchpad052: 10 Minutes from Start to LaunchpadWalks a RAP application from a root CDS view entity through a consumption projection and its associations to a metadata extension: a facet per field group, a hidden field via UI.hidden, and a selection field on the ABAP package, all in a Customer-layer DDLX source read by the generated Fiori elements app. It then covers the parts ABAP CDS modelling and annotation stop short of — service definition and binding, generating the UI in Business Application Studio, and wiring the deployed app into the Fiori Launchpad through an IAM App and business catalog.Björn S., published 2026-09-07
A Guide to CDS Metadata Extensions, Fiori App Generation and SAP UI5 Controller ExtensionsA Guide to CDS Metadata Extensions, Fiori App Generation and SAP UI5 Controller ExtensionsWalks through a RAP-based Fiori elements app end to end: layering UI annotations onto a CDS view through a separate ABAP metadata extension object, gated by @Metadata.allowExtensions on the base view and ordered across extensions by a required @Metadata.layer value. Generates the app in SAP Business Application Studio from the published OData V4 service's merged $metadata document, then adds an SAP UI5 controller extension — registered in manifest.json against a Fiori elements lifecycle hook — only for behaviour the annotations cannot express.ankitapaul229, published 2026-07-27
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
CAP in the age of AI #6 - vector embeddingsCAP in the age of AI #6 - vector embeddingsVector embeddings put to work in the incident management sample, answering whether this problem has been seen before. An embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI Core and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA Cloud the function is native, while SQLite needs packages added to the project.published 2026-10-09
RAP - Navigation (App to App)RAP - Navigation (App to App)Walks through app-to-app navigation from a RAP list report and object page: the @Consumption.semanticObject annotation and its semanticObjectMapping.element and additionalBinding variants for links, against the inline @UI.lineItem WITH_INTENT_BASED_NAVIGATION and @UI.identification FOR_INTENT_BASED_NAVIGATION for buttons. Each variant is added through a CDS metadata extension and traced into the target app, showing which fields end up in the filter and how the two annotation styles differ in the list report's formatting. Annotation-driven navigation on a RAP service is part of what Fiori annotations covers on the ABAP door: CDS annotations, carried in a metadata extension, driving the Fiori elements UI.Björn S., published 2026-09-01
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPFrom Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundary holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocket.SAP Developers, published 2026-10-09
Agentic UI Extensibility: The Next Chapter of SAPUI5 FlexibilityAgentic UI Extensibility: The Next Chapter of SAPUI5 FlexibilityA Devtoberfest 2026 session on SAPUI5 flexibility: a recap of key-user adaptation as deltas that survive an upgrade, then a lab preview in which Joule works through a pasted list of adaptation requests inside the key-user tooling — moving a section, adding one through embedded content, saving and activating a version — and writes a handover prompt when a request is outside what a key user may change. The developer half pastes that prompt into VS Code, where a coding agent generates an adaptation project through MCP tools, picks up the key-user changes already made, reads the base application's metadata and the UI5 documentation, writes the XML fragments and controller extensions for a new table column and a supplier dialogue, and restarts the editor to verify both appear. The agentic parts are unreleased; what the session shows as already available is the adaptation project for Cloud Foundry in VS Code, role-specific adaptation on Cloud Foundry from SAPUI5 1.146, views in variant management loaded when the manage-views dialogue opens rather than at startup, and the redesigned key-user adaptation mode with its change highlighting and version dialogue.SAP Developers, published 2026-10-16
Building Agentic Workflows with n8n in Joule StudioBuilding Agentic Workflows with n8n in Joule StudioA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule Studio, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task Center, and SAP AI Core is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.SAP Developers, published 2026-10-08
Bringing SAP themes to any web app with coding agentsBringing SAP themes to any web app with coding agentsA Devtoberfest 2026 session from SAP's UI theme designer team, in two halves. The first is how an SAP theme is built: seven reference tokens, the main tokens that carry the semantics, component tokens such as the emphasized button background, and derived tokens for states like hover — the inheritance chain that makes theming hard to follow by eye, and the reason a custom theme always derives from an SAP base theme. The second installs SAP/ui-theme-designer-plugins-for-coding-agents in Claude Code and has it apply SAP design tokens to a login screen built with a non-SAP component library, then make the page themeable from a theme root and a theme URL parameter; the design-tokens skill npm-installs the theming content to read current parameter values, and the help skill fetches the UI theme designer help pages at query time. The presenters state the skills are not limited to SAPUI5 and run in any coding agent that reads skills.SAP Developers, published 2026-09-25
How Have SAP Customers Adopted n8nHow Have SAP Customers Adopted n8nA Devtoberfest 2026 session on what SAP customers are building with the standalone edition of n8n, from a partner who maintains an SAP OData node for it: use cases across purchase-to-pay, sales, finance and IT service, two live workflows, and the rules he works to — released SAP APIs only, no LLM in the decision path, exceptions to a person. The tool-choice half is where the edges hold: SAP Integration Suite is placed as the job for governed, high-volume system-to-system integration, and its MCP server is what the agent in the second demo reads SAP data through, while process automation is the concern the session sorts between document intake, approvals and the bot inventory that stays with RPA. The first demo is an order-confirmation check that reads a PDF, compares the lines against the purchase order over OData, asks a person, then writes the confirmation back.SAP Developers, published 2026-10-08
051: ABAP Cleaner in VS Code - Installation and Guide051: ABAP Cleaner in VS Code - Installation and GuideWalks through installing ABAP Cleaner inside ABAP Development Tools for VS Code and setting it as the default formatter in place of ADT's Pretty Printer, then using its interactive rule view to compare unformatted and cleaned code and configure which rules run, at class, component or method scope. A worked example applies Clean ABAP rules to one method: removing a redundant me-> self-reference and an unneeded EXPORTING keyword, and restructuring a CHECK statement that the styleguide disallows once other statements precede it.Björn S., published 2026-08-17
ABAP + MCP: Let AI Do Real Development in Your SAP SystemABAP + MCP: Let AI Do Real Development in Your SAP Systemabap-adt-mcp is an open-source MCP server that gives an AI agent full ABAP development capability over ADT: it searches, reads, edits, activates and unit-tests objects, and runs ATC checks, on a connected S/4HANA Cloud or on-premise system, acting as the signed-in developer. It runs on abap-adt-api, the same REST client Eclipse's own ADT tooling uses, and sits beside SAP's own ADT MCP Server, shipped with ADT for VS Code and Eclipse under a different server key, and marianfoo's abap-docs, a read-only server over the ABAP Keyword Documentation and Clean ABAP. Each destination carries a policy — read-only, allowed packages, denied tables and tools — the server checks before every call, and an optional audit file logs each tool call with its outcome and policy gate.Willian_Saez, published 2026-09-03
AI-assisted SAP development with MCPAI-assisted SAP development with MCPA Devtoberfest 2026 session (UI-41) that traces AI-assisted SAP development from pasting code into a chat window to coding agents with built-in connectors, and sorts the MCP servers around SAP development into SAP's own, the community's and the hosted ones, where the agent cannot change what the server allows. Four demos follow: GitHub Copilot alone explaining an ABAP report from a Git repository, @ui5/mcp-server reading an OpenUI5 sample app and converting it to TypeScript, mcp-sap-docs grounding Terraform files for a BTP subaccount the presenter had not written before, and arc-1 with Copilot in Eclipse tracing why a title longer than 40 characters is rejected and proposing the DDIC-allowed length instead. It ends on a skill that migrates an SAP Gateway project on an ECC system to RAP on S/4HANA step by step, and on a rule Marian Zeis gives for servers written for internal use: keep them read-only, because what the agent is short of is context.published 2026-10-16
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsBring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA Cloud and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCP answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI Core for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.SAP Developers, published 2026-09-25
Under no capability
Build a Supply Risk API with API CompositionBuild a Supply Risk API with API CompositionBuilds a supply-risk Business Data Graph with API Composition from four publicly hosted mock APIs. The walkthrough joins plant, address-risk and material-stock entities, tests an expanded OData query and exports the URL/OpenAPI specification for the following MCP tutorial.Shyam, published 2026-09-23